Ecwid Ecommerce Shopping Cart - Version 6.9.2

Version Description

  • Apr 06, 2020 =
  • Integration with the RankMath SEO plugin. The RankMath plugin is a tool to set SEO meta tags on site pages and to generate a sitemaps. It conflicted with the Ecwid SEO functions: SEO tags and sitemaps generated by Ecwid did not work well with those generated by RankMath. Its now fixed so if you use the plugin, everything should work fine and Google will index your products pages properly.
  • Improved compatibility with WPBakery editor and UrbanGo Listing theme.
  • Improvements for the "Import from WooCommerce" tool.
Download this release

Release Info

Developer Ecwid
Plugin Icon 128x128 Ecwid Ecommerce Shopping Cart
Version 6.9.2
Comparing to
See all releases

Code changes from version 6.8.11 to 6.9.2

Files changed (82) hide show
  1. css/admin.css +35 -1
  2. css/frontend.css +11 -0
  3. css/gutenberg/blocks.editor.build.css +1 -2
  4. css/landing.css +0 -1331
  5. css/page-editor.css +34 -36
  6. css/themes/jevelin3.css +6 -0
  7. css/themes/newstore.css +3 -0
  8. css/welcome-page.css +5 -0
  9. ecwid-shopping-cart.php +126 -118
  10. images/admin-storefront/customize-promo.png +0 -0
  11. images/admin-storefront/icons/add-another-page.svg +12 -0
  12. images/admin-storefront/icons/add-page-to-menu.svg +12 -0
  13. images/admin-storefront/icons/cart-checkout.svg +12 -0
  14. images/admin-storefront/icons/category.svg +9 -0
  15. images/admin-storefront/icons/choose-main-page.svg +15 -0
  16. images/admin-storefront/icons/customize-page-link.svg +7 -0
  17. images/admin-storefront/icons/feature-sidebar.svg +13 -0
  18. images/admin-storefront/icons/product.svg +11 -0
  19. images/admin-storefront/icons/search-filters.svg +7 -0
  20. images/admin-storefront/icons/show-shopping-cart-icon.svg +16 -0
  21. images/admin-storefront/icons/site-appearance.svg +12 -0
  22. images/admin-storefront/icons/site-content.svg +13 -0
  23. images/admin-storefront/icons/store-on-home-page.svg +13 -0
  24. images/admin-storefront/store-create.png +0 -0
  25. images/admin-storefront/store-default.png +0 -0
  26. images/admin-storefront/store-draft.png +0 -0
  27. images/ec-logo.svg +1 -0
  28. images/welcome.png +0 -0
  29. includes/class-ecwid-admin-main-page.php +29 -12
  30. includes/class-ecwid-admin-storefront-page.php +549 -0
  31. includes/class-ecwid-admin-ui-framework.php +70 -0
  32. includes/class-ecwid-admin.php +158 -27
  33. includes/class-ecwid-ajax-defer-renderer.php +6 -2
  34. includes/class-ecwid-message-manager.php +4 -1
  35. includes/class-ecwid-oauth.php +0 -1
  36. includes/class-ecwid-popup-deactivate.php +1 -2
  37. includes/class-ecwid-seo-links.php +11 -12
  38. includes/class-ecwid-static-page.php +14 -1
  39. includes/class-ecwid-store-page.php +80 -11
  40. includes/class-ecwid-wp-dashboard-feed.php +5 -0
  41. includes/faq_entries.php +1 -1
  42. includes/gutenberg/class-ecwid-gutenberg-block-store.php +22 -21
  43. includes/importer/class-ecwid-import-page.php +2 -1
  44. includes/importer/class-ecwid-importer.php +7 -0
  45. includes/importer/task/class-ecwid-importer-task-create-product.php +7 -1
  46. includes/integrations/class-ecwid-integration-autoptimize.php +0 -10
  47. includes/integrations/class-ecwid-integration-gutenberg.php +0 -2
  48. includes/integrations/class-ecwid-integration-rank-math.php +100 -0
  49. includes/integrations/class-ecwid-integration-urbango.php +30 -0
  50. includes/integrations/class-ecwid-integration-wpbakery-composer.php +11 -0
  51. includes/integrations/class-ecwid-integration-wpml.php +19 -0
  52. includes/shortcodes/class-ecwid-shortcode-productbrowser.php +35 -2
  53. includes/themes.php +3 -1
  54. includes/widgets/class-ecwid-widget-badge.php +1 -1
  55. js/admin-menu.js +56 -21
  56. js/admin-storefront.js +212 -0
  57. js/admin.js +3 -2
  58. js/frontend.js +3 -0
  59. js/gutenberg/blocks.build.js +1 -1
  60. js/landing.js +0 -50
  61. js/welcome-page.js +30 -0
  62. lib/ecwid_api_v3.php +9 -2
  63. readme.txt +31 -6
  64. templates/admin-params.php +45 -30
  65. templates/admin/landing.tpl.php +0 -172
  66. templates/admin/simple-connect.tpl.php +0 -60
  67. templates/admin/simple-dashboard.php +1 -1
  68. templates/admin/simple-reconnect.tpl.php +0 -54
  69. templates/admin/storefront/area-additional.php +255 -0
  70. templates/admin/storefront/area-design.php +70 -0
  71. templates/admin/storefront/area-navigation.php +229 -0
  72. templates/admin/storefront/area-promo.php +40 -0
  73. templates/admin/storefront/area-status.php +139 -0
  74. templates/admin/storefront/draft-message.php +3 -0
  75. templates/admin/storefront/main.php +45 -0
  76. templates/admin/welcome-connect.php +45 -0
  77. templates/admin/welcome-create.php +16 -0
  78. templates/admin/welcome-no_oauth.php +15 -0
  79. templates/admin/welcome-page.php +68 -0
  80. templates/advanced-settings.php +21 -151
  81. templates/ecwid-admin.php +14 -0
  82. templates/importer/woo-main.tpl.php +0 -11
css/admin.css CHANGED
@@ -790,4 +790,38 @@ body[class*="_page_ecwid"] .ecwid-message {
790
  @keyframes progress-rotation {
791
  0% {transform:rotate(0deg);}
792
  100% {transform:rotate(360deg);}
793
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
790
  @keyframes progress-rotation {
791
  0% {transform:rotate(0deg);}
792
  100% {transform:rotate(360deg);}
793
+ }
794
+
795
+ /* Storefront page */
796
+ .settings-page input[type=checkbox]:disabled:before {
797
+ content: '';
798
+ }
799
+
800
+ .settings-page input[type=text] {
801
+ min-height: unset;
802
+ box-shadow: unset;
803
+ }
804
+
805
+ .settings-page input[type=text]:focus, .settings-page select:focus, .settings-page a:focus {
806
+ border-color: unset;
807
+ box-shadow: unset;
808
+ outline: unset;
809
+ }
810
+
811
+ .settings-page .field__error {
812
+ display: none;
813
+ }
814
+
815
+ .settings-page .has-error .field__error {
816
+ display: block;
817
+ }
818
+
819
+ .settings-page .list-dropdown-scroll {
820
+ overflow-y: auto;
821
+ max-height: 250px;
822
+ }
823
+
824
+ .settings-page[data-ec-storefront-status="publish"] [data-ec-state]:not([data-ec-state*="publish"]) { display: none; }
825
+ .settings-page[data-ec-storefront-status="draft"] [data-ec-state]:not([data-ec-state*="draft"]) { display: none; }
826
+ .settings-page[data-ec-storefront-status="demo"] [data-ec-state]:not([data-ec-state*="demo"]) { display: none; }
827
+ .settings-page[data-ec-storefront-status="no-pages"] [data-ec-state]:not([data-ec-state*="no-pages"]) { display: none; }
css/frontend.css CHANGED
@@ -82,6 +82,17 @@ html#ecwid_html body#ecwid_body .ecwid.ecwid-SingleProduct-v2.ecwid-random-produ
82
  #dynamic-ec-store {
83
  width: 100%;
84
  }
 
 
 
85
  .hide-ec-dynamic-placeholder .ecwid-shopping-cart-product-browser {
86
  display: none;
87
  }
 
 
 
 
 
 
 
 
82
  #dynamic-ec-store {
83
  width: 100%;
84
  }
85
+ .hide-ec-dynamic-placeholder {
86
+ margin-bottom: 0 !important;
87
+ }
88
  .hide-ec-dynamic-placeholder .ecwid-shopping-cart-product-browser {
89
  display: none;
90
  }
91
+
92
+ .ec-demo-notice {
93
+ text-align: center;
94
+ }
95
+
96
+ .ec-demo-notice .ec-notice__wrap {
97
+ background-color:#fcf5e8 !important;
98
+ }
css/gutenberg/blocks.editor.build.css CHANGED
@@ -1,4 +1,4 @@
1
- .components-toolbar__control.components-button:not(:disabled).is-active>svg rect{fill:white}.components-toolbar__control.components-button.ecwid-toolbar-icon>svg{padding:0}.ecwid-store-block-icon{background:url("../images/wordpress_20x20.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ecwid-store-block{position:relative}.ecwid-store-block-button{font-family:Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;position:relative;top:135px;font-size:14px}.ecwid-product-block-icon{background:url("../images/gutenberg-block-product.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ecwid-block{text-align:center;font-size:13px;font-family:'Open Sans';padding:1em;background-color:#f8f9f9;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:220px}.ecwid-block>div{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.ecwid-block .ecwid-block-header{font-weight:600;margin-bottom:1em}.ecwid-block .ecwid-block-header svg{max-height:20px;margin-right:1ch}.ecwid-block .ecwid-store-block-icon,.ecwid-block .ecwid-product-block-icon{margin-right:10px}.ecwid-block .ecwid-block-image{height:90px;background-repeat:no-repeat;background-size:contain;background-position:50% 50%}.ecwid-block .ecwid-block-image img{width:auto;max-height:100%;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,0.2);box-shadow:0 2px 4px 0 rgba(0,0,0,0.2)}.ecwid-block .ecwid-block-title{margin-top:11px;margin-bottom:1em}.ecwid-block .ecwid-block-button{font-weight:400}.ecwid-selected-product{font-family:Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif}.ecwid-selected-product>div{display:table-cell}.ecwid-selected-product .ecwid-selected-product-image img{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);box-shadow:0 2px 5px 0 rgba(0,0,0,0.1)}.ecwid-selected-product .ecwid-selected-product-image{padding-right:25px;vertical-align:top}.ecwid-selected-product .ecwid-selected-product-details{vertical-align:middle}.ecwid-selected-product .ecwid-selected-product-name{font-size:20px;font-weight:600;margin-bottom:0.5em}.ecwid-selected-product .ecwid-selected-product-sku{font-size:16px;margin-bottom:1em}.media-frame-content.has-selected-product form,.media-frame-content.has-selected-product .products,.media-frame-content.has-selected-product .tablenav{display:none}#ecwid-product-popup-content .media-frame-content.ecwid-selected-product{padding-left:20px;padding-top:40px}.ecwid-store-block-icon{background:url("../images/wordpress_20x20.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ecwid-store-block{position:relative}.ecwid-store-block-button{font-family:Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;position:relative;top:135px;font-size:14px}.ecwid-product-block-icon{background:url("../../images/gutenberg-block-product.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ec-store-block{text-align:center;font-size:13px;font-family:'Open Sans';padding:1em;background-color:#f8f9f9;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:220px}.ec-store-block-product{background:none;display:inline-block}.ec-store-block-product svg{margin:auto}.ec-store-product-title{font-weight:600;font-size:14px;color:#555;margin-top:5px}.ec-store-block>div{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.ec-store-block .ec-store-block-header{font-weight:600;margin-bottom:1em;line-height:24px}.ec-store-block .ec-store-block-header svg{max-height:24px;margin-right:1ch}.ec-store-block .ec-store-store-block-icon,.ec-store-block .ec-store-product-block-icon{margin-right:10px}.ec-store-block .ec-store-block-image{height:90px;background-repeat:no-repeat;background-size:contain;background-position:50% 50%}.ec-store-block .ec-store-block-image img{width:auto;max-height:100%;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);-o-object-fit:cover;object-fit:cover}.ec-store-block-product .ec-store-block-image,.ec-store-block-product .ec-store-block-product-preview{height:180px;min-width:180px}.ec-store-block-product .ec-store-block-product-preview{border:1px solid rgba(145,151,162,0.25)}.ec-store-block-minicart{min-height:180px;min-width:180px;display:inline-block;background:none;position:relative}.ec-store-block-minicart .image{background:url("../../images/gutenberg/minicart-widget-preview.png") 50% 50% no-repeat;background-size:50%;position:absolute;left:0;top:0;right:0;bottom:0}.ec-store-block .ec-store-block-title{margin-top:11px;margin-bottom:1em}.ec-store-block .ec-store-block-button{font-weight:400;margin-top:11px}.ec-store-block>.ec-store-products{display:block}.ec-store-products>div{width:130px;height:130px;margin:15px;display:-ms-inline-flexbox;display:inline-flex;border:1px solid #e2e4e7;background-size:100% 100%}.ec-store-product1{background:url("../../images/gutenberg/store1.png")}.ec-store-product2{background:url("../../images/gutenberg/store2.png")}.ec-store-product3{background:url("../../images/gutenberg/store3.png")}.ec-store-product4{background:url("../../images/gutenberg/store4.png")}.ec-store-product5{background:url("../../images/gutenberg/store5.png")}.ec-store-product6{background:url("../../images/gutenberg/store6.png")}.ec-store-color-picker .component-color-indicator{vertical-align:text-bottom}.ec-store-color-picker .components-color-palette{margin-top:.6rem}.ec-store-inspector-subheader-row{margin-bottom:20px}.ec-store-inspector-row{-ms-flex-pack:justify;justify-content:space-between;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.ec-store-inspector-row label,.ec-store-inspector-row button{display:block}.ec-store-inspector-subheader{color:#191e23;font-weight:600;cursor:default}.ec-store-inspector-row{margin:15px 0}.ec-store-inspector-select{max-width:100%}.ec-store-generic-block>div{display:block}.ec-store-block .ec-store-block-header{font-weight:600;margin-bottom:1em;line-height:24px;display:-ms-flexbox;display:flex}.ec-store-block .ec-store-block-header svg{max-height:24px;margin-right:1ch}
2
  .wp-block-cgb-block-my-block2{background:#bada55;border:0.2rem solid #292929;color:#292929;margin:0 auto;max-width:740px;padding:2rem}
3
  .ec-store-block-buynow{min-height:40px;min-width:120px;display:inline-block;background:none;position:relative}.ec-store-block-buynow .image{background:url("../../images/gutenberg/button-preview.png") 50% 50% no-repeat;background-size:120px 40px;position:absolute;left:0;top:0;right:0;height:40px}.ec-store-block-buynow .button-container{margin-top:35px}
4
  .ec-store-block-search{min-width:500px;min-height:48px;display:inline-block;background:none;position:relative}.ec-store-block-search .image{background:url("../../images/gutenberg/search-preview.png") 50% 50% no-repeat;background-size:500px 48px;position:absolute;left:0;top:0;right:0;bottom:0}
@@ -8,4 +8,3 @@
8
  .ec-store-block-product-page .image{background:url("../../images/gutenberg/product-page-preview.png") 50% 50% no-repeat;background-size:216px 140px;position:absolute;left:0;top:0;right:0;bottom:0}.ec-store-block-product-page .image.no-product{bottom:45px}.ec-store-block-product-page .button-container{position:absolute;bottom:20px}
9
  .ec-store-block-filters-page{min-height:330px}.ec-store-block-filters-page .image{background:url("../../images/gutenberg/filter-preview.png") 50% 50% no-repeat;background-size:432px 280px;position:absolute;left:0;top:0;right:0;bottom:0}
10
  .ec-store-block-cart-page .image{background:url("../../images/gutenberg/cart-page-preview.png") 50% 50% no-repeat;background-size:216px 80px;position:absolute;left:0;top:0;right:0;bottom:0}
11
- .ec-store-generic-block, .ec-store-block-categories{-webkit-box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2);box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2);}
1
+ .components-toolbar__control.components-button:not(:disabled).is-active>svg rect{fill:white}.components-toolbar__control.components-button.ecwid-toolbar-icon>svg{padding:0}.ecwid-store-block-icon{background:url("../images/wordpress_20x20.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ecwid-store-block{position:relative}.ecwid-store-block-button{font-family:Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;position:relative;top:135px;font-size:14px}.ecwid-product-block-icon{background:url("../images/gutenberg-block-product.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ecwid-block{text-align:center;font-size:13px;font-family:'Open Sans';padding:1em;background-color:#f8f9f9;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:220px}.ecwid-block>div{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.ecwid-block .ecwid-block-header{font-weight:600;margin-bottom:1em}.ecwid-block .ecwid-block-header svg{max-height:20px;margin-right:1ch}.ecwid-block .ecwid-store-block-icon,.ecwid-block .ecwid-product-block-icon{margin-right:10px}.ecwid-block .ecwid-block-image{height:90px;background-repeat:no-repeat;background-size:contain;background-position:50% 50%}.ecwid-block .ecwid-block-image img{width:auto;max-height:100%;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);box-shadow:0 2px 5px 0 rgba(0,0,0,0.1)}.ecwid-block .ecwid-block-title{margin-top:11px;margin-bottom:1em}.ecwid-block .ecwid-block-button{font-weight:400}.ecwid-selected-product{font-family:Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif}.ecwid-selected-product>div{display:table-cell}.ecwid-selected-product .ecwid-selected-product-image img{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);box-shadow:0 2px 5px 0 rgba(0,0,0,0.1)}.ecwid-selected-product .ecwid-selected-product-image{padding-right:25px;vertical-align:top}.ecwid-selected-product .ecwid-selected-product-details{vertical-align:middle}.ecwid-selected-product .ecwid-selected-product-name{font-size:20px;font-weight:600;margin-bottom:0.5em}.ecwid-selected-product .ecwid-selected-product-sku{font-size:16px;margin-bottom:1em}.media-frame-content.has-selected-product form,.media-frame-content.has-selected-product .products,.media-frame-content.has-selected-product .tablenav{display:none}#ecwid-product-popup-content .media-frame-content.ecwid-selected-product{padding-left:20px;padding-top:40px}.ecwid-store-block-icon{background:url("../images/wordpress_20x20.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ecwid-store-block{position:relative}.ecwid-store-block-button{font-family:Open Sans, Trebuchet MS, Helvetica, Verdana, sans-serif;position:relative;top:135px;font-size:14px}.ecwid-product-block-icon{background:url("../../images/gutenberg-block-product.svg");background-size:contain;width:20px;height:20px;margin-bottom:3px}.ec-store-block{text-align:center;font-size:13px;font-family:'Open Sans';padding:1em;background-color:#f8f9f9;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:220px}.ec-store-block-product{background:none;display:inline-block}.ec-store-block-product svg{margin:auto}.ec-store-product-title{font-weight:600;font-size:14px;color:#555;margin-top:5px}.ec-store-block>div{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.ec-store-block .ec-store-block-header{font-weight:600;margin-bottom:1em;line-height:24px}.ec-store-block .ec-store-block-header svg{max-height:24px;margin-right:1ch}.ec-store-block .ec-store-store-block-icon,.ec-store-block .ec-store-product-block-icon{margin-right:10px}.ec-store-block .ec-store-block-image{height:90px;background-repeat:no-repeat;background-size:contain;background-position:50% 50%}.ec-store-block .ec-store-block-image img{width:auto;max-height:100%;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);box-shadow:0 2px 5px 0 rgba(0,0,0,0.1);-o-object-fit:cover;object-fit:cover}.ec-store-block-product .ec-store-block-image,.ec-store-block-product .ec-store-block-product-preview{height:180px;min-width:180px}.ec-store-block-product .ec-store-block-product-preview{border:1px solid rgba(145,151,162,0.25)}.ec-store-block-minicart{min-height:180px;min-width:180px;display:inline-block;background:none;position:relative}.ec-store-block-minicart .image{background:url("../../images/gutenberg/minicart-widget-preview.png") 50% 50% no-repeat;background-size:50%;position:absolute;left:0;top:0;right:0;bottom:0}.ec-store-block .ec-store-block-title{margin-top:11px;margin-bottom:1em}.ec-store-block .ec-store-block-button{font-weight:400;margin-top:11px}.ec-store-block>.ec-store-products{display:block}.ec-store-products>div{width:130px;height:130px;margin:15px;display:-ms-inline-flexbox;display:inline-flex;border:1px solid #e2e4e7;background-size:100% 100%}.ec-store-product1{background:url("../../images/gutenberg/store1.png")}.ec-store-product2{background:url("../../images/gutenberg/store2.png")}.ec-store-product3{background:url("../../images/gutenberg/store3.png")}.ec-store-product4{background:url("../../images/gutenberg/store4.png")}.ec-store-product5{background:url("../../images/gutenberg/store5.png")}.ec-store-product6{background:url("../../images/gutenberg/store6.png")}.ec-store-color-picker .component-color-indicator{vertical-align:text-bottom}.ec-store-color-picker .components-color-palette{margin-top:.6rem}.ec-store-inspector-subheader-row{margin-bottom:20px}.ec-store-inspector-row{-ms-flex-pack:justify;justify-content:space-between;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.ec-store-inspector-row label,.ec-store-inspector-row button{display:block}.ec-store-inspector-subheader{color:#191e23;font-weight:600;cursor:default}.ec-store-inspector-row{margin:15px 0}.ec-store-inspector-select{max-width:100%}.ec-store-control-select{width:100%}.ec-store-control-button-group{display:block}.ec-store-generic-block>div{display:block}.ec-store-block .ec-store-block-header{font-weight:600;margin-bottom:1em;line-height:24px;display:-ms-flexbox;display:flex}.ec-store-block .ec-store-block-header svg{max-height:24px;margin-right:1ch}.ec-store-generic-block,.ec-store-block-categories{-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,0.2);box-shadow:0 2px 4px 0 rgba(0,0,0,0.2)}
2
  .wp-block-cgb-block-my-block2{background:#bada55;border:0.2rem solid #292929;color:#292929;margin:0 auto;max-width:740px;padding:2rem}
3
  .ec-store-block-buynow{min-height:40px;min-width:120px;display:inline-block;background:none;position:relative}.ec-store-block-buynow .image{background:url("../../images/gutenberg/button-preview.png") 50% 50% no-repeat;background-size:120px 40px;position:absolute;left:0;top:0;right:0;height:40px}.ec-store-block-buynow .button-container{margin-top:35px}
4
  .ec-store-block-search{min-width:500px;min-height:48px;display:inline-block;background:none;position:relative}.ec-store-block-search .image{background:url("../../images/gutenberg/search-preview.png") 50% 50% no-repeat;background-size:500px 48px;position:absolute;left:0;top:0;right:0;bottom:0}
8
  .ec-store-block-product-page .image{background:url("../../images/gutenberg/product-page-preview.png") 50% 50% no-repeat;background-size:216px 140px;position:absolute;left:0;top:0;right:0;bottom:0}.ec-store-block-product-page .image.no-product{bottom:45px}.ec-store-block-product-page .button-container{position:absolute;bottom:20px}
9
  .ec-store-block-filters-page{min-height:330px}.ec-store-block-filters-page .image{background:url("../../images/gutenberg/filter-preview.png") 50% 50% no-repeat;background-size:432px 280px;position:absolute;left:0;top:0;right:0;bottom:0}
10
  .ec-store-block-cart-page .image{background:url("../../images/gutenberg/cart-page-preview.png") 50% 50% no-repeat;background-size:216px 80px;position:absolute;left:0;top:0;right:0;bottom:0}
 
css/landing.css DELETED
@@ -1,1331 +0,0 @@
1
- /* http://meyerweb.com/eric/tools/css/reset/
2
- * v2.0 | 20110126
3
- * License: none (public domain) */
4
- html, body, div, span, applet, object, iframe,
5
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
6
- a, abbr, acronym, address, big, cite, code,
7
- del, dfn, em, img, ins, kbd, q, s, samp,
8
- small, strike, strong, sub, sup, tt, var,
9
- b, u, i, center,
10
- dl, dt, dd, ol, ul, li,
11
- fieldset, form, label, legend,
12
- table, caption, tbody, tfoot, thead, tr, th, td,
13
- article, aside, canvas, details, embed,
14
- figure, figcaption, footer, header, hgroup,
15
- menu, nav, output, ruby, section, summary,
16
- time, mark, audio, video, button {
17
- margin: 0;
18
- padding: 0;
19
- border: 0;
20
- font-size: 100%;
21
- font: inherit;
22
- box-sizing: border-box;
23
- vertical-align: baseline; }
24
-
25
- /* HTML5 display-role reset for older browsers */
26
- article, aside, details, figcaption, figure,
27
- footer, header, hgroup, menu, nav, section {
28
- display: block; }
29
-
30
- body {
31
- line-height: 1; }
32
-
33
- ol, ul {
34
- list-style: none; }
35
-
36
- blockquote, q {
37
- quotes: none; }
38
-
39
- blockquote:before, blockquote:after,
40
- q:before, q:after {
41
- content: "";
42
- content: none; }
43
-
44
- table {
45
- border-collapse: collapse;
46
- border-spacing: 0; }
47
-
48
- body {
49
- font-family: "Open sans", sans-serif;
50
- font-weight: 400;
51
- color: #363636;
52
- min-width: 320px; }
53
-
54
- .ecwid-thank {
55
- padding-top: 36px; }
56
- .ecwid-thank h1 {
57
- text-align: center;
58
- font-size: 34px;
59
- color: #000000;
60
- line-height: 1.4;
61
- margin-bottom: 30px; }
62
- @media (max-width: 767px) {
63
- .ecwid-thank h1 {
64
- font-size: 22px;
65
- max-width: 490px;
66
- padding: 0 2%;
67
- margin: 0 auto 15px; }
68
- .ecwid-thank h1 br {
69
- display: none; } }
70
- @media (max-width: 500px) {
71
- .ecwid-thank h1 {
72
- max-width: 320px; } }
73
- .ecwid-thank h1 span {
74
- display: block;
75
- font-size: 14px;
76
- text-align: left;
77
- max-width: 500px;
78
- margin: 14px auto; }
79
-
80
- .ecwid-thank-steps {
81
- margin: 0 auto 51px;
82
- max-width: 1000px; }
83
- @media (max-width: 767px) {
84
- .ecwid-thank-steps {
85
- max-width: 450px;
86
- margin-bottom: 0;
87
- padding: 0 2%; } }
88
- .ecwid-thank-steps:after {
89
- content: "";
90
- display: table;
91
- clear: both; }
92
-
93
- .ecwid-thank-step {
94
- text-align: center;
95
- width: 33.33333%;
96
- float: left;
97
- position: relative;
98
- padding: 0 2%; }
99
- .ecwid-thank-step.active .ecwid-thank-step-image:before {
100
- position: absolute;
101
- content: url("../images/landing/correct.svg");
102
- width: 17px;
103
- left: 61%; }
104
- .ecwid-thank-step.active .ecwid-thank-step-image img.none-active {
105
- display: none; }
106
- .ecwid-thank-step.active .ecwid-thank-step-image img.active {
107
- display: inline-block; }
108
- @media (max-width: 767px) {
109
- .ecwid-thank-step {
110
- display: none; } }
111
- .ecwid-thank-step .ecwid-thank-step-image {
112
- height: 92px;
113
- position: relative; }
114
- .ecwid-thank-step .ecwid-thank-step-image:after {
115
- content: "";
116
- position: absolute;
117
- overflow: hidden; }
118
- @media (min-width: 768px) {
119
- .ecwid-thank-step .ecwid-thank-step-image:after {
120
- top: 40px;
121
- left: 77%;
122
- width: 64%;
123
- height: 7px;
124
- background: url("../images/landing/arrow.png") center right; } }
125
- .ecwid-thank-step img {
126
- margin: 3px 0 10px; }
127
- .ecwid-thank-step img.active {
128
- display: none; }
129
- .ecwid-thank-step h2 {
130
- font-size: 18px;
131
- line-height: 1.5;
132
- margin-bottom: 6px; }
133
- .ecwid-thank-step p {
134
- font-size: 14px;
135
- line-height: 1.5; }
136
- .ecwid-thank-step.ecwid-thank-step-one img {
137
- height: 77px; }
138
- .ecwid-thank-step.ecwid-thank-step-two img {
139
- height: 60px;
140
- margin-top: 13px; }
141
- .ecwid-thank-step.ecwid-thank-step-three .ecwid-thank-step-image:after {
142
- display: none; }
143
- .ecwid-thank-step.ecwid-thank-step-three h2 {
144
- font-weight: 600; }
145
- .ecwid-thank-step.ecwid-thank-step-three img {
146
- height: 82px; }
147
-
148
- .ecwid-thank-background {
149
- background: url("../images/landing/background-think.jpg");
150
- background-size: cover; }
151
- @media (min-width: 768px) {
152
- .ecwid-thank-background {
153
- background-position: center bottom; } }
154
- @media (min-width: 1440px) {
155
- .ecwid-thank-background {
156
- background-position: left bottom; } }
157
- .ecwid-thank-background .ecwid-thank-background-tablet {
158
- padding: 52px 5% 0; }
159
- .ecwid-thank-background .ecwid-thank-background-tablet img {
160
- display: block;
161
- margin: 0 auto;
162
- max-width: 100%; }
163
-
164
- .ecwid-description {
165
- padding: 0 2%; }
166
- .ecwid-description:after {
167
- content: "";
168
- display: table;
169
- clear: both; }
170
-
171
- .ecwid-description-inner {
172
- max-width: 930px;
173
- margin: 0 auto;
174
- table-layout: fixed;
175
- width: 100%; }
176
- @media (min-width: 768px) {
177
- .ecwid-description-inner {
178
- display: table;
179
- padding-top: 35px; } }
180
- @media (min-width: 992px) {
181
- .ecwid-description-inner {
182
- padding-top: 95px; } }
183
- @media (max-width: 767px) {
184
- .ecwid-description-inner {
185
- display: -webkit-flex;
186
- display: -ms-flexbox;
187
- display: flex;
188
- -webkit-flex-direction: column-reverse;
189
- -ms-flex-direction: column-reverse;
190
- flex-direction: column-reverse; } }
191
-
192
- .ecwid-description-image {
193
- padding-right: 5%;
194
- vertical-align: bottom; }
195
- @media (min-width: 768px) {
196
- .ecwid-description-image {
197
- display: table-cell;
198
- width: 60%; } }
199
- @media (min-width: 992px) {
200
- .ecwid-description-image {
201
- width: 65%; } }
202
- @media (max-width: 767px) {
203
- .ecwid-description-image {
204
- width: 100%;
205
- padding: 0 4%; } }
206
- .ecwid-description-image img {
207
- display: block;
208
- max-width: 100%; }
209
- @media (max-width: 767px) {
210
- .ecwid-description-image img {
211
- margin: 0 auto; } }
212
-
213
- .ecwid-description-text {
214
- padding-top: 35px;
215
- padding-bottom: 35px; }
216
- @media (min-width: 768px) {
217
- .ecwid-description-text {
218
- width: 40%;
219
- display: table-cell;
220
- vertical-align: middle; } }
221
- @media (min-width: 992px) {
222
- .ecwid-description-text {
223
- width: 35%;
224
- vertical-align: baseline; } }
225
- @media (max-width: 767px) {
226
- .ecwid-description-text {
227
- padding: 44px 4% 0;
228
- max-width: 500px;
229
- margin: 0 auto 50px;
230
- width: 100%; } }
231
- .ecwid-description-text h2 {
232
- line-height: 1.2;
233
- margin-bottom: 18px; }
234
- @media (min-width: 768px) {
235
- .ecwid-description-text h2 {
236
- font-size: 24px; } }
237
- @media (min-width: 992px) {
238
- .ecwid-description-text h2 {
239
- font-size: 28px; } }
240
- @media (max-width: 767px) {
241
- .ecwid-description-text h2 {
242
- font-size: 22px;
243
- text-align: center; } }
244
- .ecwid-description-text p {
245
- font-size: 14px;
246
- line-height: 1.5;
247
- padding: 0.8em 0; }
248
-
249
- .ecwid-features {
250
- background-color: #F4F4F4;
251
- padding: 44px 0 60px; }
252
- @media (max-width: 767px) {
253
- .ecwid-features {
254
- padding-bottom: 9px; } }
255
- .ecwid-features h2 {
256
- font-size: 28px;
257
- color: #1F1F1F;
258
- font-weight: 400;
259
- text-align: center;
260
- margin-bottom: 62px; }
261
- @media (max-width: 767px) {
262
- .ecwid-features h2 {
263
- font-size: 22px;
264
- margin-bottom: 40px; } }
265
-
266
- .ecwid-features-inner {
267
- margin: 0 auto;
268
- max-width: 930px;
269
- padding: 0 3%; }
270
-
271
- .ecwid-features-top {
272
- margin-bottom: 70px; }
273
- @media (max-width: 767px) {
274
- .ecwid-features-top {
275
- margin-bottom: 0; } }
276
- .ecwid-features-top:after {
277
- content: "";
278
- display: table;
279
- clear: both; }
280
- .ecwid-features-top .ecwid-features-top-item {
281
- width: 50%;
282
- float: left;
283
- text-align: center; }
284
- @media (max-width: 767px) {
285
- .ecwid-features-top .ecwid-features-top-item {
286
- padding: 0 2%;
287
- width: 100%;
288
- max-width: 320px;
289
- margin: 0 auto 35px;
290
- float: none; } }
291
- .ecwid-features-top .ecwid-features-top-item .ecwid-features-top-item-image {
292
- height: 82px; }
293
- @media (max-width: 767px) {
294
- .ecwid-features-top .ecwid-features-top-item .ecwid-features-top-item-image {
295
- height: 75px; } }
296
- .ecwid-features-top .ecwid-features-top-item img {
297
- height: 61px;
298
- margin-bottom: 36px; }
299
- @media (max-width: 767px) {
300
- .ecwid-features-top .ecwid-features-top-item img {
301
- margin-bottom: 20px; } }
302
- .ecwid-features-top .ecwid-features-top-item img.gift {
303
- height: 80px;
304
- margin-top: -10px; }
305
- .ecwid-features-top .ecwid-features-top-item h3 {
306
- font-size: 21px;
307
- font-weight: 600;
308
- margin-bottom: 15px; }
309
- @media (max-width: 767px) {
310
- .ecwid-features-top .ecwid-features-top-item h3 {
311
- font-size: 18px;
312
- margin-bottom: 6px; } }
313
- .ecwid-features-top .ecwid-features-top-item p {
314
- font-size: 14px;
315
- line-height: 1.45; }
316
- @media (max-width: 767px) {
317
- .ecwid-features-top .ecwid-features-top-item p {
318
- font-size: 13px; } }
319
-
320
- .ecwid-features-bottom:after {
321
- content: "";
322
- display: table;
323
- clear: both; }
324
- .ecwid-features-bottom .ecwid-features-bottom-item {
325
- width: 33.33333%;
326
- float: left;
327
- text-align: center; }
328
- @media (max-width: 767px) {
329
- .ecwid-features-bottom .ecwid-features-bottom-item {
330
- float: none;
331
- width: 100%;
332
- max-width: 270px;
333
- margin: 0 auto 35px; } }
334
- .ecwid-features-bottom .ecwid-features-bottom-item .ecwid-features-bottom-item-image {
335
- height: 82px; }
336
- @media (max-width: 767px) {
337
- .ecwid-features-bottom .ecwid-features-bottom-item .ecwid-features-bottom-item-image {
338
- height: 75px; } }
339
- .ecwid-features-bottom .ecwid-features-bottom-item img {
340
- height: 63px;
341
- margin-bottom: 17px; }
342
- .ecwid-features-bottom .ecwid-features-bottom-item img.secure {
343
- height: 67px; }
344
- @media (min-width: 768px) {
345
- .ecwid-features-bottom .ecwid-features-bottom-item img.secure {
346
- margin-top: -8px; } }
347
- .ecwid-features-bottom .ecwid-features-bottom-item h3 {
348
- font-size: 18px;
349
- font-weight: 600;
350
- margin-bottom: 6px; }
351
- .ecwid-features-bottom .ecwid-features-bottom-item p {
352
- font-size: 14px;
353
- line-height: 1.45; }
354
- @media (max-width: 767px) {
355
- .ecwid-features-bottom .ecwid-features-bottom-item p {
356
- font-size: 13px; }
357
- .ecwid-features-bottom .ecwid-features-bottom-item p br {
358
- display: none; } }
359
-
360
- .ecwid-start {
361
- text-align: center;
362
- padding: 64px 0 194px; }
363
- @media (max-width: 767px) {
364
- .ecwid-start {
365
- padding: 44px 0 64px; }
366
- .ecwid-start .ecwid-button .button {
367
- margin-bottom: 29px; } }
368
- .ecwid-start:after {
369
- content: "";
370
- display: table;
371
- clear: both; }
372
- .ecwid-start h2 {
373
- font-size: 28px;
374
- line-height: 1.4;
375
- margin-bottom: 32px; }
376
- @media (max-width: 767px) {
377
- .ecwid-start h2 {
378
- font-size: 22px;
379
- padding: 0 2%;
380
- margin-bottom: 1px; } }
381
-
382
- .ecwid-button {
383
- text-align: center; }
384
- .ecwid-button a,
385
- .ecwid-button button {
386
- background-image: none; }
387
- .ecwid-button .button {
388
- border-radius: 4px;
389
- border: 0;
390
- font-size: 20px;
391
- color: #ffffff;
392
- line-height: 2.6;
393
- letter-spacing: 0.01em;
394
- padding: 0.12em 1.5em;
395
- margin-bottom: 46px;
396
- outline: none;
397
- cursor: pointer; }
398
- @media (max-width: 767px) {
399
- .ecwid-button .button {
400
- font-size: 18px;
401
- margin-top: 25px;
402
- margin-bottom: 14px;
403
- padding: 0.12em 1em; } }
404
- @media (max-width: 500px) {
405
- .ecwid-button .button {
406
- font-size: 16px; } }
407
- .ecwid-button .button:hover {
408
- opacity: 0.8; }
409
- .ecwid-button .button.button--blue {
410
- background-color: #189DEE; }
411
- .ecwid-button .button.button--green {
412
- background-color: #59BB00; }
413
- .ecwid-button .button-description-mobile {
414
- font-size: 12px;
415
- line-height: 1.5;
416
- margin-bottom: 38px;
417
- color: #999; }
418
- .ecwid-button .button-description-mobile h3 {
419
- font-size: 18px;
420
- color: #363636;
421
- font-weight: 600;
422
- margin-bottom: -70px; }
423
- @media (min-width: 768px) {
424
- .ecwid-button .button-description-mobile {
425
- display: none; } }
426
- .ecwid-button .ecwid-button-description {
427
- font-size: 14px; }
428
- .ecwid-button .ecwid-button-description a {
429
- display: block;
430
- font-size: 20px;
431
- color: #288FB5;
432
- margin-top: 12px;
433
- text-decoration: none; }
434
- .ecwid-button .ecwid-button-description a:hover {
435
- opacity: 0.8; }
436
- @media (max-width: 767px) {
437
- .ecwid-button .ecwid-button-description a {
438
- margin-bottom: 10px;
439
- font-size: 18px; } }
440
-
441
-
442
- /*
443
- * Adapt landing to wordpress actual environment
444
- */
445
- .ecwid-button .button {
446
- height: auto;
447
- }
448
-
449
- #wpcontent {
450
- padding-left: 0px;
451
- }
452
- .ecwid-landing {
453
- background: white;
454
- }
455
- ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu>li.current>a.current:after
456
- {
457
- border-right-color:white;
458
- }
459
-
460
- .ecwid-landing .on-error {
461
- display: none;
462
- }
463
-
464
- .ecwid-landing.conn-error .on-error {
465
- display: inherit;
466
- }
467
-
468
- .ecwid-landing.conn-error .on-no-error {
469
- display: none;
470
- }
471
-
472
- .ecwid-button .ecwid-connection-error {
473
- color: red;
474
- }
475
-
476
- @media (min-width: 768px) {
477
- .ecwid-button .ecwid-connection-error {
478
- position: relative;
479
- margin-bottom: 8px;
480
- }
481
- }
482
-
483
- .ecwid-landing a:focus {
484
- outline: 0px none;
485
- box-shadow: none;
486
- }
487
-
488
- .ecwid-landing .button:hover {
489
- color: white;
490
- }
491
-
492
- .ecwid-landing .ecwid-button .btn {
493
- width: 300px;
494
- margin-bottom: 40px;
495
- height: 59px;
496
- font-size: 20px;
497
- }
498
-
499
- .ecwid-button .create-store-loading,
500
- .ecwid-button .create-store-loading-note,
501
- .ecwid-button .create-store-success-note,
502
- .ecwid-button .create-store-success {
503
- display: none;
504
- }
505
-
506
- .ecwid-button .create-store-loading-note,
507
- .ecwid-button .create-store-success-note
508
- {
509
- margin-top: -20px;
510
- margin-bottom: 32px;
511
- }
512
-
513
-
514
- /* loose copy of ecwid css framework */
515
-
516
- @import url('//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300&subset=latin,latin-ext,cyrillic');
517
-
518
- .btn {
519
- font-family: 'Open Sans';
520
- }
521
-
522
- @keyframes spinleft {
523
- 0% {
524
- transform: rotate(360deg); }
525
-
526
- 100% {
527
- transform: rotate(0deg); } }
528
-
529
- @-webkit-keyframes spinleft {
530
- 0% {
531
- -webkit-transform: rotate(360deg); }
532
-
533
- 100% {
534
- -webkit-transform: rotate(0deg); } }
535
-
536
- @keyframes spinright {
537
- 0% {
538
- transform: rotate(0deg); }
539
-
540
- 100% {
541
- transform: rotate(360deg); } }
542
-
543
- @-webkit-keyframes spinright {
544
- 0% {
545
- -webkit-transform: rotate(0deg); }
546
-
547
- 100% {
548
- -webkit-transform: rotate(360deg); } }
549
-
550
- /* Iconic font */
551
- @font-face {
552
- font-family: 'font_icons';
553
- src: url('//s3.amazonaws.com/myecwidcom-static/static/fonts/icons/v13/fontIcons.eot');
554
- src: url('//s3.amazonaws.com/myecwidcom-static/static/fonts/icons/v13/fontIcons.eot?#iefix') format('embedded-opentype'), url('//s3.amazonaws.com/myecwidcom-static/static/fonts/icons/v13/fontIcons.ttf') format('truetype'), url('//s3.amazonaws.com/myecwidcom-static/static/fonts/icons/v13/fontIcons.woff') format('woff'), url('//s3.amazonaws.com/myecwidcom-static/static/fonts/icons/v13/fontIcons.svg#icomoon') format('svg');
555
- font-weight: normal;
556
- font-style: normal; }
557
-
558
- .ecwid-button [class*="icon-"] {
559
- display: inline-block;
560
- text-transform: none;
561
- font-weight: normal;
562
- font-style: normal;
563
- font-variant: normal;
564
- font-family: 'font_icons';
565
- line-height: 1;
566
- speak: none;
567
- -webkit-font-smoothing: antialiased;
568
- -moz-osx-font-smoothing: grayscale;
569
- -webkit-transition: color .1s linear;
570
- transition: color .1s linear; }
571
-
572
- .icon-odn:before {
573
- content: "\e639"; }
574
-
575
- .icon-vk:before {
576
- content: "\e63a"; }
577
-
578
- .icon-customer_groups:before {
579
- content: "\e62e"; }
580
-
581
- .icon-unfinished:before {
582
- content: "\e62d"; }
583
-
584
- .icon-table_cake:before {
585
- content: "\e62c"; }
586
-
587
- .icon-coupons:before {
588
- content: "\e63b"; }
589
-
590
- .icon-discounts:before {
591
- content: "\e63c"; }
592
-
593
- .icon-marketplaces:before {
594
- content: "\e63d"; }
595
-
596
- .icon-odn:before {
597
- content: "\e639"; }
598
-
599
- .icon-vk:before {
600
- content: "\e63a"; }
601
-
602
- .icon-appointment:before {
603
- content: "\e62b"; }
604
-
605
- .icon-trash:before {
606
- content: "\e62a"; }
607
-
608
- .icon-lock:before {
609
- content: "\e621"; }
610
-
611
- .icon-letter:before {
612
- content: "\e629"; }
613
-
614
- .icon-vend:before {
615
- content: "\e628"; }
616
-
617
- .icon-apple:before {
618
- content: "\e624"; }
619
-
620
- .icon-discount:before {
621
- content: "\e625"; }
622
-
623
- .icon-bag:before {
624
- content: "\e626"; }
625
-
626
- .icon-phone:before {
627
- content: "\e627"; }
628
-
629
- .icon-speaker:before {
630
- content: "\e622"; }
631
-
632
- .icon-warning:before {
633
- content: "\e623"; }
634
-
635
- .icon-lock:before {
636
- content: "\e621"; }
637
-
638
- .icon-radiobutton-checked:before {
639
- content: "\e61e"; }
640
-
641
- .icon-radiobutton-unchecked:before {
642
- content: "\e61f"; }
643
-
644
- .icon-update:before {
645
- content: "\e620"; }
646
-
647
- .icon-settings:before {
648
- content: "\e619"; }
649
-
650
- .icon-main-menu:before {
651
- content: "\e61a"; }
652
-
653
- .icon-sales:before {
654
- content: "\e61b"; }
655
-
656
- .icon-chart:before {
657
- content: "\e61c"; }
658
-
659
- .icon-home:before {
660
- content: "\e61d"; }
661
-
662
- .icon-print:before {
663
- content: "\e618"; }
664
-
665
- .icon-search:before {
666
- content: "\e617"; }
667
-
668
- .icon-calendar:before {
669
- content: "\e616"; }
670
-
671
- .icon-show:before {
672
- content: "\e010"; }
673
-
674
- .icon-hide:before {
675
- content: "\e011"; }
676
-
677
- .icon-star:before {
678
- content: "\e615"; }
679
-
680
- .icon-edit:before {
681
- content: "\e614"; }
682
-
683
- .icon-categories:before {
684
- content: "\e613"; }
685
-
686
- .icon-arrange:before {
687
- content: "\e612"; }
688
-
689
- .icon-menu:before {
690
- content: "\e611"; }
691
-
692
- .icon-import:before {
693
- content: "\e610"; }
694
-
695
- .icon-gallery:before {
696
- content: "\e60f"; }
697
-
698
- .icon-enable-all:before {
699
- content: "\e60e"; }
700
-
701
- .icon-disable-all:before {
702
- content: "\e60d"; }
703
-
704
- .icon-next:before {
705
- content: "\e000"; }
706
-
707
- .icon-previous:before {
708
- content: "\e00a"; }
709
-
710
- .icon-store:before {
711
- content: "\e001"; }
712
-
713
- .icon-megaphone:before {
714
- content: "\e002"; }
715
-
716
- .icon-product:before {
717
- content: "\e003"; }
718
-
719
- .icon-geo:before {
720
- content: "\e004"; }
721
-
722
- .icon-shipping:before {
723
- content: "\e005"; }
724
-
725
- .icon-payments:before {
726
- content: "\e006"; }
727
-
728
- .icon-launch:before {
729
- content: "\e007"; }
730
-
731
- .icon-share:before {
732
- content: "\e008"; }
733
-
734
- .icon-facebook:before {
735
- content: "\e009"; }
736
-
737
- .icon-fb:before {
738
- content: "\e00b"; }
739
-
740
- .icon-twitter:before {
741
- content: "\e00c"; }
742
-
743
- .icon-chain:before {
744
- content: "\e00d"; }
745
-
746
- .icon-checkmark:before {
747
- content: "\e00f"; }
748
-
749
- .icon-close:before {
750
- content: "\e014"; }
751
-
752
- .icon-sort:before {
753
- content: "\f0dc"; }
754
-
755
- .icon-box:before {
756
- content: "\e00e"; }
757
-
758
- .icon-cloud:before {
759
- content: "\e012"; }
760
-
761
- .icon-rates:before {
762
- content: "\e015"; }
763
-
764
- .icon-upload:before {
765
- content: "\e013"; }
766
-
767
- .icon-arr-down:before {
768
- content: "\e018"; }
769
-
770
- .icon-dropdown:before {
771
- content: "\e016"; }
772
-
773
- .icon-cash:before {
774
- content: "\e019"; }
775
-
776
- .icon-check:before {
777
- content: "\e01a"; }
778
-
779
- .icon-google:before {
780
- content: "\e600"; }
781
-
782
- .icon-paypal:before {
783
- content: "\e601"; }
784
-
785
- .icon-envelope:before {
786
- content: "\e603"; }
787
-
788
- .icon-help:before {
789
- content: "\e602"; }
790
-
791
- .icon-chat:before {
792
- content: "\e604"; }
793
-
794
- .icon-arr-left:before {
795
- content: "\e605"; }
796
-
797
- .icon-arr-right:before {
798
- content: "\e606"; }
799
-
800
- .icon-arr-up:before {
801
- content: "\e609"; }
802
-
803
- .icon-open:before {
804
- content: "\e608"; }
805
-
806
- .icon-user:before {
807
- content: "\e607"; }
808
-
809
- .icon-tumbler:before {
810
- content: "\e60a"; }
811
-
812
- .icon-taxes:before {
813
- content: "\e60b"; }
814
-
815
- .icon-ecwid:before {
816
- content: "\e60c"; }
817
-
818
- .btn {
819
- display: inline-block;
820
- margin: 0;
821
- border: 1px solid transparent;
822
- vertical-align: middle;
823
- text-align: center;
824
- cursor: pointer;
825
- outline: 0;
826
- text-decoration: none;
827
- white-space: nowrap;
828
- *display: inline;
829
- *margin-left: .3em;
830
- *zoom: 1;
831
- -moz-box-sizing: border-box;
832
- box-sizing: border-box;
833
- font-size: 0.813em;
834
- padding: 4px 10px;
835
- border-radius: 3px;
836
- line-height: 1.7em;
837
- height: 2.462em;
838
- min-width: 7.385em;
839
- color: #333;
840
- background-color: #f6f6f6;
841
- border-color: transparent;
842
- -webkit-transition: color 0.1s linear, background-color 0.1s linear, border-color 0.1s linear;
843
- transition: color 0.1s linear, background-color 0.1s linear, border-color 0.1s linear; }
844
- .btn:focus, .btn.focus, .btn.btn-loading, .btn.btn-loading:hover, .btn.btn-loading:focus, .btn.btn-loading:focus:hover, .btn.btn-loading:active, .btn.btn-loading:focus:active, .btn-group.opened .btn.btn-dropdown {
845
- border-width: 2px;
846
- padding: 3px 9px; }
847
- .btn:hover {
848
- background-color: #c4c4c4; }
849
- .btn:focus {
850
- border-color: #acacac; }
851
- .btn:focus:hover {
852
- background-color: #c4c4c4; }
853
- .btn:active {
854
- background-color: #f7f7f7; }
855
- .btn:focus:active {
856
- background-color: #f7f7f7; }
857
- .btn.btn-loading, .btn.btn-loading:hover, .btn.btn-loading:focus, .btn.btn-loading:focus:hover, .btn.btn-loading:active, .btn.btn-loading:focus:active {
858
- position: relative;
859
- background-color: #f7f7f7;
860
- border-color: transparent;
861
- overflow: visible; }
862
- .btn-group.opened .btn.btn-dropdown {
863
- border-color: #acacac; }
864
- .btn.btn-loading .loader-inner, .btn.btn-loading .loader-outer, .btn.btn-loading:hover .loader-inner, .btn.btn-loading:hover .loader-outer, .btn.btn-loading:focus .loader-inner, .btn.btn-loading:focus .loader-outer, .btn.btn-loading:focus:hover .loader-inner, .btn.btn-loading:focus:hover .loader-outer, .btn.btn-loading:active .loader-inner, .btn.btn-loading:active .loader-outer, .btn.btn-loading:focus:active .loader-inner, .btn.btn-loading:focus:active .loader-outer {
865
- fill: #f7f7f7; }
866
- .btn:first-child {
867
- *margin-left: 0; }
868
- .btn[disabled], .btn[disabled]:hover, .btn[disabled]:focus, .btn[disabled]:focus:hover, .btn[disabled]:active, .btn[disabled]:focus:active {
869
- cursor: default;
870
- opacity: .3;
871
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=30);
872
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; }
873
- .btn.btn-loading:before, .btn.btn-loading:hover:before, .btn.btn-loading:focus:before, .btn.btn-loading:focus:hover:before, .btn.btn-loading:active:before, .btn.btn-loading:focus:active:before {
874
- position: absolute;
875
- content: "";
876
- top: 0;
877
- left: 0;
878
- width: 100%;
879
- height: 100%;
880
- border-radius: inherit;
881
- background-color: inherit;
882
- opacity: 1;
883
- -webkit-transition: opacity .3s ease-out;
884
- transition: opacity .3s ease-out; }
885
-
886
- /* buttons' sizes */
887
- .btn-large {
888
- font-size: 1.063em;
889
- padding: 4px 16px;
890
- border-radius: 5px;
891
- line-height: 2.118em;
892
- height: 2.824em;
893
- min-width: 8.471em; }
894
- .btn-large:focus, .btn-large.focus, .btn-large.btn.btn-loading, .btn-large.btn.btn-loading:focus:hover, .btn-large.btn.btn-loading:focus:active, .btn-large.btn-default.btn-loading, .btn-large.btn-loading.btn-icon, .btn-large.btn-default.btn-loading:focus:hover, .btn-large.btn-loading.btn-icon:focus:hover, .btn-large.btn-default.btn-loading:focus:active, .btn-large.btn-loading.btn-icon:focus:active, .btn-group.opened .btn-large.btn-dropdown {
895
- border-width: 2px;
896
- padding: 3px 15px; }
897
-
898
- .btn-medium {
899
- font-size: 0.875em;
900
- padding: 4px 12px;
901
- border-radius: 3px;
902
- line-height: 1.7em;
903
- height: 2.857em;
904
- min-width: 8.571em; }
905
- .btn-medium:focus, .btn-medium.focus, .btn-medium.btn.btn-loading, .btn-medium.btn.btn-loading:focus:hover, .btn-medium.btn.btn-loading:focus:active, .btn-medium.btn-default.btn-loading, .btn-medium.btn-loading.btn-icon, .btn-medium.btn-default.btn-loading:focus:hover, .btn-medium.btn-loading.btn-icon:focus:hover, .btn-medium.btn-default.btn-loading:focus:active, .btn-medium.btn-loading.btn-icon:focus:active, .btn-group.opened .btn-medium.btn-dropdown {
906
- border-width: 2px;
907
- padding: 3px 11px; }
908
-
909
- .btn-small {
910
- font-size: 0.755em;
911
- padding: 3px 8px;
912
- border-radius: 3px;
913
- line-height: 1.4em;
914
- height: 2.333em;
915
- min-width: 7em; }
916
- .btn-small:focus, .btn-small.focus, .btn-small.btn.btn-loading, .btn-small.btn.btn-loading:focus:hover, .btn-small.btn.btn-loading:focus:active, .btn-small.btn-default.btn-loading, .btn-small.btn-loading.btn-icon, .btn-small.btn-default.btn-loading:focus:hover, .btn-small.btn-loading.btn-icon:focus:hover, .btn-small.btn-default.btn-loading:focus:active, .btn-small.btn-loading.btn-icon:focus:active, .btn-group.opened .btn-small.btn-dropdown {
917
- border-width: 2px;
918
- padding: 2px 7px; }
919
-
920
- /* buttons' types */
921
- .btn-default, .btn-icon {
922
- background-color: #f6f6f6;
923
- color: #333;
924
- border-color: #cccccc; }
925
- .btn-default:hover, .btn-icon:hover {
926
- background-color: #fff;
927
- color: #137ebe;
928
- border-color: #89bede; }
929
- .btn-default:focus, .btn-icon:focus, .btn-default.focus, .focus.btn-icon, .btn-group.opened .btn-icon.btn-dropdown, .btn-group.opened .btn-default.btn-dropdown {
930
- background-color: #eaf2f7;
931
- border-color: #b3cad5; }
932
- .btn-default:focus:hover, .btn-icon:focus:hover {
933
- background-color: #fff;
934
- border-color: #137ebe; }
935
- .btn-default:active, .btn-icon:active {
936
- background-color: #fff;
937
- color: #5ebbf3;
938
- border-color: #aeddf9; }
939
- .btn-default:focus:active, .btn-icon:focus:active {
940
- background-color: #fff;
941
- border-color: #5ebbf3; }
942
- .btn-default.btn-loading, .btn-loading.btn-icon, .btn-default.btn-loading:hover, .btn-loading.btn-icon:hover, .btn-default.btn-loading:focus, .btn-loading.btn-icon:focus, .btn-default.btn-loading:focus:hover, .btn-loading.btn-icon:focus:hover, .btn-default.btn-loading:active, .btn-loading.btn-icon:active, .btn-default.btn-loading:focus:active, .btn-loading.btn-icon:focus:active {
943
- position: relative;
944
- background-color: #aeddf9;
945
- border-color: #aeddf9;
946
- overflow: visible; }
947
- .btn-default.btn-loading .loader-inner, .btn-loading.btn-icon .loader-inner, .btn-default.btn-loading .loader-outer, .btn-loading.btn-icon .loader-outer, .btn-default.btn-loading:hover .loader-inner, .btn-loading.btn-icon:hover .loader-inner, .btn-default.btn-loading:hover .loader-outer, .btn-loading.btn-icon:hover .loader-outer, .btn-default.btn-loading:focus .loader-inner, .btn-loading.btn-icon:focus .loader-inner, .btn-default.btn-loading:focus .loader-outer, .btn-loading.btn-icon:focus .loader-outer, .btn-default.btn-loading:focus:hover .loader-inner, .btn-loading.btn-icon:focus:hover .loader-inner, .btn-default.btn-loading:focus:hover .loader-outer, .btn-loading.btn-icon:focus:hover .loader-outer, .btn-default.btn-loading:active .loader-inner, .btn-loading.btn-icon:active .loader-inner, .btn-default.btn-loading:active .loader-outer, .btn-loading.btn-icon:active .loader-outer, .btn-default.btn-loading:focus:active .loader-inner, .btn-loading.btn-icon:focus:active .loader-inner, .btn-default.btn-loading:focus:active .loader-outer, .btn-loading.btn-icon:focus:active .loader-outer {
948
- fill: #aeddf9; }
949
-
950
- .btn-default[disabled], [disabled].btn-icon, .btn-default[disabled]:hover, [disabled].btn-icon:hover, .btn-default[disabled]:focus, [disabled].btn-icon:focus, .btn-default[disabled]:focus:hover, [disabled].btn-icon:focus:hover, .btn-default[disabled]:active, [disabled].btn-icon:active, .btn-default[disabled]:focus:active, [disabled].btn-icon:focus:active {
951
- background-color: #f6f6f6;
952
- color: #333;
953
- border-color: transparent;
954
- border-color: #cccccc; }
955
-
956
- .btn-alt {
957
- background-color: #fff;
958
- color: #333; }
959
- .btn-alt:hover {
960
- background-color: #edf8ff;
961
- color: #137ebe; }
962
- .btn-alt:active {
963
- background-color: #fff;
964
- color: #54bfd6; }
965
- .btn-alt:focus {
966
- border-color: #fff;
967
- background-color: #d3e6f1; }
968
- .btn-alt:focus:hover {
969
- background-color: #dce6ed; }
970
- .btn-alt:focus:active {
971
- background-color: #fff; }
972
-
973
- .btn-alt[disabled], .btn-alt[disabled]:hover, .btn-alt[disabled]:focus, .btn-alt[disabled]:focus:hover, .btn-alt[disabled]:active, .btn-alt[disabled]:focus:active {
974
- background-color: #fff;
975
- color: #333;
976
- border-color: transparent; }
977
-
978
- /* btn-primary */
979
- .btn-primary,
980
- .ecwid-button .btn-primary {
981
- color: #fff;
982
- background-color: #189dee;
983
- border-color: transparent; }
984
- .btn-primary:hover {
985
- background-color: #137dbe; }
986
- .btn-primary:focus {
987
- border-color: #106da6; }
988
- .btn-primary:focus:hover {
989
- background-color: #137dbe; }
990
- .btn-primary:active {
991
- background-color: #46b0f1; }
992
- .btn-primary:focus:active {
993
- background-color: #46b0f1; }
994
- .btn-primary.btn.btn-loading, .btn-primary.btn.btn-loading:focus:hover, .btn-primary.btn.btn-loading:focus:active, .btn-primary.btn-default.btn-loading, .btn-primary.btn-loading.btn-icon, .btn-primary.btn-default.btn-loading:focus:hover, .btn-primary.btn-loading.btn-icon:focus:hover, .btn-primary.btn-default.btn-loading:focus:active, .btn-primary.btn-loading.btn-icon:focus:active {
995
- position: relative;
996
- background-color: #46b0f1;
997
- border-color: transparent;
998
- overflow: visible; }
999
- .btn-group.opened .btn-primary.btn-dropdown {
1000
- border-color: #106da6; }
1001
- .btn-primary.btn-loading .loader-inner, .btn-primary.btn-loading .loader-outer, .btn-primary.btn-loading:hover .loader-inner, .btn-primary.btn-loading:hover .loader-outer, .btn-primary.btn-loading:focus .loader-inner, .btn-primary.btn-loading:focus .loader-outer, .btn-primary.btn-loading:focus:hover .loader-inner, .btn-primary.btn-loading:focus:hover .loader-outer, .btn-primary.btn-loading:active .loader-inner, .btn-primary.btn-loading:active .loader-outer, .btn-primary.btn-loading:focus:active .loader-inner, .btn-primary.btn-loading:focus:active .loader-outer {
1002
- fill: #46b0f1; }
1003
-
1004
- .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled]:focus:hover, .btn-primary[disabled]:active, .btn-primary[disabled]:focus:active {
1005
- background-color: #189dee;
1006
- color: #fff;
1007
- border-color: transparent; }
1008
-
1009
- /* btn-success */
1010
- .btn-success,
1011
- .ecwid-button .btn-success {
1012
- color: #fff;
1013
- background-color: #64a52f;
1014
- border-color: transparent; }
1015
- .btn-success:hover {
1016
- background-color: #508425; }
1017
- .btn-success:focus {
1018
- border-color: #467320; }
1019
- .btn-success:focus:hover {
1020
- background-color: #508425; }
1021
- .btn-success:active {
1022
- background-color: #83b758; }
1023
- .btn-success:focus:active {
1024
- background-color: #83b758; }
1025
- .btn-success.btn.btn-loading, .btn-success.btn.btn-loading:focus:hover, .btn-success.btn.btn-loading:focus:active, .btn-success.btn-default.btn-loading, .btn-success.btn-loading.btn-icon, .btn-success.btn-default.btn-loading:focus:hover, .btn-success.btn-loading.btn-icon:focus:hover, .btn-success.btn-default.btn-loading:focus:active, .btn-success.btn-loading.btn-icon:focus:active {
1026
- position: relative;
1027
- background-color: #83b758;
1028
- border-color: transparent;
1029
- overflow: visible; }
1030
- .btn-group.opened .btn-success.btn-dropdown {
1031
- border-color: #467320; }
1032
- .btn-success.btn-loading .loader-inner, .btn-success.btn-loading .loader-outer, .btn-success.btn-loading:hover .loader-inner, .btn-success.btn-loading:hover .loader-outer, .btn-success.btn-loading:focus .loader-inner, .btn-success.btn-loading:focus .loader-outer, .btn-success.btn-loading:focus:hover .loader-inner, .btn-success.btn-loading:focus:hover .loader-outer, .btn-success.btn-loading:active .loader-inner, .btn-success.btn-loading:active .loader-outer, .btn-success.btn-loading:focus:active .loader-inner, .btn-success.btn-loading:focus:active .loader-outer {
1033
- fill: #83b758; }
1034
-
1035
- .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled]:focus:hover, .btn-success[disabled]:active, .btn-success[disabled]:focus:active {
1036
- background-color: #64a52f;
1037
- color: #fff;
1038
- border-color: transparent; }
1039
-
1040
- /* btn-info */
1041
- .btn-info {
1042
- color: #fff;
1043
- background-color: #1baecd;
1044
- border-color: transparent; }
1045
- .btn-info:hover {
1046
- background-color: #158ba4; }
1047
- .btn-info:focus {
1048
- border-color: #12798f; }
1049
- .btn-info:focus:hover {
1050
- background-color: #158ba4; }
1051
- .btn-info:active {
1052
- background-color: #48bed7; }
1053
- .btn-info:focus:active {
1054
- background-color: #48bed7; }
1055
- .btn-info.btn.btn-loading, .btn-info.btn.btn-loading:focus:hover, .btn-info.btn.btn-loading:focus:active, .btn-info.btn-default.btn-loading, .btn-info.btn-loading.btn-icon, .btn-info.btn-default.btn-loading:focus:hover, .btn-info.btn-loading.btn-icon:focus:hover, .btn-info.btn-default.btn-loading:focus:active, .btn-info.btn-loading.btn-icon:focus:active {
1056
- position: relative;
1057
- background-color: #48bed7;
1058
- border-color: transparent;
1059
- overflow: visible; }
1060
- .btn-group.opened .btn-info.btn-dropdown {
1061
- border-color: #12798f; }
1062
- .btn-info.btn-loading .loader-inner, .btn-info.btn-loading .loader-outer, .btn-info.btn-loading:hover .loader-inner, .btn-info.btn-loading:hover .loader-outer, .btn-info.btn-loading:focus .loader-inner, .btn-info.btn-loading:focus .loader-outer, .btn-info.btn-loading:focus:hover .loader-inner, .btn-info.btn-loading:focus:hover .loader-outer, .btn-info.btn-loading:active .loader-inner, .btn-info.btn-loading:active .loader-outer, .btn-info.btn-loading:focus:active .loader-inner, .btn-info.btn-loading:focus:active .loader-outer {
1063
- fill: #48bed7; }
1064
-
1065
- .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled]:focus:hover, .btn-info[disabled]:active, .btn-info[disabled]:focus:active {
1066
- background-color: #1baecd;
1067
- color: #fff;
1068
- border-color: transparent; }
1069
-
1070
- /* btn-info-light */
1071
- .btn-info-light {
1072
- color: #fff;
1073
- background-color: #99d5e1;
1074
- border-color: transparent; }
1075
- .btn-info-light:hover {
1076
- background-color: #7aaab4; }
1077
- .btn-info-light:focus {
1078
- border-color: #6b959d; }
1079
- .btn-info-light:focus:hover {
1080
- background-color: #7aaab4; }
1081
- .btn-info-light:active {
1082
- background-color: #addde7; }
1083
- .btn-info-light:focus:active {
1084
- background-color: #addde7; }
1085
- .btn-info-light.btn.btn-loading, .btn-info-light.btn.btn-loading:focus:hover, .btn-info-light.btn.btn-loading:focus:active, .btn-info-light.btn-default.btn-loading, .btn-info-light.btn-loading.btn-icon, .btn-info-light.btn-default.btn-loading:focus:hover, .btn-info-light.btn-loading.btn-icon:focus:hover, .btn-info-light.btn-default.btn-loading:focus:active, .btn-info-light.btn-loading.btn-icon:focus:active {
1086
- position: relative;
1087
- background-color: #addde7;
1088
- border-color: transparent;
1089
- overflow: visible; }
1090
- .btn-group.opened .btn-info-light.btn-dropdown {
1091
- border-color: #6b959d; }
1092
- .btn-info-light.btn-loading .loader-inner, .btn-info-light.btn-loading .loader-outer, .btn-info-light.btn-loading:hover .loader-inner, .btn-info-light.btn-loading:hover .loader-outer, .btn-info-light.btn-loading:focus .loader-inner, .btn-info-light.btn-loading:focus .loader-outer, .btn-info-light.btn-loading:focus:hover .loader-inner, .btn-info-light.btn-loading:focus:hover .loader-outer, .btn-info-light.btn-loading:active .loader-inner, .btn-info-light.btn-loading:active .loader-outer, .btn-info-light.btn-loading:focus:active .loader-inner, .btn-info-light.btn-loading:focus:active .loader-outer {
1093
- fill: #addde7; }
1094
-
1095
- .btn-info-light[disabled], .btn-info-light[disabled]:hover, .btn-info-light[disabled]:focus, .btn-info-light[disabled]:focus:hover, .btn-info-light[disabled]:active, .btn-info-light[disabled]:focus:active {
1096
- background-color: #99d5e1;
1097
- color: #fff;
1098
- border-color: transparent; }
1099
-
1100
- /* btn-warning */
1101
- .btn-warning {
1102
- color: #fff;
1103
- background-color: #bfa454;
1104
- border-color: transparent; }
1105
- .btn-warning:hover {
1106
- background-color: #988343; }
1107
- .btn-warning:focus {
1108
- border-color: #85723a; }
1109
- .btn-warning:focus:hover {
1110
- background-color: #988343; }
1111
- .btn-warning:active {
1112
- background-color: #cbb676; }
1113
- .btn-warning:focus:active {
1114
- background-color: #cbb676; }
1115
- .btn-warning.btn.btn-loading, .btn-warning.btn.btn-loading:focus:hover, .btn-warning.btn.btn-loading:focus:active, .btn-warning.btn-default.btn-loading, .btn-warning.btn-loading.btn-icon, .btn-warning.btn-default.btn-loading:focus:hover, .btn-warning.btn-loading.btn-icon:focus:hover, .btn-warning.btn-default.btn-loading:focus:active, .btn-warning.btn-loading.btn-icon:focus:active {
1116
- position: relative;
1117
- background-color: #cbb676;
1118
- border-color: transparent;
1119
- overflow: visible; }
1120
- .btn-group.opened .btn-warning.btn-dropdown {
1121
- border-color: #85723a; }
1122
- .btn-warning.btn-loading .loader-inner, .btn-warning.btn-loading .loader-outer, .btn-warning.btn-loading:hover .loader-inner, .btn-warning.btn-loading:hover .loader-outer, .btn-warning.btn-loading:focus .loader-inner, .btn-warning.btn-loading:focus .loader-outer, .btn-warning.btn-loading:focus:hover .loader-inner, .btn-warning.btn-loading:focus:hover .loader-outer, .btn-warning.btn-loading:active .loader-inner, .btn-warning.btn-loading:active .loader-outer, .btn-warning.btn-loading:focus:active .loader-inner, .btn-warning.btn-loading:focus:active .loader-outer {
1123
- fill: #cbb676; }
1124
-
1125
- .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled]:focus:hover, .btn-warning[disabled]:active, .btn-warning[disabled]:focus:active {
1126
- background-color: #bfa454;
1127
- color: #fff;
1128
- border-color: transparent; }
1129
-
1130
- /* btn-inverse */
1131
- .btn-inverse, .btn-inverse:hover, .btn-inverse:focus, .btn-inverse:active {
1132
- color: #333; }
1133
-
1134
- /* icons on btn */
1135
- .btn [class*="icon-"] {
1136
- color: inherit;
1137
- padding-right: 0.688em;
1138
- vertical-align: text-top;
1139
- font-size: 1.143em;
1140
- margin-top: 1px;
1141
- opacity: .8; }
1142
-
1143
- .btn-left-caret [class*="icon-"] {
1144
- float: left;
1145
- margin-top: 4px;
1146
- padding-right: 8px; }
1147
-
1148
- .btn-small.btn-left-caret [class*="icon-"] {
1149
- float: left;
1150
- margin-top: 1px;
1151
- padding-right: 7px; }
1152
-
1153
- .btn-medium.btn-left-caret [class*="icon-"] {
1154
- float: left;
1155
- margin-top: 4px; }
1156
-
1157
- .btn-large.btn-left-caret [class*="icon-"] {
1158
- float: left;
1159
- margin-top: 8px;
1160
- padding-right: 10px; }
1161
-
1162
- /* btn-icon */
1163
- .btn-icon {
1164
- min-width: 40px; }
1165
- .btn-icon.btn-large {
1166
- min-width: 60px; }
1167
- .btn-icon.btn-medium {
1168
- min-width: 45px; }
1169
- .btn-icon.btn-small {
1170
- min-width: 30px; }
1171
- .btn-icon [class*='icon-'] {
1172
- padding: 0; }
1173
-
1174
- /* button group */
1175
- .btn-group {
1176
- position: relative;
1177
- display: inline-block;
1178
- vertical-align: middle; }
1179
- .btn-group > .btn {
1180
- position: relative;
1181
- float: left; }
1182
- .btn-group > .btn:focus {
1183
- outline: 0;
1184
- z-index: 1; }
1185
-
1186
- .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group {
1187
- margin-left: -1px; }
1188
-
1189
- .btn-group > .btn:not(:first-child):not(:last-child):not(.btn-dropdown) {
1190
- border-radius: 0; }
1191
-
1192
- .btn-group > .btn:first-child {
1193
- margin-left: 0; }
1194
- .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
1195
- border-top-right-radius: 0;
1196
- border-bottom-right-radius: 0; }
1197
-
1198
- .btn-group > .btn:last-child:not(:first-child), .btn-group > .btn-dropdown:not(:first-child) {
1199
- border-top-left-radius: 0;
1200
- border-bottom-left-radius: 0; }
1201
-
1202
- .btn-group .btn-dropdown {
1203
- min-width: 30px;
1204
- vertical-align: middle; }
1205
- .btn-group .btn-dropdown [class*='icon-'] {
1206
- font-size: .3em;
1207
- vertical-align: middle;
1208
- margin-top: -2px;
1209
- padding: 0; }
1210
-
1211
- .btn-group .list-dropdown {
1212
- top: 100%;
1213
- right: 0;
1214
- margin: 2px 0 0 0;
1215
- box-shadow: 0 1px 4px #b5b5b5;
1216
- display: none; }
1217
-
1218
- .opened > .list-dropdown {
1219
- display: block; }
1220
-
1221
- .btn-group .btn-dropdown {
1222
- border-left-color: rgba(255, 255, 255, 0.6); }
1223
- .btn-group .btn-dropdown.btn-default, .btn-group .btn-dropdown.btn-icon {
1224
- border-color: #cccccc; }
1225
-
1226
- .normalized .form-control, .normalized .input-prefix-suffix {
1227
- display: inline-block;
1228
- width: 100%;
1229
- vertical-align: middle;
1230
- outline: 0;
1231
- border: 1px solid #c7c7c7;
1232
- background-color: #fafbfc;
1233
- color: #606060;
1234
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.07);
1235
- -moz-box-sizing: border-box;
1236
- box-sizing: border-box;
1237
- font-size: 0.813em;
1238
- padding: 4px 8px;
1239
- border-radius: 3px;
1240
- line-height: 1.75em;
1241
- height: 2.462em;
1242
- -webkit-transition: color 0.1s linear, background-color 0.1s linear, border-color 0.1s linear, box-shadow 0.1s linear;
1243
- transition: color 0.1s linear, background-color 0.1s linear, border-color 0.1s linear, box-shadow 0.1s linear; }
1244
- .normalized .form-control:focus, .normalized .input-prefix-suffix:focus, .normalized .form-control.focus, .normalized .focus.input-prefix-suffix {
1245
- border-width: 2px;
1246
- padding: 3px 7px; }
1247
- .normalized .form-control:hover, .normalized .input-prefix-suffix:hover {
1248
- background-color: #fff; }
1249
- .normalized .form-control:focus, .normalized .input-prefix-suffix:focus, .normalized .form-control.focus, .normalized .focus.input-prefix-suffix, .normalized .form-control:active, .normalized .input-prefix-suffix:active, .normalized .form-control.active, .normalized .active.input-prefix-suffix {
1250
- background-color: #fff;
1251
- border-color: #0c92e3;
1252
- color: #606060;
1253
- box-shadow: 0 0 4px #d1eafa; }
1254
- .normalized .form-control[disabled], .normalized [disabled].input-prefix-suffix, .normalized .form-control[readonly], .normalized [readonly].input-prefix-suffix, .normalized .form-control[disabled]:hover, .normalized [disabled].input-prefix-suffix:hover, .normalized .form-control[disabled]:focus, .normalized [disabled].input-prefix-suffix:focus, .normalized .form-control[disabled]:focus:hover, .normalized [disabled].input-prefix-suffix:focus:hover, .normalized .form-control[disabled]:active, .normalized [disabled].input-prefix-suffix:active, .normalized .form-control[disabled]:focus:active, .normalized [disabled].input-prefix-suffix:focus:active {
1255
- background-color: #eeeeee;
1256
- border-color: #c7c7c7;
1257
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.07);
1258
- cursor: not-allowed; }
1259
-
1260
- .normalized .form-control::-moz-placeholder, .normalized .input-prefix-suffix::-moz-placeholder {
1261
- color: #606060;
1262
- opacity: .6; }
1263
-
1264
- .normalized .form-control::-webkit-input-placeholder, .normalized .input-prefix-suffix::-webkit-input-placeholder {
1265
- color: #606060;
1266
- opacity: .6; }
1267
-
1268
- .normalized .form-control::-ms-input-placeholder, .normalized .input-prefix-suffix::-ms-input-placeholder {
1269
- color: #606060;
1270
- opacity: .6; }
1271
-
1272
- .normalized .has-error .form-control, .normalized .has-error .input-prefix-suffix {
1273
- border: 2px solid #fa5111;
1274
- padding: 4px 7px;
1275
- color: #cf3e07;
1276
- background-color: #ffeaea;
1277
- box-shadow: none;
1278
- -webkit-transition: background 0.15s linear, color 0.15s linear, border-color 0.15s linear, box-shadow 0.15s linear;
1279
- transition: background 0.15s linear, color 0.15s linear, border-color 0.15s linear, box-shadow 0.15s linear; }
1280
-
1281
- .normalized .has-error .form-control:hover, .normalized .has-error .input-prefix-suffix:hover {
1282
- background-color: #fff; }
1283
-
1284
- .normalized .has-error .form-control:focus, .normalized .has-error .input-prefix-suffix:focus {
1285
- background-color: #fff;
1286
- box-shadow: 0 0 4px #F5C0C0; }
1287
-
1288
- .normalized .has-success .form-control, .normalized .has-success .input-prefix-suffix {
1289
- border: 2px solid #468847;
1290
- padding: 4px 7px;
1291
- background-color: #eaffea;
1292
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1293
- color: #468847;
1294
- transition: background 0.15s linear, color 0.15s linear, border-color 0.15s linear, box-shadow 0.15s linear;
1295
- -webkit-transition: background 0.15s linear, color 0.15s linear, border-color 0.15s linear, box-shadow 0.15s linear; }
1296
-
1297
- .normalized .has-success .form-control:focus, .normalized .has-success .input-prefix-suffix:focus {
1298
- background-color: #fff;
1299
- box-shadow: 0 0 4px #88c889; }
1300
-
1301
- .loader svg {
1302
- height: 100%;
1303
- width: 100%; }
1304
-
1305
- [class*="loading"] .loader .spin-left {
1306
- -webkit-animation: spinleft 1s infinite linear;
1307
- animation: spinleft 1s infinite linear; }
1308
-
1309
- [class*="loading"] .loader .spin-right {
1310
- -webkit-animation: spinright 0.5s infinite linear;
1311
- animation: spinright 0.5s infinite linear; }
1312
-
1313
- .btn .loader {
1314
- position: absolute;
1315
- width: 100%;
1316
- height: 160%;
1317
- top: -30%;
1318
- left: 0;
1319
- display: none;
1320
- z-index: 1;
1321
- overflow: hidden;
1322
- -webkit-animation: fadein .1s 1 linear;
1323
- animation: fadein .1s 1 linear; }
1324
- .btn .loader .ecwid-spinner {
1325
- margin: 0 auto;
1326
- height: 100%;
1327
- height: -webkit-calc(100% + 0px);
1328
- width: -webkit-calc(100% + 0px); }
1329
-
1330
- .btn-loading .loader {
1331
- display: block; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
css/page-editor.css CHANGED
@@ -1,60 +1,58 @@
1
  .mce-content-body img.ecwid-store-editor,
2
  .mceContentBody img.ecwid-store-editor
3
  {
4
- padding-top: 30px;
5
- background: #F1F1F1;
6
- border: 1px solid #E7E7E7;
7
- height: 200px;
8
- width: 100%;
9
- display: block;
10
  }
11
 
12
  .mce-content-body .ecwid-store-editor[data-ecwid-store-select="1"],
13
  .mceContentBody .ecwid-store-editor[data-ecwid-store-select="1"]
14
  {
15
- outline: 1px solid #777;
16
  }
17
 
18
  #ecwid-store-toolbar {
19
- position: absolute;
20
  }
21
 
22
  #ecwid-store-toolbar div {
23
- margin-top: 7px;
24
- margin-left: 7px;
25
- padding: 2px;
26
- width: 30px;
27
- height: 30px;
28
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
29
- background-color: #000;
30
- background-color: rgba(0, 0, 0, 0.9);
31
- cursor: pointer;
32
- color: #FFF;
33
- font-size: 30px;
34
- line-height: 1;
35
  }
36
 
37
 
38
 
39
  #ecwid-edit-store-button {
40
- padding: 0 12px 2px;
41
- height: 30px;
42
- line-height: 28px;
43
-
44
- font-size: 14px;
45
- font-family: "Open Sans", helvetica, arial, sans-serif;
46
-
47
- background: #2EA2CC;
48
- color: #FFF;
49
-
50
- border: 1px solid #0074A2;
51
- border-radius: 3px;
52
- box-shadow: inset 0 1px 0 rgba(120, 200, 230, 0.5), 0 1px 0 rgba(0, 0, 0, 0.15);
53
-
54
- cursor: pointer;
55
  }
56
 
57
 
58
  #ecwid-edit-store-button:hover {
59
- background: #1E8CBE;
60
  }
1
  .mce-content-body img.ecwid-store-editor,
2
  .mceContentBody img.ecwid-store-editor
3
  {
4
+ padding-top: 30px !important;
5
+ background: #F1F1F1 !important;
6
+ border: 1px solid #E7E7E7 !important;
7
+ height: 200px !important;
8
+ width: 100% !important;
9
+ display: block !important;
10
  }
11
 
12
  .mce-content-body .ecwid-store-editor[data-ecwid-store-select="1"],
13
  .mceContentBody .ecwid-store-editor[data-ecwid-store-select="1"]
14
  {
15
+ outline: 1px solid #777 !important;
16
  }
17
 
18
  #ecwid-store-toolbar {
19
+ position: absolute !important;
20
  }
21
 
22
  #ecwid-store-toolbar div {
23
+ margin-top: 7px !important;
24
+ margin-left: 7px !important;
25
+ padding: 2px !important;
26
+ width: 30px !important;
27
+ height: 30px !important;
28
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) !important;
29
+ background-color: #000 !important;
30
+ background-color: rgba(0, 0, 0, 0.9) !important;
31
+ cursor: pointer !important;
32
+ color: #FFF !important;
33
+ font-size: 30px !important;
34
+ line-height: 1 !important;
35
  }
36
 
37
 
38
 
39
  #ecwid-edit-store-button {
40
+ padding: 0 12px 2px !important;
41
+ height: 30px !important;
42
+ line-height: 28px !important;
43
+ font-size: 14px !important;
44
+ font-family: "Open Sans", helvetica, arial, sans-serif !important;
45
+ background: #2EA2CC !important;
46
+ color: #FFF !important;
47
+ border: 1px solid #0074A2 !important;
48
+ border-radius: 3px !important;
49
+ box-shadow: inset 0 1px 0 rgba(120, 200, 230, 0.5), 0 1px 0 rgba(0, 0, 0, 0.15) !important;
50
+ cursor: pointer !important;
51
+ text-transform: capitalize !important;
52
+ text-decoration: none !important;
 
 
53
  }
54
 
55
 
56
  #ecwid-edit-store-button:hover {
57
+ background: #1E8CBE !important;
58
  }
css/themes/jevelin3.css ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ html#ecwid_html body#ecwid_body .ecwid-responsive .ecwid-productBrowser-innerTable {
2
+ display: none;
3
+ }
4
+ html#ecwid_html body#ecwid_body .entry-content {
5
+ color: #3f3f3f;
6
+ }
css/themes/newstore.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ html#ecwid_html body#ecwid_body .post-single .entry-content {
2
+ color: #212529;
3
+ }
css/welcome-page.css ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ @font-face{font-family:'HCo Gotham';src:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Thin_Web.woff2") format("woff2"),url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Thin_Web.woff") format("woff");font-weight:100;font-style:normal}@font-face{font-family:'HCo Gotham';src:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-XLight_Web.woff2") format("woff2"),url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-XLight_Web.woff") format("woff");font-weight:200;font-style:normal}@font-face{font-family:'HCo Gotham';src:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Light_Web.woff2") format("woff2"),url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Light_Web.woff") format("woff");font-weight:300;font-style:normal}@font-face{font-family:'HCo Gotham';src:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Book_Web.woff2") format("woff2"),url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Book_Web.woff") format("woff");font-weight:400;font-style:normal}@font-face{font-family:'HCo Gotham';src:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-BookItalic_Web.woff2") format("woff2"),url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-BookItalic_Web.woff") format("woff");font-weight:400;font-style:italic}@font-face{font-family:'HCo Gotham';src:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Medium_Web.woff2") format("woff2"),url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Medium_Web.woff") format("woff");font-weight:500;font-style:normal}@font-face{font-family:'HCo Gotham';src:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Bold_Web.woff2") format("woff2"),url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Bold_Web.woff") format("woff");font-weight:700;font-style:normal}@font-face{font-family:'HCo Gotham';src:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Black_Web.woff2") format("woff2"),url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Black_Web.woff") format("woff");font-weight:800;font-style:normal}@font-face{font-family:'HCo Gotham';src:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Ultra_Web.woff2") format("woff2"),url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/hco_gotham/Gotham-Ultra_Web.woff") format("woff");font-weight:900;font-style:normal}@font-face{font-family:'Anonymous Pro';src:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/fonts/AnonymousPro-Bold.ttf") format("truetype");font-weight:700;font-style:normal}@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}.container{width:100%;padding-right:24px;padding-left:24px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}@media (min-width: 1360px){.container{max-width:1344px}}.container-fluid{width:100%;padding-right:24px;padding-left:24px;margin-right:auto;margin-left:auto}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-24px;margin-left:-24px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl,.col-xl-auto,.col-xxl-1,.col-xxl-2,.col-xxl-3,.col-xxl-4,.col-xxl-5,.col-xxl-6,.col-xxl-7,.col-xxl-8,.col-xxl-9,.col-xxl-10,.col-xxl-11,.col-xxl-12,.col-xxl,.col-xxl-auto{position:relative;width:100%;min-height:1px;padding-right:24px;padding-left:24px;-webkit-box-sizing:border-box;box-sizing:border-box}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width: 576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width: 768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width: 992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width: 1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}@media (min-width: 1360px){.col-xxl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xxl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xxl-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-xxl-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-xxl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xxl-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-xxl-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-xxl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xxl-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-xxl-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-xxl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xxl-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-xxl-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-xxl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xxl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xxl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xxl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xxl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xxl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xxl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xxl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xxl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xxl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xxl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xxl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xxl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xxl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xxl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xxl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}}.flex-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}@media (min-width: 576px){.flex-sm-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-sm-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-sm-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-sm-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-sm-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-sm-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-sm-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-sm-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-sm-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-sm-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-sm-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-sm-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-sm-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-sm-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-sm-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-sm-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-sm-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-sm-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-sm-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-sm-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-sm-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-sm-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-sm-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-sm-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-sm-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-sm-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-sm-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-sm-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-sm-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-sm-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-sm-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-sm-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-sm-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media (min-width: 768px){.flex-md-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-md-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-md-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-md-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-md-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-md-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-md-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-md-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-md-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-md-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-md-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-md-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-md-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-md-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-md-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-md-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-md-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-md-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-md-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-md-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-md-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-md-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-md-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-md-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-md-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-md-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-md-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-md-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-md-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-md-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-md-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-md-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-md-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media (min-width: 992px){.flex-lg-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-lg-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-lg-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-lg-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-lg-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-lg-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-lg-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-lg-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-lg-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-lg-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-lg-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-lg-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-lg-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-lg-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-lg-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-lg-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-lg-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-lg-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-lg-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-lg-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-lg-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-lg-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-lg-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-lg-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-lg-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-lg-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-lg-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-lg-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-lg-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-lg-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-lg-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-lg-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-lg-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media (min-width: 1200px){.flex-xl-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-xl-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-xl-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-xl-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-xl-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-xl-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-xl-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-xl-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-xl-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-xl-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-xl-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-xl-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-xl-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-xl-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-xl-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-xl-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-xl-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-xl-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-xl-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-xl-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-xl-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-xl-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-xl-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-xl-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-xl-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-xl-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-xl-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-xl-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-xl-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-xl-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-xl-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-xl-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-xl-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media (min-width: 1360px){.flex-xxl-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-xxl-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-xxl-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-xxl-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-xxl-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-xxl-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-xxl-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-xxl-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-xxl-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-xxl-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-xxl-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-xxl-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-xxl-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-xxl-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-xxl-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-xxl-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-xxl-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-xxl-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-xxl-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-xxl-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-xxl-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-xxl-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-xxl-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-xxl-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-xxl-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-xxl-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-xxl-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-xxl-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-xxl-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-xxl-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-xxl-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-xxl-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-xxl-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}@media (min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-sm-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}@media (min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-md-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}@media (min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-lg-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}@media (min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-xl-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}@media (min-width: 1360px){.d-xxl-none{display:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-xxl-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}.calypso-page{color:#000;font-size:18px;line-height:32px;background:#fff;font-family:"HCo Gotham", sans-serif}.calypso-page h1,.calypso-page .h1{font-size:48px;line-height:56px;font-weight:900;margin:0 0 16px}@media (min-width: 992px){.calypso-page h1,.calypso-page .h1{font-size:64px;line-height:72px}}.calypso-page h2,.calypso-page .h2{font-size:40px;line-height:48px;font-weight:900;margin:0 0 16px}@media (min-width: 992px){.calypso-page h2,.calypso-page .h2{font-size:48px;line-height:56px}}.calypso-page h3,.calypso-page .h3{font-size:32px;line-height:40px;font-weight:900;margin:0 0 16px}@media (min-width: 992px){.calypso-page h3,.calypso-page .h3{font-size:40px;line-height:48px}}.calypso-page h4,.calypso-page .h4{font-size:18px;line-height:32px;font-weight:800;margin:0 0 8px}@media (min-width: 992px){.calypso-page h4,.calypso-page .h4{font-size:24px;line-height:32px}}.calypso-page h5,.calypso-page .h5{font-size:18px;line-height:32px;font-weight:normal;margin:0 0 8px}.calypso-page h1,.calypso-page h2,.calypso-page h3,.calypso-page h4,.calypso-page h5,.calypso-page h6{color:#000}.calypso-page h1:last-child,.calypso-page h1:only-child,.calypso-page h2:last-child,.calypso-page h2:only-child,.calypso-page h3:last-child,.calypso-page h3:only-child,.calypso-page h4:last-child,.calypso-page h4:only-child,.calypso-page h5:last-child,.calypso-page h5:only-child,.calypso-page h6:last-child,.calypso-page h6:only-child{margin-bottom:0}.calypso-page .h1--large{font-size:40px;line-height:48px;font-weight:900}@media (min-width: 992px){.calypso-page .h1--large{font-size:72px;line-height:72px}}.calypso-page .h5--large{font-size:24px;line-height:32px;font-weight:400}@media (min-width: 992px){.calypso-page .h5--large{font-size:32px;line-height:40px}}.calypso-page .h1--ru{font-size:48px;line-height:48px;font-weight:800}@media (min-width: 992px){.calypso-page .h1--ru{font-size:72px;line-height:80px}}.calypso-page .h2--italic,.calypso-page .h3--italic,.calypso-page .h4--italic{font-weight:400;font-style:italic}.calypso-page .h2--EW19{font-size:40px;line-height:56px;font-weight:900;margin-top:24px}@media (min-width: 992px){.calypso-page .h2--EW19{font-size:72px;line-height:80px}}.calypso-page .h3--ru{font-size:40px;line-height:40px;font-weight:800}@media (min-width: 992px){.calypso-page .h3--ru{font-size:48px;line-height:48px}}.calypso-page .h4--ru{font-size:32px;line-height:48px;font-weight:600}.calypso-page .row+.row{margin-top:24px}@media (min-width: 992px){.calypso-page .row+.row{margin-top:48px}}.calypso-page.row--EW19{margin-top:32px}@media (min-width: 992px){.calypso-page.row--EW19{margin-top:64px}}.calypso-page a{color:#007ac9;cursor:pointer;text-decoration:none;-webkit-transition:color .1s linear;transition:color .1s linear;font-weight:500}.calypso-page a:hover{color:#00479f}.calypso-page p,.calypso-page li{font-size:18px;line-height:32px;margin:16px 0 0}.calypso-page p:first-child,.calypso-page p:only-child,.calypso-page li:first-child,.calypso-page li:only-child{margin-top:0}.calypso-page p+ul,.calypso-page p ol,.calypso-page li+ul,.calypso-page li ol{margin:16px 0 0}.calypso-page p+h1,.calypso-page p+.h1,.calypso-page p+h2,.calypso-page p+.h2,.calypso-page p+h3,.calypso-page p+.h3,.calypso-page p+h4,.calypso-page p+.h4,.calypso-page p+h5,.calypso-page p+.h5{margin-top:32px}.calypso-page ul,.calypso-page ol{margin:0;padding-left:20px}.calypso-page ul.dashed,.calypso-page ol.dashed{list-style-type:none}.calypso-page ul.dashed li,.calypso-page ol.dashed li{text-indent:-20px}.calypso-page ul.dashed li:before,.calypso-page ol.dashed li:before{content:"\2014";text-indent:-20px;padding-right:10px}.calypso-page ul li,.calypso-page ol li{text-align:left;margin:0}.calypso-page .text-small{font-size:14px;line-height:24px;margin-top:8px}.calypso-page .text-medium{font-size:16px;line-height:28px}@media (min-width: 768px){.calypso-page .text-md-large{font-size:24px;line-height:40px}}.calypso-page .text-light{font-weight:300}.calypso-page .text-center{text-align:center}.calypso-page .text-left{text-align:left}@media (min-width: 768px){.calypso-page .text-md-right{text-align:right}}.calypso-page .text-md-center{text-align:left}@media (min-width: 768px){.calypso-page .text-md-center{text-align:center}}.calypso-page .text-lg-center{text-align:left}@media (min-width: 992px){.calypso-page .text-lg-center{text-align:center}}@media (min-width: 768px){.calypso-page .text-md-left{text-align:left}}@media (min-width: 992px){.calypso-page .text-lg-left{text-align:left}}@media (min-width: 1200px){.calypso-page .text-xl-left{text-align:left}}.calypso-page .text-white,.calypso-page .text-white *{color:#fff}.calypso-page .text-white a:not([class*="btn"]),.calypso-page .text-white * a:not([class*="btn"]){font-weight:bold;color:#fff}.calypso-page .text-black{color:#000}.calypso-page .text-gray{color:#979797}.calypso-page .text-green{color:#4cae50}.calypso-page .text-dark-orange{color:#d29d38}.calypso-page a.text-dark-orange:hover,.calypso-page a.text-dark-orange:focus,.calypso-page a.text-dark-orange:active{color:#AC8844}.calypso-page .text-dark-blue{color:#262F58}.calypso-page .text-instagram{color:#f75a8e}.calypso-page .text-uppercase{text-transform:uppercase}.calypso-page .text-italic{font-style:italic}.calypso-page .text-normal{font-weight:400}.calypso-page .text-semibold{font-weight:600}.calypso-page .text-logo svg{max-width:100%;height:auto}@media (min-width: 576px){.calypso-page .text-logo svg{max-width:none;max-height:48px}}@media (min-width: 768px){.calypso-page .text-md-large{font-size:24px;line-height:40px}}.calypso-page .align-top{-ms-flex-item-align:top;align-self:top}.calypso-page .align-center{-ms-flex-item-align:center;align-self:center}.calypso-page .align-bottom{-ms-flex-item-align:bottom;align-self:bottom}.calypso-page .hidden{display:none}.calypso-page .position-relative{position:relative}.calypso-page .letter-spacing-correction{letter-spacing:-.1px}@media (min-width: 992px){.calypso-page .animate.animate--mobile-only{opacity:1}}.calypso-page .calypso-no-bg-loaded{background-image:none !important}.calypso-block .slick-slider{position:relative}.calypso-block .slick-list{overflow:hidden}.calypso-block .slick-slide{display:inline-block;vertical-align:middle;outline:0 none}.calypso-block .slick-arrow{display:block;position:absolute;top:0;width:48px;height:100%;padding:0;margin:0;border:0 none;font-size:0;color:transparent;outline:0 none;z-index:1000;background:transparent}.calypso-block .slick-arrow::after{content:"";background:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/svg/calypso-chevron.svg") no-repeat right 40% transparent;width:100%;height:100%;display:block;background-size:auto 48px}.calypso-block .slick-arrow:hover,.calypso-block .slick-arrow:active{cursor:pointer}.calypso-block .slick-arrow.slick-prev{left:0;background-position:right 60%;-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.calypso-block .slick-arrow.slick-next{right:0}.calypso-block .slick-arrow.slick-disabled{display:none;visibility:hidden}.calypso-block .slick-arrow--visible-arrow[aria-disabled="true"]{display:inline-block;visibility:visible;opacity:0.3}.calypso-block .slick-arrow--nobg{background:none}.calypso-block .slick-arrow--white-arrow::after{background-image:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/common/svg/calypso-chevron-white.svg")}.calypso-block .slick-dots{position:relative;left:auto;top:auto;display:block;bottom:0;width:100%;padding:0;list-style:none;text-align:center;margin:24px 0 0 0}@media screen and (min-width: 1024px){.calypso-block .slick-dots{margin-top:32px}}.calypso-block .slick-dots li{display:inline-block;width:10px;height:10px;margin:0 7px}.calypso-block .slick-dots li.slick-active button::before{background:#454F5B;width:10px;height:10px;margin:0;-webkit-transform:scale(1);transform:scale(1)}.calypso-block .slick-dots li button{font-size:0;line-height:0;display:block;width:10px;height:10px;padding:5px;cursor:pointer;color:transparent;border:0;outline:0;background:0 0;position:relative}.calypso-block .slick-dots li button::before{display:block;content:'';position:absolute;top:0;left:0;width:6px;height:6px;text-align:center;border-radius:50%;background-color:#454F5B;-webkit-transition:width .2s ease-out, height .2s ease-out, margin .2s ease-out;transition:width .2s ease-out, height .2s ease-out, margin .2s ease-out;margin:2px}.calypso-viewport--overflow-hidden{overflow:hidden}.btn{font-weight:600;font-size:18px;font-family:"HCo Gotham", sans-serif;line-height:24px;letter-spacing:0;border:2px solid;border-radius:4px;outline:0 none;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;min-width:144px;max-width:400px;vertical-align:top;margin:0;padding:10px 30px;text-align:center;white-space:nowrap}@media (min-width: 576px){.btn{width:auto}}.btn--large{font-size:20px;padding:14px 38px;line-height:24px}.btn--large.btn--loading::after{content:'';display:block;position:absolute;z-index:1;top:50%;left:50%;width:24px;height:24px;margin-top:-12px;margin-left:-12px;-webkit-animation:fadein .1s 1 linear, spinright .5s infinite linear;animation:fadein .1s 1 linear, spinright .5s infinite linear}.btn--small{font-size:14px;padding:6px 14px;line-height:16px}.btn--small.btn--loading::after{content:'';display:block;position:absolute;z-index:1;top:50%;left:50%;width:24px;height:24px;margin-top:-12px;margin-left:-12px;-webkit-animation:fadein .1s 1 linear, spinright .5s infinite linear;animation:fadein .1s 1 linear, spinright .5s infinite linear}.btn--medium{font-size:14px;padding:10px 14px;line-height:16px}.btn--medium.btn--loading::after{content:'';display:block;position:absolute;z-index:1;top:50%;left:50%;width:24px;height:24px;margin-top:-12px;margin-left:-12px;-webkit-animation:fadein .1s 1 linear, spinright .5s infinite linear;animation:fadein .1s 1 linear, spinright .5s infinite linear}.btn{color:#fff;background-color:#3A4A59;border-color:#3A4A59}.btn.btn--shadow{-webkit-box-shadow:0 6px 16px 0 rgba(60,61,61,0.35);box-shadow:0 6px 16px 0 rgba(60,61,61,0.35);-webkit-transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear}.btn.btn--shadow:hover{-webkit-box-shadow:0 6px 16px 0 rgba(60,61,61,0.35);box-shadow:0 6px 16px 0 rgba(60,61,61,0.35)}.btn:hover{position:relative;background-color:#3c3d3d;-webkit-transform:translateY(-4px);transform:translateY(-4px);color:#fff;border-color:#3c3d3d}.btn:hover:after{content:"";display:block;top:-2px;left:-2px;height:100%;width:100%;border:4px solid transparent;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute}.btn.btn--shadow:hover{-webkit-box-shadow:0 10px 32px 0 rgba(60,61,61,0.35);box-shadow:0 10px 32px 0 rgba(60,61,61,0.35)}.btn:active{background-color:#12171b;-webkit-transform:translateY(0);transform:translateY(0);border-color:#12171b}.btn.btn--shadow:active{-webkit-box-shadow:0 6px 16px 0 rgba(60,61,61,0.15);box-shadow:0 6px 16px 0 rgba(60,61,61,0.15)}.btn:focus{background-color:#3c3d3d;-webkit-box-shadow:0 6px 16px 0 rgba(60,61,61,0.15);box-shadow:0 6px 16px 0 rgba(60,61,61,0.15);border-color:#161717;-webkit-box-shadow:1px 1px 0 #161717 inset,-1px -1px 0 #161717 inset;box-shadow:1px 1px 0 #161717 inset,-1px -1px 0 #161717 inset}.btn--orange{color:#fff;background-color:#FFCB35;border-color:#FFCB35}.btn--orange.btn--shadow{-webkit-box-shadow:0 6px 16px 0 rgba(232,185,50,0.35);box-shadow:0 6px 16px 0 rgba(232,185,50,0.35);-webkit-transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear}.btn--orange.btn--shadow:hover{-webkit-box-shadow:0 6px 16px 0 rgba(232,185,50,0.35);box-shadow:0 6px 16px 0 rgba(232,185,50,0.35)}.btn--orange:hover{position:relative;background-color:#e8b932;-webkit-transform:translateY(-4px);transform:translateY(-4px);color:#fff;border-color:#e8b932}.btn--orange:hover:after{content:"";display:block;top:-2px;left:-2px;height:100%;width:100%;border:4px solid transparent;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute}.btn--orange.btn--shadow:hover{-webkit-box-shadow:0 10px 32px 0 rgba(232,185,50,0.35);box-shadow:0 10px 32px 0 rgba(232,185,50,0.35)}.btn--orange:active{background-color:#ce9900;-webkit-transform:translateY(0);transform:translateY(0);border-color:#ce9900}.btn--orange.btn--shadow:active{-webkit-box-shadow:0 6px 16px 0 rgba(232,185,50,0.15);box-shadow:0 6px 16px 0 rgba(232,185,50,0.15)}.btn--orange:focus{background-color:#e8b932;-webkit-box-shadow:0 6px 16px 0 rgba(232,185,50,0.15);box-shadow:0 6px 16px 0 rgba(232,185,50,0.15);border-color:#b98f15;-webkit-box-shadow:1px 1px 0 #b98f15 inset,-1px -1px 0 #b98f15 inset;box-shadow:1px 1px 0 #b98f15 inset,-1px -1px 0 #b98f15 inset}.btn--yellow{color:#212B37;background-color:#ffbf06;border-color:#ffbf06}.btn--yellow.btn--shadow{-webkit-box-shadow:0 6px 16px 0 rgba(212,164,24,0.35);box-shadow:0 6px 16px 0 rgba(212,164,24,0.35);-webkit-transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear}.btn--yellow.btn--shadow:hover{-webkit-box-shadow:0 6px 16px 0 rgba(212,164,24,0.35);box-shadow:0 6px 16px 0 rgba(212,164,24,0.35)}.btn--yellow:hover{position:relative;background-color:#d4a418;-webkit-transform:translateY(-4px);transform:translateY(-4px);color:#fff;border-color:#d4a418}.btn--yellow:hover:after{content:"";display:block;top:-2px;left:-2px;height:100%;width:100%;border:4px solid transparent;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute}.btn--yellow.btn--shadow:hover{-webkit-box-shadow:0 10px 32px 0 rgba(212,164,24,0.35);box-shadow:0 10px 32px 0 rgba(212,164,24,0.35)}.btn--yellow:active{background-color:#9f7600;-webkit-transform:translateY(0);transform:translateY(0);border-color:#9f7600}.btn--yellow.btn--shadow:active{-webkit-box-shadow:0 6px 16px 0 rgba(212,164,24,0.15);box-shadow:0 6px 16px 0 rgba(212,164,24,0.15)}.btn--yellow:focus{background-color:#d4a418;-webkit-box-shadow:0 6px 16px 0 rgba(212,164,24,0.15);box-shadow:0 6px 16px 0 rgba(212,164,24,0.15);color:#fff;border-color:#8f6e10;-webkit-box-shadow:1px 1px 0 #8f6e10 inset,-1px -1px 0 #8f6e10 inset;box-shadow:1px 1px 0 #8f6e10 inset,-1px -1px 0 #8f6e10 inset}.btn--blue{color:#fff;background-color:#07c;border-color:#07c}.btn--blue.btn--shadow{-webkit-box-shadow:0 6px 16px 0 rgba(18,101,161,0.35);box-shadow:0 6px 16px 0 rgba(18,101,161,0.35);-webkit-transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear}.btn--blue.btn--shadow:hover{-webkit-box-shadow:0 6px 16px 0 rgba(18,101,161,0.35);box-shadow:0 6px 16px 0 rgba(18,101,161,0.35)}.btn--blue:hover{position:relative;background-color:#1265a1;-webkit-transform:translateY(-4px);transform:translateY(-4px);color:#fff;border-color:#1265a1}.btn--blue:hover:after{content:"";display:block;top:-2px;left:-2px;height:100%;width:100%;border:4px solid transparent;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute}.btn--blue.btn--shadow:hover{-webkit-box-shadow:0 10px 32px 0 rgba(18,101,161,0.35);box-shadow:0 10px 32px 0 rgba(18,101,161,0.35)}.btn--blue:active{background-color:#003c66;-webkit-transform:translateY(0);transform:translateY(0);border-color:#003c66}.btn--blue.btn--shadow:active{-webkit-box-shadow:0 6px 16px 0 rgba(18,101,161,0.15);box-shadow:0 6px 16px 0 rgba(18,101,161,0.15)}.btn--blue:focus{background-color:#1265a1;-webkit-box-shadow:0 6px 16px 0 rgba(18,101,161,0.15);box-shadow:0 6px 16px 0 rgba(18,101,161,0.15);border-color:#0a3a5c;-webkit-box-shadow:1px 1px 0 #0a3a5c inset,-1px -1px 0 #0a3a5c inset;box-shadow:1px 1px 0 #0a3a5c inset,-1px -1px 0 #0a3a5c inset}.btn--light{color:#3A4A59;background-color:#fff;border-color:#3A4A59}.btn--light.btn--shadow{-webkit-box-shadow:0 6px 16px 0 rgba(242,242,242,0.35);box-shadow:0 6px 16px 0 rgba(242,242,242,0.35);-webkit-transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear}.btn--light.btn--shadow:hover{-webkit-box-shadow:0 6px 16px 0 rgba(242,242,242,0.35);box-shadow:0 6px 16px 0 rgba(242,242,242,0.35)}.btn--light:hover{position:relative;background-color:#f2f2f2;-webkit-transform:translateY(-4px);transform:translateY(-4px);color:#3A4A59;border-color:#3A4A59}.btn--light:hover:after{content:"";display:block;top:-2px;left:-2px;height:100%;width:100%;border:4px solid transparent;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute}.btn--light.btn--shadow:hover{-webkit-box-shadow:0 10px 32px 0 rgba(242,242,242,0.35);box-shadow:0 10px 32px 0 rgba(242,242,242,0.35)}.btn--light:active{background-color:#ccc;-webkit-transform:translateY(0);transform:translateY(0);border-color:#3A4A59}.btn--light.btn--shadow:active{-webkit-box-shadow:0 6px 16px 0 rgba(242,242,242,0.15);box-shadow:0 6px 16px 0 rgba(242,242,242,0.15)}.btn--light:focus{background-color:#f2f2f2;-webkit-box-shadow:0 6px 16px 0 rgba(242,242,242,0.15);box-shadow:0 6px 16px 0 rgba(242,242,242,0.15);border-color:#ccc;-webkit-box-shadow:1px 1px 0 #ccc inset,-1px -1px 0 #ccc inset;box-shadow:1px 1px 0 #ccc inset,-1px -1px 0 #ccc inset}.btn--white{color:#fff;background-color:#fff;border-color:#fff}.btn--white.btn--shadow{-webkit-box-shadow:0 6px 16px 0 rgba(242,242,242,0.35);box-shadow:0 6px 16px 0 rgba(242,242,242,0.35);-webkit-transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear}.btn--white.btn--shadow:hover{-webkit-box-shadow:0 6px 16px 0 rgba(242,242,242,0.35);box-shadow:0 6px 16px 0 rgba(242,242,242,0.35)}.btn--white:hover{position:relative;background-color:#f2f2f2;-webkit-transform:translateY(-4px);transform:translateY(-4px);color:#fff;border-color:#fff}.btn--white:hover:after{content:"";display:block;top:-2px;left:-2px;height:100%;width:100%;border:4px solid transparent;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute}.btn--white.btn--shadow:hover{-webkit-box-shadow:0 10px 32px 0 rgba(242,242,242,0.35);box-shadow:0 10px 32px 0 rgba(242,242,242,0.35)}.btn--white:active{background-color:#ccc;-webkit-transform:translateY(0);transform:translateY(0);border-color:#fff}.btn--white.btn--shadow:active{-webkit-box-shadow:0 6px 16px 0 rgba(242,242,242,0.15);box-shadow:0 6px 16px 0 rgba(242,242,242,0.15)}.btn--white:focus{background-color:#f2f2f2;-webkit-box-shadow:0 6px 16px 0 rgba(242,242,242,0.15);box-shadow:0 6px 16px 0 rgba(242,242,242,0.15);border-color:#ccc;-webkit-box-shadow:1px 1px 0 #ccc inset,-1px -1px 0 #ccc inset;box-shadow:1px 1px 0 #ccc inset,-1px -1px 0 #ccc inset}.btn--clover{color:#333;background-color:#fff;border-color:#fff}.btn--clover.btn--shadow{-webkit-box-shadow:0 6px 16px 0 rgba(242,242,242,0.35);box-shadow:0 6px 16px 0 rgba(242,242,242,0.35);-webkit-transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear}.btn--clover.btn--shadow:hover{-webkit-box-shadow:0 6px 16px 0 rgba(242,242,242,0.35);box-shadow:0 6px 16px 0 rgba(242,242,242,0.35)}.btn--clover:hover{position:relative;background-color:#f2f2f2;-webkit-transform:translateY(-4px);transform:translateY(-4px);color:#fff;border-color:#fff}.btn--clover:hover:after{content:"";display:block;top:-2px;left:-2px;height:100%;width:100%;border:4px solid transparent;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute}.btn--clover.btn--shadow:hover{-webkit-box-shadow:0 10px 32px 0 rgba(242,242,242,0.35);box-shadow:0 10px 32px 0 rgba(242,242,242,0.35)}.btn--clover:active{background-color:#ccc;-webkit-transform:translateY(0);transform:translateY(0);border-color:#fff}.btn--clover.btn--shadow:active{-webkit-box-shadow:0 6px 16px 0 rgba(242,242,242,0.15);box-shadow:0 6px 16px 0 rgba(242,242,242,0.15)}.btn--clover:focus{background-color:#f2f2f2;-webkit-box-shadow:0 6px 16px 0 rgba(242,242,242,0.15);box-shadow:0 6px 16px 0 rgba(242,242,242,0.15);color:#fff;border-color:#ccc;-webkit-box-shadow:1px 1px 0 #ccc inset,-1px -1px 0 #ccc inset;box-shadow:1px 1px 0 #ccc inset,-1px -1px 0 #ccc inset}.btn--black{color:#fff;background-color:#000;border-color:#000}.btn--black.btn--shadow{-webkit-box-shadow:0 6px 16px 0 rgba(0,0,0,0.35);box-shadow:0 6px 16px 0 rgba(0,0,0,0.35);-webkit-transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear}.btn--black.btn--shadow:hover{-webkit-box-shadow:0 6px 16px 0 rgba(0,0,0,0.35);box-shadow:0 6px 16px 0 rgba(0,0,0,0.35)}.btn--black:hover{position:relative;background-color:#000;-webkit-transform:translateY(-4px);transform:translateY(-4px);color:#fff;border-color:#000}.btn--black:hover:after{content:"";display:block;top:-2px;left:-2px;height:100%;width:100%;border:4px solid transparent;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute}.btn--black.btn--shadow:hover{-webkit-box-shadow:0 10px 32px 0 rgba(0,0,0,0.35);box-shadow:0 10px 32px 0 rgba(0,0,0,0.35)}.btn--black:active{background-color:#000;-webkit-transform:translateY(0);transform:translateY(0);border-color:#000}.btn--black.btn--shadow:active{-webkit-box-shadow:0 6px 16px 0 rgba(0,0,0,0.15);box-shadow:0 6px 16px 0 rgba(0,0,0,0.15)}.btn--black:focus{background-color:#000;-webkit-box-shadow:0 6px 16px 0 rgba(0,0,0,0.15);box-shadow:0 6px 16px 0 rgba(0,0,0,0.15);border-color:#000;-webkit-box-shadow:1px 1px 0 #000 inset,-1px -1px 0 #000 inset;box-shadow:1px 1px 0 #000 inset,-1px -1px 0 #000 inset}.btn--dark-blue{color:#fff;background-color:#262F58;border-color:#262F58}.btn--dark-blue.btn--shadow{-webkit-box-shadow:0 6px 16px 0 rgba(40,44,60,0.35);box-shadow:0 6px 16px 0 rgba(40,44,60,0.35);-webkit-transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear}.btn--dark-blue.btn--shadow:hover{-webkit-box-shadow:0 6px 16px 0 rgba(40,44,60,0.35);box-shadow:0 6px 16px 0 rgba(40,44,60,0.35)}.btn--dark-blue:hover{position:relative;background-color:#282c3c;-webkit-transform:translateY(-4px);transform:translateY(-4px);color:#fff;border-color:#262F58}.btn--dark-blue:hover:after{content:"";display:block;top:-2px;left:-2px;height:100%;width:100%;border:4px solid transparent;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute}.btn--dark-blue.btn--shadow:hover{-webkit-box-shadow:0 10px 32px 0 rgba(40,44,60,0.35);box-shadow:0 10px 32px 0 rgba(40,44,60,0.35)}.btn--dark-blue:active{background-color:#070911;-webkit-transform:translateY(0);transform:translateY(0);border-color:#262F58}.btn--dark-blue.btn--shadow:active{-webkit-box-shadow:0 6px 16px 0 rgba(40,44,60,0.15);box-shadow:0 6px 16px 0 rgba(40,44,60,0.15)}.btn--dark-blue:focus{background-color:#282c3c;-webkit-box-shadow:0 6px 16px 0 rgba(40,44,60,0.15);box-shadow:0 6px 16px 0 rgba(40,44,60,0.15);border-color:#0a0a0e;-webkit-box-shadow:1px 1px 0 #0a0a0e inset,-1px -1px 0 #0a0a0e inset;box-shadow:1px 1px 0 #0a0a0e inset,-1px -1px 0 #0a0a0e inset}.btn--dark-orange{color:#fff;background-color:#D29D38;border-color:#D29D38}.btn--dark-orange.btn--shadow{-webkit-box-shadow:0 6px 16px 0 rgba(172,136,68,0.35);box-shadow:0 6px 16px 0 rgba(172,136,68,0.35);-webkit-transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear;transition:transform .1s linear, box-shadow 0.1s linear, background-color 0.1s linear, -webkit-transform .1s linear, -webkit-box-shadow 0.1s linear}.btn--dark-orange.btn--shadow:hover{-webkit-box-shadow:0 6px 16px 0 rgba(172,136,68,0.35);box-shadow:0 6px 16px 0 rgba(172,136,68,0.35)}.btn--dark-orange:hover{position:relative;background-color:#ac8844;-webkit-transform:translateY(-4px);transform:translateY(-4px);color:#fff;border-color:#D29D38}.btn--dark-orange:hover:after{content:"";display:block;top:-2px;left:-2px;height:100%;width:100%;border:4px solid transparent;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute}.btn--dark-orange.btn--shadow:hover{-webkit-box-shadow:0 10px 32px 0 rgba(172,136,68,0.35);box-shadow:0 10px 32px 0 rgba(172,136,68,0.35)}.btn--dark-orange:active{background-color:#86621e;-webkit-transform:translateY(0);transform:translateY(0);border-color:#D29D38}.btn--dark-orange.btn--shadow:active{-webkit-box-shadow:0 6px 16px 0 rgba(172,136,68,0.15);box-shadow:0 6px 16px 0 rgba(172,136,68,0.15)}.btn--dark-orange:focus{background-color:#ac8844;-webkit-box-shadow:0 6px 16px 0 rgba(172,136,68,0.15);box-shadow:0 6px 16px 0 rgba(172,136,68,0.15);border-color:#755d2f;-webkit-box-shadow:1px 1px 0 #755d2f inset,-1px -1px 0 #755d2f inset;box-shadow:1px 1px 0 #755d2f inset,-1px -1px 0 #755d2f inset}a.btn--white{background:transparent}a.btn--white:hover,a.btn--white:focus{background:#FFFFFF;color:#4A4A4A}a.btn--light{background:transparent}a.btn--light:hover,a.btn--light:focus{background:#4A4A4A;color:#FFFFFF}a.btn--clover:hover,a.btn--clover:focus{color:#000}a.btn--dark-orange:hover,a.btn--dark-orange:focus{border-color:#AC8844;-webkit-box-shadow:none;box-shadow:none}a.btn--no-animate:hover,button.btn--no-animate:hover{-webkit-transform:none;transform:none}.btn--square{border-radius:0}.btn--square.btn--medium{padding-bottom:10px !important}.btn--square.btn--large{padding-bottom:13px}.btn--square.btn--shadow{-webkit-box-shadow:0 16px 32px -10px rgba(0,0,0,0.35);box-shadow:0 16px 32px -10px rgba(0,0,0,0.35)}.btn--square.btn--shadow:hover{-webkit-box-shadow:0 16px 32px -8px rgba(0,0,0,0.35);box-shadow:0 16px 32px -8px rgba(0,0,0,0.35)}.btn--round{border-radius:32px}.btn--w100{width:100%}.btn--loading{position:relative;pointer-events:none}.btn--loading::before,.btn--loading:hover::before,.btn--loading:focus::before,.btn--loading:focus:hover::before,.btn--loading:active::before,.btn--loading:focus:active::before{content:"";position:absolute;z-index:1;top:0;left:0;opacity:1;width:100%;height:100%;border-radius:inherit;background-color:inherit;-webkit-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.btn--loading::after,.btn--loading:hover::after,.btn--loading:focus::after,.btn--loading:focus:hover::after,.btn--loading:active::after,.btn--loading:focus:active::after{background:transparent url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='99' height='99' viewBox='0 0 99 99'%3E%3Cpath fill='%2381661a' d='M49.5 98.737C22.23 98.737.263 76.77.263 49.5.263 22.23 22.23.263 49.5.263 76.77.263 98.737 22.23 98.737 49.5c0 2.02-1.767 3.788-3.787 3.788s-3.788-1.768-3.788-3.788c0-22.977-18.684-41.663-41.662-41.663-22.977 0-41.663 18.686-41.663 41.663 0 22.978 18.686 41.662 41.663 41.662 2.02 0 3.788 1.768 3.788 3.788 0 2.02-1.768 3.787-3.788 3.787z'/%3E%3C/svg%3E") center center no-repeat;background-size:contain}.form-block{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-top:32px;position:relative}.form-block:only-child{margin-top:0}.form-block+*{margin-top:32px}.form-block+p.text-small{margin-top:8px}.form-block.text-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (min-width: 768px){.form-block{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.form-block--loader::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#333;opacity:.1;z-index:100}.form-block--loader::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;-webkit-animation:spinright 0.5s linear 0s infinite;animation:spinright 0.5s linear 0s infinite;-webkit-transform:translateZ(0);transform:translateZ(0);background:url("https://don16obqbay2c.cloudfront.net/wp-content/themes/ecwid/images/ecwid-download/loader.svg") no-repeat center center}.form-block__email input{padding:15px 15px 14px;border:1px solid #CACACA;border-radius:3px;font-size:18px;line-height:24px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:400px;font-family:"HCo Gotham", sans-serif;margin:0}@media (min-width: 768px){.form-block__email input{border-radius:3px 0 0 3px}}.form-block__email input.form-block__element--disabled{color:#999}.form-block__email--error input{border-color:#E56363;background-color:#FFF0F0;color:#E56464}.form-block__group-append{position:relative;margin:24px auto 0;width:100%;max-width:400px}@media (min-width: 768px){.form-block__group-append{margin:0;width:auto;max-width:none}}.form-block__btn--arrow::after,.form-block__btn--arrow:hover::after{content:"▾";display:inline-block;margin-left:8px;position:relative;border:0 none;height:auto;top:auto;left:auto;width:auto}.form-block__btn--arrow.form-block__element--disabled{color:#999}.form-block__dropdown-menu{display:none;position:absolute;top:56px;left:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#fff;border:1px solid #CACACA;border-radius:3px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.form-block__dropdown-menu.form-block__element--disabled{display:none}.form-block__dropdown-menu--active{display:-webkit-box;display:-ms-flexbox;display:flex}.form-block__dropdown-item{padding:16px 24px;white-space:nowrap;color:#333}.form-block__dropdown-item::hover{color:#007ac9}.form-block__dropdown-item+.form-block__dropdown-item{border-top:1px solid #CACACA}.form-block__input input{font-family:"HCo Gotham", sans-serif;font-size:14px;line-height:24px;width:100%;max-width:400px;padding:7px 15px 7px;margin:0;border:1px solid #CACACA;border-radius:3px;-webkit-box-sizing:border-box;box-sizing:border-box}@media (min-width: 768px){.form-block__input input{border-radius:3px 0 0 3px}}.form-block__input input.form-block__element--disabled{color:#999}.form-block__input--error input{border-color:#E56363;background-color:#FFF0F0;color:#E56464}.form-block__group-append{margin-left:-1px}.form-block__group-append .btn{width:100%;cursor:pointer}@media (min-width: 768px){.form-block__group-append .btn{border-top-left-radius:0;border-bottom-left-radius:0}}@-webkit-keyframes fadein{0%{opacity:0}100%{opacity:1}}@keyframes fadein{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeout{0%{opacity:1}100%{opacity:0}}@keyframes fadeout{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinleft{0%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes spinleft{0%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes spinright{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinright{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ec-page{display:-webkit-box;display:-ms-flexbox;display:flex;font-family:"HCo Gotham", sans-serif;font-size:14px;line-height:24px;color:#fff;min-height:calc(100vh - 32px);-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}.ec-page--welcome{background-image:linear-gradient(237deg, #30baff 0%, #0091e6 100%);padding:16px}@media (min-width: 1200px){.ec-page--welcome{background-image:url(../images/welcome.png),linear-gradient(237deg, #30baff 0%, #0091e6 100%);background-repeat:no-repeat;background-position:top right;background-size:contain;padding-left:9%;max-height:817px}}.ec-page--welcome h2{font-weight:600;color:#fff}.ec-page--welcome a{color:#fff}.ec-page--welcome a:hover{color:#d9d9d9}.ec-page--welcome .btn--orange{color:#000;background-color:#FFCB35;border-color:#FFCB35;-webkit-transition:background-color .1s linear, -webkit-transform .1s linear, -webkit-box-shadow .1s linear;transition:background-color .1s linear, -webkit-transform .1s linear, -webkit-box-shadow .1s linear;transition:transform .1s linear, box-shadow .1s linear, background-color .1s linear;transition:transform .1s linear, box-shadow .1s linear, background-color .1s linear, -webkit-transform .1s linear, -webkit-box-shadow .1s linear}.ec-page--welcome .btn--orange:focus{border-color:#FFCB35;-webkit-box-shadow:1px 1px 0 #FFCB35 inset,-1px -1px 0 #FFCB35 inset;box-shadow:1px 1px 0 #FFCB35 inset,-1px -1px 0 #FFCB35 inset}.ec-page--welcome .form-block{-webkit-box-align:left;-ms-flex-align:left;align-items:left;margin-top:0;margin-bottom:16px;width:100%;max-width:440px}.ec-page--welcome .form-block+*{margin-top:0}.ec-content{max-width:505px;margin-bottom:32px;word-break:break-word}.ec-logo{margin-bottom:16px;width:100%;height:auto;max-width:111px}.ec-logo svg{width:100%;height:100%;fill:#fff}.ec-subheading{margin-bottom:24px}.ec-subheading p{margin:0 0 16px;font-size:14px;line-height:24px}.ec-form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:440px}@media (min-width: 576px){.ec-form{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;max-width:none}}.ec-form a{display:inline-block;margin-bottom:16px}.ec-button{width:100%}@media (min-width: 576px){.ec-button{width:auto;margin-right:30px}}.ec-button .btn{width:100%;margin-bottom:16px}.ec-note{color:#bde7ff}@media (min-width: 1200px){.ec-poweredby{padding:0 64px;text-align:right}}
2
+ .ec-create-store-success, .ec-create-store-success-note, .ec-create-store-loading { display: none; }
3
+ .ec-connection-error { color: #c71585; }
4
+ a.ec-connect-store.disabled { pointer-events: none; cursor: default; opacity: .5; }
5
+ .ec-button .btn { cursor: pointer; font-size: 14px; }
ecwid-shopping-cart.php CHANGED
@@ -1,12 +1,13 @@
1
  <?php
2
  /*
3
  Plugin Name: Ecwid Ecommerce Shopping Cart
4
- Plugin URI: http://www.ecwid.com?source=wporg
5
  Description: Ecwid is a free full-featured shopping cart. It can be easily integrated with any Wordpress blog and takes less than 5 minutes to set up.
6
  Text Domain: ecwid-shopping-cart
7
  Author: Ecwid Ecommerce
8
- Version: 6.8.11
9
  Author URI: https://ecwid.to/ecwid-site
 
10
  */
11
 
12
  register_activation_hook( __FILE__, 'ecwid_store_activate' );
@@ -17,8 +18,6 @@ define('ECWID_API_AVAILABILITY_CHECK_TIME', 60*60*3);
17
 
18
  define ('ECWID_TRIMMED_DESCRIPTION_LENGTH', 160);
19
 
20
- define ( 'ECWID_VERSION_BUILTIN_CHAMELEON', '4.4.2.1' );
21
-
22
  if ( ! defined( 'ECWID_PLUGIN_DIR' ) ) {
23
  define( 'ECWID_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
24
  }
@@ -60,7 +59,6 @@ if ( is_admin() ) {
60
 
61
  add_action( 'wp_ajax_ecwid_hide_vote_message', 'ecwid_hide_vote_message' );
62
  add_action( 'wp_ajax_ecwid_hide_message', 'ecwid_ajax_hide_message' );
63
- add_action( 'wp_ajax_save-widget', 'ecwid_ajax_save_widget' );
64
  add_action( 'wp_ajax_ecwid_reset_categories_cache', 'ecwid_reset_categories_cache' );
65
  add_action( 'wp_ajax_ecwid_create_store', 'ecwid_create_store' );
66
  add_action( 'wp_ajax_ecwid_sync_products', 'ecwid_sync_products' );
@@ -130,6 +128,7 @@ require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-admin-main-page.php';
130
  require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-static-page.php';
131
 
132
  if ( is_admin() ) {
 
133
  require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-help-page.php';
134
  require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-custom-admin-page.php';
135
  }
@@ -148,6 +147,7 @@ require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-html-meta.php';
148
  require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-wp-dashboard-feed.php';
149
 
150
  require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-well-known.php';
 
151
 
152
  if (version_compare( phpversion(), '5.6', '>=' ) ) {
153
  require_once ECWID_PLUGIN_DIR . 'includes/importer/importer.php';
@@ -194,6 +194,8 @@ function ecwid_init_integrations()
194
  'pwa/pwa.php' => 'pwa',
195
  'polylang/polylang.php' => 'polylang',
196
  'wp-rocket/wp-rocket.php' => 'wprocket',
 
 
197
  );
198
 
199
  $old_wordpress = version_compare( get_bloginfo( 'version' ), '5.0', '<' );
@@ -318,6 +320,7 @@ function ecwid_ie8_fonts_inclusion()
318
  HTML;
319
 
320
  }
 
321
  add_action( 'wp_head', 'ecwid_maybe_remove_emoji', 0 );
322
  function ecwid_maybe_remove_emoji() {
323
 
@@ -435,30 +438,28 @@ function ecwid_enqueue_frontend() {
435
  $is_api_available = true;
436
  }
437
 
438
- wp_enqueue_script( 'ecwid-admin-bar-js', ECWID_PLUGIN_URL . 'js/admin-bar.js', array( 'jquery' ), get_option( 'ecwid_plugin_version' ) );
439
- wp_localize_script( 'ecwid-admin-bar-js', 'ecwidEditPostLinkParams', array(
440
- 'languages' => array(
441
- 'editProduct' => __('Edit Product', 'ecwid-shopping-cart'),
442
- 'editCategory' => __('Edit Category', 'ecwid-shopping-cart')
443
- ),
444
- 'url' => $post_edit_url,
445
- 'admin_url' => admin_url(),
446
- 'is_api_available' => $is_api_available
447
- ));
 
 
448
  }
449
  }
450
  }
451
 
452
  function ecwid_print_inline_js_config() {
453
-
454
- echo '<script data-cfasync="false" type="text/javascript">';
455
-
456
- $js = <<<HTML
457
- window.ec = window.ec || Object();
458
- window.ec.config = window.ec.config || Object();
459
- window.ec.config.enable_canonical_urls = true;
460
 
461
- HTML;
 
 
 
462
 
463
  $plugins_disabling_interactive = array(
464
  'shiftnav-pro/shiftnav.php',
@@ -467,24 +468,17 @@ HTML;
467
 
468
  foreach ( $plugins_disabling_interactive as $plugin ) {
469
  if ( is_plugin_active( $plugin ) ) {
470
- $js = ecwid_disable_interactive( $js );
471
  break;
472
  }
473
  }
474
 
475
  $js = apply_filters( 'ecwid_inline_js_config', $js );
476
 
477
- echo $js;
478
-
479
- echo '</script>';
480
- }
481
-
482
- function ecwid_disable_interactive( $js ) {
483
- return $js . "\nwindow.ec.config.interactive = false;\n";
484
  }
485
 
486
  add_action( 'ecwid_inline_js_config', 'ecwid_add_chameleon' );
487
-
488
  function ecwid_add_chameleon( $js ) {
489
 
490
  $colors = array();
@@ -508,7 +502,7 @@ function ecwid_add_chameleon( $js ) {
508
 
509
  $chameleon = apply_filters( 'ecwid_chameleon_settings', array( 'colors' => $colors, 'font' => $font ) );
510
 
511
- if ( !is_array($chameleon ) ) {
512
  $chameleon = array(
513
  'colors' => $colors,
514
  'font' => $font
@@ -523,11 +517,9 @@ function ecwid_add_chameleon( $js ) {
523
  $chameleon['font'] = $font;
524
  }
525
 
526
- $js .= <<<JS
527
- window.ec.config.chameleon = window.ec.config.chameleon || Object();
528
- window.ec.config.chameleon.font = $chameleon[font];
529
- window.ec.config.chameleon.colors = $chameleon[colors];
530
- JS;
531
 
532
  return $js;
533
  }
@@ -682,8 +674,6 @@ function ecwid_check_version()
682
 
683
  do_action('ecwid_plugin_installed', $current_version);
684
  add_option('ecwid_plugin_version', $current_version);
685
-
686
- add_option('ecwid_use_chameleon', false);
687
 
688
  // Called in Ecwid_Seo_Links->on_fresh_install
689
  do_action( 'ecwid_on_fresh_install' );
@@ -711,11 +701,6 @@ function ecwid_check_version()
711
 
712
  add_option( Ecwid_Products::OPTION_ENABLED, Ecwid_Products::is_enabled() );
713
 
714
- add_option('ecwid_chameleon_colors_foreground', '');
715
- add_option('ecwid_chameleon_colors_background', '');
716
- add_option('ecwid_chameleon_colors_link', '');
717
- add_option('ecwid_chameleon_colors_button', '');
718
- add_option('ecwid_chameleon_colors_price', '');
719
  add_option('ecwid_disable_pb_url', false );
720
  add_option('ecwid_historyjs_html4mode', false);
721
 
@@ -1090,52 +1075,65 @@ TEXT;
1090
  'href' => Ecwid_Admin::get_dashboard_url(),
1091
  ));
1092
 
1093
- $wp_admin_bar->add_menu(array(
1094
- "id" => "ecwid-go-to-page",
1095
- "title" => __("Visit storefront", 'ecwid-shopping-cart'),
1096
- "parent" => "ecwid-main",
1097
- 'href' => Ecwid_Store_Page::get_store_url()
1098
- )
1099
- );
 
 
 
 
1100
 
1101
- $wp_admin_bar->add_menu(array(
1102
- "id" => "ecwid-control-panel",
1103
- "title" => __("Manage my store", 'ecwid-shopping-cart'),
1104
- "parent" => "ecwid-main",
1105
- 'href' => Ecwid_Admin::get_dashboard_url()
1106
- )
1107
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1108
 
1109
- $wp_admin_bar->add_menu(array(
1110
- "id" => "ecwid-faq",
1111
- "title" => __("Read FAQ", 'ecwid-shopping-cart'),
1112
- "parent" => "ecwid-main",
1113
- 'href' => __('https://support.ecwid.com/hc/en-us/articles/360000635709-Customizing-design-of-your-Ecwid-store-on-a-Wordpress-site', 'ecwid-shopping-cart'),
1114
  'meta' => array(
1115
  'target' => '_blank'
1116
  )
1117
- )
1118
- );
1119
-
1120
- $wp_admin_bar->add_menu(array(
1121
- 'id' => 'ecwid-report-problem',
1122
- 'title' => __( 'Report a problem with the store', 'ecwid-shopping-cart' ),
1123
- 'parent' => 'ecwid-main',
1124
- 'href' => 'mailto:wordpress@ecwid.com?subject=' . rawurlencode($subject) . '&body=' . rawurlencode($body),
1125
- 'meta' => array(
1126
- 'target' => '_blank'
1127
- )
1128
- ));
1129
  }
1130
 
1131
  function ecwid_content_has_productbrowser( $content ) {
1132
 
1133
- $result = has_shortcode( $content, 'ecwid_productbrowser' );
1134
-
1135
  if ( class_exists( 'Ecwid_Gutenberg' ) && Ecwid_Gutenberg::content_has_productbrowser( $content ) !== false ) {
1136
  return true;
1137
  }
1138
-
 
1139
  if ($result) {
1140
  return $result;
1141
  }
@@ -1307,7 +1305,7 @@ function ecwid_add_credits($powered_by)
1307
  $new_powered_by = '<li>';
1308
  $new_powered_by .= sprintf(
1309
  __('<a %s>Online store powered by %s</a>', 'ecwid-shopping-cart'),
1310
- 'target="_blank" href="//www.ecwid.com?source=wporg-metalink"',
1311
  Ecwid_Config::get_brand()
1312
  );
1313
  $new_powered_by .= '</li>';
@@ -1502,7 +1500,8 @@ function ecwid_shortcode($attributes)
1502
  'default_category_id' => 0,
1503
  'default_product_id' => 0,
1504
  'lang' => '',
1505
- 'no_html_catalog' => 0
 
1506
  )
1507
  , $attributes
1508
  );
@@ -1522,6 +1521,11 @@ function ecwid_shortcode($attributes)
1522
  $attributes['layout'] = $attributes['minicart_layout'];
1523
  $attributes['is_ecwid_shortcode'] = true;
1524
 
 
 
 
 
 
1525
  $result = '';
1526
 
1527
  $widgets_order = array('minicart', 'search', 'categories', 'productbrowser');
@@ -1800,6 +1804,7 @@ function ecwid_uninstall() {
1800
  delete_option(Ecwid_Api_V3::TOKEN_OPTION_NAME);
1801
 
1802
  EcwidPlatform::cache_reset('need_add_rewrite');
 
1803
  }
1804
 
1805
  function ecwid_abs_intval($value) {
@@ -1904,8 +1909,26 @@ function ecwid_get_update_params_options() {
1904
  'Y'
1905
  )
1906
  ),
 
 
 
 
 
 
 
 
1907
  );
1908
 
 
 
 
 
 
 
 
 
 
 
1909
  return $options;
1910
  }
1911
 
@@ -2007,33 +2030,29 @@ function ecwid_register_admin_styles($hook_suffix) {
2007
  wp_enqueue_style('ecwid-opensans', 'https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300', array(), get_option('ecwid_plugin_version'));
2008
 
2009
  if (isset($_GET['page']) && strpos($_GET['page'], 'ec-store') === 0) {
2010
-
 
 
 
2011
  // Can't really remember why it checks against the raw version, not the sanitized one; consider refactoring
2012
- if ( ecwid_is_demo_store( get_option('ecwid_store_id' ) ) || !get_option( 'ecwid_store_id' ) ) {
2013
-
2014
- // Open dashboard for the first time, ecwid store id is set to demo => need landing styles/scripts
2015
- wp_enqueue_script('ecwid-landing-js', ECWID_PLUGIN_URL . 'js/landing.js', array(), get_option('ecwid_plugin_version'));
2016
- wp_localize_script('ecwid-landing-js', 'ecwidParams', array(
 
 
 
2017
  'registerLink' => ecwid_get_register_link(),
2018
  'isWL' => Ecwid_Config::is_wl()
2019
  )
2020
  );
2021
 
2022
- wp_enqueue_style('ecwid-landing-css', ECWID_PLUGIN_URL . 'css/landing.css', array(), get_option('ecwid_plugin_version'), 'all');
2023
  } else {
2024
  // We already connected and disconnected the store, no need for fancy landing
2025
  wp_enqueue_script('ecwid-connect-js', ECWID_PLUGIN_URL . 'js/dashboard.js', array(), get_option('ecwid_plugin_version'));
2026
  }
2027
-
2028
- if (version_compare( phpversion(), '5.6', '>=' ) ) {
2029
- $pages_with_ecwid_app_ui = array(
2030
- Ecwid_Import_Page::PAGE_SLUG_WOO,
2031
- );
2032
- if( in_array( $_GET['page'], $pages_with_ecwid_app_ui ) ) {
2033
- wp_enqueue_style('ecwid-app-ui', 'https://djqizrxa6f10j.cloudfront.net/ecwid-sdk/css/1.3.7/ecwid-app-ui.css', array(), get_option('ecwid_plugin_version'));
2034
- wp_enqueue_script('ecwid-app-ui', 'https://djqizrxa6f10j.cloudfront.net/ecwid-sdk/css/1.3.6/ecwid-app-ui.min.js', array(), get_option('ecwid_plugin_version'), 'in_footer');
2035
- }
2036
- }
2037
  }
2038
  }
2039
 
@@ -2071,7 +2090,6 @@ function ecwid_settings_api_init() {
2071
  case 'advanced':
2072
  register_setting( 'ecwid_options_page', 'ecwid_default_category_id', 'ecwid_abs_intval' );
2073
  register_setting( 'ecwid_options_page', 'ecwid_sso_secret_key' );
2074
- register_setting( 'ecwid_options_page', 'ecwid_use_chameleon' );
2075
  register_setting( 'ecwid_options_page', 'ecwid_is_sso_enabled' );
2076
  break;
2077
  }
@@ -2082,26 +2100,9 @@ function ecwid_settings_api_init() {
2082
  Ecwid_Products::disable();
2083
  }
2084
 
2085
-
2086
- if (Ecwid_Seo_Links::should_display_option()) {
2087
- if ($_POST['settings_section'] == 'advanced' && isset($_POST[Ecwid_Seo_Links::OPTION_ENABLED]) && !Ecwid_Seo_Links::is_enabled()) {
2088
- Ecwid_Seo_Links::enable();
2089
- } else if ($_POST['settings_section'] == 'advanced' && !isset($_POST[Ecwid_Seo_Links::OPTION_ENABLED]) && Ecwid_Seo_Links::is_enabled()) {
2090
- Ecwid_Seo_Links::disable();
2091
- }
2092
- }
2093
-
2094
  if ($_POST['settings_section'] == 'advanced' && !@$_POST['ecwid_is_sso_enabled']) {
2095
  update_option('ecwid_sso_secret_key', '');
2096
  }
2097
-
2098
- if ($_POST['settings_section'] == 'advanced' && isset( $_POST[Ecwid_Store_Page::OPTION_MAIN_STORE_PAGE_ID] ) && in_array( $_POST[Ecwid_Store_Page::OPTION_MAIN_STORE_PAGE_ID], Ecwid_Store_Page::get_store_pages_array() ) ) {
2099
- Ecwid_Store_Page::update_main_store_page_id( $_POST[Ecwid_Store_Page::OPTION_MAIN_STORE_PAGE_ID] );
2100
- }
2101
-
2102
- if ($_POST['settings_section'] == 'advanced' && isset($_POST[Ecwid_Static_Page::OPTION_IS_ENABLED])) {
2103
- update_option( Ecwid_Static_Page::OPTION_IS_ENABLED, $_POST[Ecwid_Static_Page::OPTION_IS_ENABLED] );
2104
- }
2105
  }
2106
 
2107
  if ( isset( $_POST['ecwid_store_id'] ) ) {
@@ -2134,7 +2135,8 @@ function ecwid_common_admin_scripts() {
2134
  'store_shortcodes' => Ecwid_Shortcode_Base::get_store_shortcode_names(),
2135
  'store_shortcode' => Ecwid_Shortcode_Base::get_current_store_shortcode_name(),
2136
  'product_shortcode' => Ecwid_Shortcode_Product::get_shortcode_name(),
2137
- 'legacy_appearance' => ecwid_is_legacy_appearance_used()
 
2138
  ));
2139
  }
2140
 
@@ -2282,9 +2284,15 @@ function ecwid_get_iframe_src($time, $page)
2282
  $url = ecwid_get_admin_sso_url($time, $page);
2283
  if ($url) {
2284
  $url .= '&inline&min-height=700';
 
2285
  if ( Ecwid_Admin::are_auto_menus_enabled() ) {
2286
  $url .= '&hide_vertical_navigation_menu=true';
2287
  }
 
 
 
 
 
2288
  return $url;
2289
  } else {
2290
  return false;
@@ -2365,7 +2373,7 @@ function ecwid_admin_do_page( $page ) {
2365
  if (ecwid_test_oauth(true)) {
2366
  require_once ECWID_PLUGIN_DIR . 'templates/reconnect-sso.php';
2367
  } else {
2368
- require_once ECWID_PLUGIN_DIR . 'templates/dashboard.php';
2369
  }
2370
  } else {
2371
  $show_reconnect = true;
1
  <?php
2
  /*
3
  Plugin Name: Ecwid Ecommerce Shopping Cart
4
+ Plugin URI: http://www.ecwid.com?partner=wporg
5
  Description: Ecwid is a free full-featured shopping cart. It can be easily integrated with any Wordpress blog and takes less than 5 minutes to set up.
6
  Text Domain: ecwid-shopping-cart
7
  Author: Ecwid Ecommerce
8
+ Version: 6.9.2
9
  Author URI: https://ecwid.to/ecwid-site
10
+ License: GPLv2 or later
11
  */
12
 
13
  register_activation_hook( __FILE__, 'ecwid_store_activate' );
18
 
19
  define ('ECWID_TRIMMED_DESCRIPTION_LENGTH', 160);
20
 
 
 
21
  if ( ! defined( 'ECWID_PLUGIN_DIR' ) ) {
22
  define( 'ECWID_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
23
  }
59
 
60
  add_action( 'wp_ajax_ecwid_hide_vote_message', 'ecwid_hide_vote_message' );
61
  add_action( 'wp_ajax_ecwid_hide_message', 'ecwid_ajax_hide_message' );
 
62
  add_action( 'wp_ajax_ecwid_reset_categories_cache', 'ecwid_reset_categories_cache' );
63
  add_action( 'wp_ajax_ecwid_create_store', 'ecwid_create_store' );
64
  add_action( 'wp_ajax_ecwid_sync_products', 'ecwid_sync_products' );
128
  require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-static-page.php';
129
 
130
  if ( is_admin() ) {
131
+ require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-admin-ui-framework.php';
132
  require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-help-page.php';
133
  require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-custom-admin-page.php';
134
  }
147
  require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-wp-dashboard-feed.php';
148
 
149
  require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-well-known.php';
150
+ require_once ECWID_PLUGIN_DIR . 'includes/class-ecwid-admin-storefront-page.php';
151
 
152
  if (version_compare( phpversion(), '5.6', '>=' ) ) {
153
  require_once ECWID_PLUGIN_DIR . 'includes/importer/importer.php';
194
  'pwa/pwa.php' => 'pwa',
195
  'polylang/polylang.php' => 'polylang',
196
  'wp-rocket/wp-rocket.php' => 'wprocket',
197
+ 'urbango-core/main.php' => 'urbango',
198
+ 'seo-by-rank-math/rank-math.php' => 'rank-math'
199
  );
200
 
201
  $old_wordpress = version_compare( get_bloginfo( 'version' ), '5.0', '<' );
320
  HTML;
321
 
322
  }
323
+
324
  add_action( 'wp_head', 'ecwid_maybe_remove_emoji', 0 );
325
  function ecwid_maybe_remove_emoji() {
326
 
438
  $is_api_available = true;
439
  }
440
 
441
+ if( !ecwid_is_demo_store() ) {
442
+ wp_enqueue_script( 'ecwid-admin-bar-js', ECWID_PLUGIN_URL . 'js/admin-bar.js', array( 'jquery' ), get_option( 'ecwid_plugin_version' ) );
443
+ wp_localize_script( 'ecwid-admin-bar-js', 'ecwidEditPostLinkParams', array(
444
+ 'languages' => array(
445
+ 'editProduct' => __('Edit Product', 'ecwid-shopping-cart'),
446
+ 'editCategory' => __('Edit Category', 'ecwid-shopping-cart')
447
+ ),
448
+ 'url' => $post_edit_url,
449
+ 'admin_url' => admin_url(),
450
+ 'is_api_available' => $is_api_available
451
+ ));
452
+ }
453
  }
454
  }
455
  }
456
 
457
  function ecwid_print_inline_js_config() {
 
 
 
 
 
 
 
458
 
459
+ $js = PHP_EOL;
460
+ $js .= 'window.ec = window.ec || Object()' . PHP_EOL;
461
+ $js .= 'window.ec.config = window.ec.config || Object();' . PHP_EOL;
462
+ $js .= 'window.ec.config.enable_canonical_urls = true;' . PHP_EOL;
463
 
464
  $plugins_disabling_interactive = array(
465
  'shiftnav-pro/shiftnav.php',
468
 
469
  foreach ( $plugins_disabling_interactive as $plugin ) {
470
  if ( is_plugin_active( $plugin ) ) {
471
+ $js .= "window.ec.config.interactive = false;" . PHP_EOL;
472
  break;
473
  }
474
  }
475
 
476
  $js = apply_filters( 'ecwid_inline_js_config', $js );
477
 
478
+ echo sprintf( '<script data-cfasync="false" type="text/javascript">%s</script>', $js );
 
 
 
 
 
 
479
  }
480
 
481
  add_action( 'ecwid_inline_js_config', 'ecwid_add_chameleon' );
 
482
  function ecwid_add_chameleon( $js ) {
483
 
484
  $colors = array();
502
 
503
  $chameleon = apply_filters( 'ecwid_chameleon_settings', array( 'colors' => $colors, 'font' => $font ) );
504
 
505
+ if ( !is_array($chameleon) ) {
506
  $chameleon = array(
507
  'colors' => $colors,
508
  'font' => $font
517
  $chameleon['font'] = $font;
518
  }
519
 
520
+ $js .= 'window.ec.config.chameleon = window.ec.config.chameleon || Object();' . PHP_EOL;
521
+ $js .= sprintf( 'window.ec.config.chameleon.font = %s;', $chameleon['font'] ) . PHP_EOL;
522
+ $js .= sprintf( 'window.ec.config.chameleon.colors = %s;', $chameleon['colors'] ) . PHP_EOL;
 
 
523
 
524
  return $js;
525
  }
674
 
675
  do_action('ecwid_plugin_installed', $current_version);
676
  add_option('ecwid_plugin_version', $current_version);
 
 
677
 
678
  // Called in Ecwid_Seo_Links->on_fresh_install
679
  do_action( 'ecwid_on_fresh_install' );
701
 
702
  add_option( Ecwid_Products::OPTION_ENABLED, Ecwid_Products::is_enabled() );
703
 
 
 
 
 
 
704
  add_option('ecwid_disable_pb_url', false );
705
  add_option('ecwid_historyjs_html4mode', false);
706
 
1075
  'href' => Ecwid_Admin::get_dashboard_url(),
1076
  ));
1077
 
1078
+ if( ecwid_is_demo_store()
1079
+ || (isset($_GET['page']) && $_GET['page'] == Ecwid_Admin::ADMIN_SLUG && isset($_GET['reconnect']))
1080
+ ) {
1081
+ $wp_admin_bar->add_menu(array(
1082
+ "id" => "ecwid-control-panel",
1083
+ "title" => __("Set up your store", 'ecwid-shopping-cart'),
1084
+ "parent" => "ecwid-main",
1085
+ 'href' => Ecwid_Admin::get_dashboard_url()
1086
+ )
1087
+ );
1088
+ } else {
1089
 
1090
+ $pages = Ecwid_Store_Page::get_store_pages_array();
1091
+
1092
+ if( count($pages) ) {
1093
+ $wp_admin_bar->add_menu(array(
1094
+ "id" => "ecwid-go-to-page",
1095
+ "title" => __("Visit storefront", 'ecwid-shopping-cart'),
1096
+ "parent" => "ecwid-main",
1097
+ 'href' => Ecwid_Store_Page::get_store_url()
1098
+ )
1099
+ );
1100
+ }
1101
+
1102
+ $wp_admin_bar->add_menu(array(
1103
+ "id" => "ecwid-control-panel",
1104
+ "title" => __("Manage store", 'ecwid-shopping-cart'),
1105
+ "parent" => "ecwid-main",
1106
+ 'href' => Ecwid_Admin::get_dashboard_url()
1107
+ )
1108
+ );
1109
+
1110
+ $wp_admin_bar->add_menu(array(
1111
+ "id" => "ecwid-customize-storefront",
1112
+ "title" => count($pages) ? __("Customize design", 'ecwid-shopping-cart') : __("Manage storefront", 'ecwid-shopping-cart'),
1113
+ "parent" => "ecwid-main",
1114
+ 'href' => Ecwid_Admin_Storefront_Page::get_page_url()
1115
+ )
1116
+ );
1117
 
1118
+ $wp_admin_bar->add_menu(array(
1119
+ 'id' => 'ecwid-report-problem',
1120
+ 'title' => __( 'Report a problem with the store', 'ecwid-shopping-cart' ),
1121
+ 'parent' => 'ecwid-main',
1122
+ 'href' => 'mailto:wordpress@ecwid.com?subject=' . rawurlencode($subject) . '&body=' . rawurlencode($body),
1123
  'meta' => array(
1124
  'target' => '_blank'
1125
  )
1126
+ ));
1127
+ }
 
 
 
 
 
 
 
 
 
 
1128
  }
1129
 
1130
  function ecwid_content_has_productbrowser( $content ) {
1131
 
 
 
1132
  if ( class_exists( 'Ecwid_Gutenberg' ) && Ecwid_Gutenberg::content_has_productbrowser( $content ) !== false ) {
1133
  return true;
1134
  }
1135
+
1136
+ $result = has_shortcode( $content, 'ecwid_productbrowser' );
1137
  if ($result) {
1138
  return $result;
1139
  }
1305
  $new_powered_by = '<li>';
1306
  $new_powered_by .= sprintf(
1307
  __('<a %s>Online store powered by %s</a>', 'ecwid-shopping-cart'),
1308
+ 'target="_blank" href="//www.ecwid.com"',
1309
  Ecwid_Config::get_brand()
1310
  );
1311
  $new_powered_by .= '</li>';
1500
  'default_category_id' => 0,
1501
  'default_product_id' => 0,
1502
  'lang' => '',
1503
+ 'no_html_catalog' => 0,
1504
+ 'default_page' => ''
1505
  )
1506
  , $attributes
1507
  );
1521
  $attributes['layout'] = $attributes['minicart_layout'];
1522
  $attributes['is_ecwid_shortcode'] = true;
1523
 
1524
+
1525
+ if( !empty($attributes['default_page']) ) {
1526
+ $attributes['no_html_catalog'] = 1;
1527
+ }
1528
+
1529
  $result = '';
1530
 
1531
  $widgets_order = array('minicart', 'search', 'categories', 'productbrowser');
1804
  delete_option(Ecwid_Api_V3::TOKEN_OPTION_NAME);
1805
 
1806
  EcwidPlatform::cache_reset('need_add_rewrite');
1807
+ Ecwid_Store_Page::delete_page_from_nav_menus();
1808
  }
1809
 
1810
  function ecwid_abs_intval($value) {
1909
  'Y'
1910
  )
1911
  ),
1912
+
1913
+ Ecwid_Products::OPTION_ENABLED => array(
1914
+ 'values' => array(
1915
+ '',
1916
+ '1'
1917
+ )
1918
+ ),
1919
+
1920
  );
1921
 
1922
+
1923
+ if( class_exists('woocommerce') && class_exists('Ecwid_Importer') ) {
1924
+ $options[ Ecwid_Importer::OPTIONS_SEPARATE_IMAGE_LOADING ] = array(
1925
+ 'values' => array(
1926
+ '',
1927
+ 'Y'
1928
+ )
1929
+ );
1930
+ }
1931
+
1932
  return $options;
1933
  }
1934
 
2030
  wp_enqueue_style('ecwid-opensans', 'https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300', array(), get_option('ecwid_plugin_version'));
2031
 
2032
  if (isset($_GET['page']) && strpos($_GET['page'], 'ec-store') === 0) {
2033
+
2034
+ $is_reconnect = isset($_GET['page']) && $_GET['page'] == Ecwid_Admin::ADMIN_SLUG && isset($_GET['reconnect']);
2035
+ $is_connection_error = Ecwid_Admin_Main_Page::is_connection_error();
2036
+
2037
  // Can't really remember why it checks against the raw version, not the sanitized one; consider refactoring
2038
+ if ( ecwid_is_demo_store( get_option( 'ecwid_store_id' ) ) || !get_option( 'ecwid_store_id' ) || $is_reconnect || $is_connection_error ) {
2039
+
2040
+ if( class_exists('Ecwid_Admin') && isset($_GET['page']) && $_GET['page'] != Ecwid_Admin::ADMIN_SLUG ) {
2041
+ return;
2042
+ }
2043
+
2044
+ wp_enqueue_script('ecwid-welcome-page-js', ECWID_PLUGIN_URL . 'js/welcome-page.js', array(), get_option('ecwid_plugin_version'));
2045
+ wp_localize_script('ecwid-welcome-page-js', 'ecwidParams', array(
2046
  'registerLink' => ecwid_get_register_link(),
2047
  'isWL' => Ecwid_Config::is_wl()
2048
  )
2049
  );
2050
 
2051
+ wp_enqueue_style('ecwid-welcome-page-css', ECWID_PLUGIN_URL . 'css/welcome-page.css', array(), get_option('ecwid_plugin_version'), 'all');
2052
  } else {
2053
  // We already connected and disconnected the store, no need for fancy landing
2054
  wp_enqueue_script('ecwid-connect-js', ECWID_PLUGIN_URL . 'js/dashboard.js', array(), get_option('ecwid_plugin_version'));
2055
  }
 
 
 
 
 
 
 
 
 
 
2056
  }
2057
  }
2058
 
2090
  case 'advanced':
2091
  register_setting( 'ecwid_options_page', 'ecwid_default_category_id', 'ecwid_abs_intval' );
2092
  register_setting( 'ecwid_options_page', 'ecwid_sso_secret_key' );
 
2093
  register_setting( 'ecwid_options_page', 'ecwid_is_sso_enabled' );
2094
  break;
2095
  }
2100
  Ecwid_Products::disable();
2101
  }
2102
 
 
 
 
 
 
 
 
 
 
2103
  if ($_POST['settings_section'] == 'advanced' && !@$_POST['ecwid_is_sso_enabled']) {
2104
  update_option('ecwid_sso_secret_key', '');
2105
  }
 
 
 
 
 
 
 
 
2106
  }
2107
 
2108
  if ( isset( $_POST['ecwid_store_id'] ) ) {
2135
  'store_shortcodes' => Ecwid_Shortcode_Base::get_store_shortcode_names(),
2136
  'store_shortcode' => Ecwid_Shortcode_Base::get_current_store_shortcode_name(),
2137
  'product_shortcode' => Ecwid_Shortcode_Product::get_shortcode_name(),
2138
+ 'legacy_appearance' => ecwid_is_legacy_appearance_used(),
2139
+ 'is_demo_store' => ecwid_is_demo_store() || is_admin() && isset($_GET['reconnect'])
2140
  ));
2141
  }
2142
 
2284
  $url = ecwid_get_admin_sso_url($time, $page);
2285
  if ($url) {
2286
  $url .= '&inline&min-height=700';
2287
+
2288
  if ( Ecwid_Admin::are_auto_menus_enabled() ) {
2289
  $url .= '&hide_vertical_navigation_menu=true';
2290
  }
2291
+
2292
+ $url .= '&hide_staff_accounts_header_menu=true';
2293
+ $url .= '&dashboard_website_section_type=wordpress';
2294
+ $url .= '&website_manage_url=' . Ecwid_Store_Page::get_store_url();
2295
+
2296
  return $url;
2297
  } else {
2298
  return false;
2373
  if (ecwid_test_oauth(true)) {
2374
  require_once ECWID_PLUGIN_DIR . 'templates/reconnect-sso.php';
2375
  } else {
2376
+ require_once ECWID_PLUGIN_DIR . 'templates/simple-dashboard.php';
2377
  }
2378
  } else {
2379
  $show_reconnect = true;
images/admin-storefront/customize-promo.png ADDED
Binary file
images/admin-storefront/icons/add-another-page.svg ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <path d="M4.64 4h42.72A3.64 3.64 0 0151 7.64V42a4 4 0 01-4 4H5a4 4 0 01-4-4V7.64A3.64 3.64 0 014.64 4z" fill="none"/>
3
+ <path d="M47 47H5a4.78 4.78 0 01-5-4.74V7.63A4.73 4.73 0 015 3h42a4.73 4.73 0 015 4.63v34.63A4.78 4.78 0 0147 47zM5 5a2.73 2.73 0 00-3 2.63v34.63A2.82 2.82 0 005 45h42a2.82 2.82 0 003-2.74V7.63A2.73 2.73 0 0047 5z" fill="#7e94aa"/>
4
+ <path d="M4.62 1h42.26A4.12 4.12 0 0151 5.12V12H1V4.62A3.62 3.62 0 014.62 1z" fill="#fbd88e"/>
5
+ <path d="M52 13H0V4.62A4.76 4.76 0 015.07 0h41.8C49.8 0 52 2 52 4.62zM2 11h48V4.62C50 2.9 48.43 2 46.88 2H5.06A2.79 2.79 0 002 4.62z" fill="#7e94aa"/>
6
+ <path fill="#ecf5fe" d="M7 18h38v10H7z"/>
7
+ <path d="M46 29H6V17h40zM8 27h36v-8H8zM6 33h40v2H6zM6 39h40v2H6z" fill="#7e94aa"/>
8
+ <path d="M55 43c0 6.23-4.79 12-11 12s-12-5.77-12-12 5.77-11 12-11a10.85 10.85 0 0111 11z" fill="#cae87c"/>
9
+ <path d="M44 56a13.52 13.52 0 01-13-13c0-6.5 6-12 13-12a11.89 11.89 0 0112 12c0 7.06-5.48 13-12 13zm0-23c-6 0-11 4.58-11 10 0 5.65 5.35 11 11 11 5.43 0 10-5 10-11a9.8 9.8 0 00-10-10z" fill="#7e94aa"/>
10
+ <path fill="#7e94aa" d="M43 36h2v14h-2z"/>
11
+ <path fill="#7e94aa" d="M37 42h14v2H37zM6 5h3v3H6zM12 5h3v3h-3zM18 5h3v3h-3z"/>
12
+ </svg>
images/admin-storefront/icons/add-page-to-menu.svg ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <path d="M21 25a12 12 0 1112-12 12 12 0 01-12 12zm0-22a10 10 0 1010 10A10 10 0 0021 3z" fill="#7e91a7"/>
3
+ <path fill="#7e94aa" d="M15 8h12v2H15zM15 12h12v2H15zM15 16h12v2H15z"/>
4
+ <path fill="#e9f2fb" d="M8 33h26v20H8z"/>
5
+ <path d="M35 54H7V32h28zM9 52h24V34H9z" fill="#7e91a7"/>
6
+ <path d="M34 28H8l-3 7a4 4 0 008 0 4 4 0 008 0 4 4 0 008 0 4 4 0 008 0z" fill="#fad793"/>
7
+ <path d="M33 40a5 5 0 01-4-2 5 5 0 01-8 0 5 5 0 01-8 0 5 5 0 01-9-3v-.2L7.3 27h27.4l3.3 7.8v.2a5 5 0 01-5 5zm-5-5h2a3 3 0 006 .2L33.3 29H8.7L6 35.2a3 3 0 006-.2h2a3 3 0 006 0h2a3 3 0 006 0z" fill="#7f90a5"/>
8
+ <path fill="#e9f2fb" d="M18 43h6v10h-6z"/>
9
+ <path d="M25 54h-8V42h8zm-6-2h4v-8h-4z" fill="#7e91a7"/>
10
+ <path fill="#7e94aa" d="M52 47H39v-2h11V14H38v-2h14v35z"/>
11
+ <path fill="#7e94aa" d="M42.4 17.8l-6-4.8 6-4.8 1.3 1.6-4 3.2 4 3.2-1.4 1.6z"/>
12
+ </svg>
images/admin-storefront/icons/cart-checkout.svg ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <path d="M6.54 5h42.73a3.64 3.64 0 013.64 3.64v34.62A3.74 3.74 0 0149.16 47H6.91a4 4 0 01-4-4V8.64A3.64 3.64 0 016.54 5z" fill="#fff"/>
3
+ <path d="M49.16 48H6.91a5 5 0 01-5-5V8.64A4.64 4.64 0 016.54 4h42.73a4.64 4.64 0 014.64 4.64v34.62A4.75 4.75 0 0149.16 48zM6.54 6a2.64 2.64 0 00-2.63 2.64V43a3 3 0 003 3h42.25a2.75 2.75 0 002.75-2.74V8.64A2.64 2.64 0 0049.27 6z" fill="#7e94aa"/>
4
+ <path d="M6.52 2h42.27a4.11 4.11 0 014.11 4.11V13h-50V5.62A3.62 3.62 0 016.52 2z" fill="#fbd88e"/>
5
+ <path d="M53.91 14h-52V5.62A4.74 4.74 0 017 1h41.79c2.92 0 5.12 2 5.12 4.62zm-50-2h48V5.62C51.91 3.9 50.34 3 48.79 3H7a2.78 2.78 0 00-3 2.62z" fill="#7e94aa"/>
6
+ <path fill="#7e91a7" d="M9.91 20h36v2h-36z"/>
7
+ <path fill="#e9f1f9" d="M14.91 21h26v33h-26z"/>
8
+ <path d="M41.91 55h-28V20h28zm-26-2h24V22h-24z" fill="#7e91a7"/>
9
+ <path d="M27.91 48.62a3.83 3.83 0 01-4-3.62h2a1.84 1.84 0 002 1.63 1.85 1.85 0 002-1.63v-.88a1.85 1.85 0 00-2-1.63 3.82 3.82 0 01-4-3.61V38a3.83 3.83 0 014-3.62 3.84 3.84 0 014 3.62h-2a1.85 1.85 0 00-2-1.63 1.84 1.84 0 00-2 1.63v.88a1.84 1.84 0 002 1.63 3.83 3.83 0 014 3.61V45a3.84 3.84 0 01-4 3.62z" fill="#7f93a8"/>
10
+ <path fill="#7f93a8" d="M26.91 32h2v3h-2zM26.91 48h2v2h-2zM18.91 24h14v2h-14zM18.91 28h14v2h-14zM34.91 28h2v2h-2zM34.91 24h2v2h-2z"/>
11
+ <path fill="#7e94aa" d="M6.91 6h3v3h-3zM12.91 6h3v3h-3zM18.91 6h3v3h-3z"/>
12
+ </svg>
images/admin-storefront/icons/category.svg ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <path fill="#fff" d="M3 3h35v34H3z"/>
3
+ <path d="M39 38H2V2h37zM4 36h33V4H4z" fill="#7e91a7"/>
4
+ <path fill="#e9f2fb" d="M10 10h35v34H10z"/>
5
+ <path d="M46 45H9V9h37zm-35-2h33V11H11z" fill="#7e91a7"/>
6
+ <path fill="#bcdbf2" d="M52 51H17V17h35z"/>
7
+ <path d="M53 52H16V16h37zm-35-2h33V18H18z" fill="#7c90a4"/>
8
+ <path fill="#7c90a4" d="M23 24h23v2H23zM23 30h23v2H23zM23 36h23v2H23zM23 42h23v2H23z"/>
9
+ </svg>
images/admin-storefront/icons/choose-main-page.svg ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <path d="M5 1h42a4 4 0 014 4v30.26A3.74 3.74 0 0147.26 39H5a4 4 0 01-4-4V5a4 4 0 014-4z" fill="#fff"/>
3
+ <path d="M47.26 40H5a5 5 0 01-5-5V5a5 5 0 015-5h42a5 5 0 015 5v30.26A4.75 4.75 0 0147.26 40zM5 2a3 3 0 00-3 3v30a3 3 0 003 3h42.26A2.74 2.74 0 0050 35.26V5a3 3 0 00-3-3z" fill="#7e91a7"/>
4
+ <path d="M4.62 1H47a4 4 0 014 4v6H1V4.62A3.62 3.62 0 014.62 1z" fill="#f8d58b"/>
5
+ <path d="M52 12H0V4.62A4.62 4.62 0 014.62 0H47a5 5 0 015 5zM2 10h48V5a3 3 0 00-3-3H4.62A2.63 2.63 0 002 4.62z" fill="#7e91a7"/>
6
+ <circle cx="7" cy="6" r="1" fill="#7e91a7"/>
7
+ <circle cx="11" cy="6" r="1" fill="#7e91a7"/>
8
+ <circle cx="15" cy="6" r="1" fill="#7e91a7"/>
9
+ <path fill="#7e91a7" d="M7 17h38v2H7zM7 23h39v2H7zM7 29h38v2H7z"/>
10
+ <circle cx="38.5" cy="38.5" r="16.5" fill="#e9f2fb"/>
11
+ <path d="M38.5 56A17.5 17.5 0 1156 38.5 17.52 17.52 0 0138.5 56zm0-33A15.5 15.5 0 1054 38.5 15.51 15.51 0 0038.5 23z" fill="#7e91a7"/>
12
+ <path fill="#7e91a7" d="M29.32 39.31l-1.44-1.62 10.62-9.44 10.62 9.44-1.44 1.62-9.18-8.17-9.18 8.17z"/>
13
+ <path fill="#7e91a7" d="M46 47H31V35h2v10h11V35h2v12z"/>
14
+ <path d="M42 47h-7v-9h7zm-5-2h3v-5h-3z" fill="#7e91a7"/>
15
+ </svg>
images/admin-storefront/icons/customize-page-link.svg ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <rect x="2" y="8" width="52" height="20" rx="3" fill="#e1f5fd"/>
3
+ <path d="M51 29H5a4 4 0 01-4-4V11a4 4 0 014-4h46a4 4 0 014 4v14a4 4 0 01-4 4zM5 9a2 2 0 00-2 2v14a2 2 0 002 2h46a2 2 0 002-2V11a2 2 0 00-2-2z" fill="#7f94a9"/>
4
+ <path d="M40.6 51a.8.8 0 01-.7-.5l-4.3-9-4.3 3.3A.8.8 0 0130 44V26.3a.8.8 0 01.5-.7.9.9 0 01.3-.1.8.8 0 01.5.2L45.2 37a.8.8 0 01.3.8.8.8 0 01-.6.6l-5.2 1.2 4.4 9a.8.8 0 010 .6.8.8 0 01-.4.5L41 50.9a.8.8 0 01-.4.1z" fill="#fff"/>
5
+ <path d="M40.6 52a1.8 1.8 0 01-1.6-1l-3.8-8-3.3 2.5a1.9 1.9 0 01-1.9.2 2 2 0 01-1-1.7V26a1.4 1.4 0 011-1.4 1.8 1.8 0 011.9.3l14 11.3a1.8 1.8 0 01.6 1.8 1.8 1.8 0 01-1.4 1.4l-4 .8 3.9 8a1.8 1.8 0 010 1.3 1.8 1.8 0 01-.9 1l-2.7 1.3a1.8 1.8 0 01-.8.2zm.2-1.9zM36 39.9l4.8 10 2.3-1.1-4.8-10 6-1.3L31 26.7v17zm7.2 9.1zm0-.3zm1.4-11z" fill="#7f94a9"/>
6
+ <path d="M15 22l-1.6-5.5-1.7 5.5H9.4L7 14h2.2l1.5 5.4 1.7-5.4h1.9l1.8 5.4 1.4-5.4h2.2l-2.4 8zm13.4 0l-1.6-5.5L25 22h-2.3l-2.4-8h2.2l1.5 5.4 1.7-5.4h1.9l1.7 5.4L31 14h2.2l-2.4 8zm13.4 0l-1.7-5.5-1.6 5.5h-2.3l-2.4-8H36l1.5 5.4 1.7-5.4H41l1.7 5.4 1.5-5.4h2.2L44 22zm5.2-1.5a1.5 1.5 0 111.5 1.5 1.5 1.5 0 01-1.5-1.5z" fill="#7f92a9"/>
7
+ </svg>
images/admin-storefront/icons/feature-sidebar.svg ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <path d="M6.32 8h42.35a4 4 0 014 4v33.26A3.74 3.74 0 0148.93 49H6.69a4 4 0 01-4-4V11.64A3.64 3.64 0 016.32 8z" fill="#fff"/>
3
+ <path d="M48.93 50H6.69a5 5 0 01-5-5V11.64A4.64 4.64 0 016.32 7h42.35a5 5 0 015 5v33.26A4.75 4.75 0 0148.93 50zM6.32 9a2.64 2.64 0 00-2.64 2.64V45a3 3 0 003 3h42.25a2.75 2.75 0 002.75-2.74V12a3 3 0 00-3-3z" fill="#7e94aa"/>
4
+ <path d="M6.3 5h42.27a4.11 4.11 0 014.11 4.11V16h-50V8.62A3.62 3.62 0 016.3 5z" fill="#fbd88e"/>
5
+ <path d="M53.68 17h-52V8.62A4.75 4.75 0 016.74 4h41.83c2.91 0 5.11 2 5.11 4.62zm-50-2h48V8.62C51.68 6.9 50.11 6 48.57 6H6.74a2.79 2.79 0 00-3.06 2.62z" fill="#7e94aa"/>
6
+ <path fill="#fff" d="M20.68 16v19h-5v-3l-8 6 8 7v-3h5v8"/>
7
+ <path fill="#7e94aa" d="M21.68 50h-2v-7h-3v4.2L6.09 37.94 16.68 30v4h3V16h2v20h-7v-2l-5.41 4.06 5.41 4.74V41h7v9z"/>
8
+ <path d="M41.68 44h-10a4 4 0 01-4-4V26h18v14a4 4 0 01-4 4z" fill="#bcdbf2"/>
9
+ <path d="M41.68 45h-10a5 5 0 01-5-5V26a1 1 0 011-1h18a1 1 0 011 1v14a5 5 0 01-5 5zm-13-18v13a3 3 0 003 3h10a3 3 0 003-3V27z" fill="#7c90a4"/>
10
+ <path fill="#7e94aa" d="M6.68 9h3v3h-3zM12.68 9h3v3h-3zM18.68 9h3v3h-3z"/>
11
+ <path d="M41.68 30h-2v-5a3 3 0 00-6 0v5h-2v-5a5 5 0 0110 0z" fill="#7f93a8"/>
12
+ <path fill="#7e94aa" d="M6.68 20h10v2h-10zM6.68 25h10v2h-10z"/>
13
+ </svg>
images/admin-storefront/icons/product.svg ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <path d="M3 16h50v30.4a3.6 3.6 0 01-3.6 3.6H6.6A3.6 3.6 0 013 46.4V16z" fill="#fff"/>
3
+ <path d="M49 51H7c-2.76 0-5-1.84-5-4.09V15h52v31.91c0 2.25-2.24 4.09-5 4.09zM4 16v30.52A2.78 2.78 0 007 49h42a2.78 2.78 0 003-2.48V16z" fill="#7e94aa"/>
4
+ <path d="M7 5h42a4 4 0 014 4v7H3V9a4 4 0 014-4z" fill="#fbd88e"/>
5
+ <path d="M54 17H2V9a5 5 0 015-5h42a5 5 0 015 5zM4 15h48V9a3 3 0 00-3-3H7a3 3 0 00-3 3z" fill="#7e94aa"/>
6
+ <path fill="#7e94aa" d="M7 9h3v3H7zM13 9h3v3h-3zM19 9h3v3h-3z"/>
7
+ <path d="M23 45H13a4 4 0 01-4-4V27h18v14a4 4 0 01-4 4z" fill="#bcdbf2"/>
8
+ <path d="M23 46H13a5 5 0 01-5-5V27a1 1 0 011-1h18a1 1 0 011 1v14a5 5 0 01-5 5zM10 28v13a3 3 0 003 3h10a3 3 0 003-3V28z" fill="#7c90a4"/>
9
+ <path d="M23 30h-2v-5a3 3 0 00-6 0v5h-2v-5a5 5 0 0110 0z" fill="#7f93a8"/>
10
+ <path fill="#7e94aa" d="M32 26h16v2H32zM32 33h16v2H32zM32 41h16v2H32z"/>
11
+ </svg>
images/admin-storefront/icons/search-filters.svg ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <path fill="#fad793" d="M5 11h26.31L21 27.2V37h-6v-9.8L5 11z"/>
3
+ <path d="M22 38h-8V27.48L3.21 10h29.92L22 27.49zm-6-2h4v-9.09L29.49 12H6.79L16 26.92z" fill="#7f90a5"/>
4
+ <circle cx="37" cy="32" r="11" fill="#e9f2fb"/>
5
+ <path d="M37 44.08A12.08 12.08 0 1149.08 32 12.09 12.09 0 0137 44.08zm0-22A9.92 9.92 0 1046.92 32 9.93 9.93 0 0037 22.08z" fill="#7e91a7"/>
6
+ <path fill="#7e94aa" d="M43.094 39.732l1.49-1.451 8.163 8.382-1.49 1.451z"/>
7
+ </svg>
images/admin-storefront/icons/show-shopping-cart-icon.svg ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <path d="M4.93 15h42a4 4 0 014 4v30.26A3.74 3.74 0 0147.18 53H4.93a4 4 0 01-4-4V19a4 4 0 014-4z" fill="#fff"/>
3
+ <path d="M47.18 54H4.93a5 5 0 01-5-5V19a5 5 0 015-5h42a5 5 0 015 5v30.26A4.74 4.74 0 0147.18 54zM4.93 16a3 3 0 00-3 3v30a3 3 0 003 3h42.25a2.74 2.74 0 002.74-2.74V19a3 3 0 00-3-3z" fill="#7e91a7"/>
4
+ <path d="M4.55 15h42.37a4 4 0 014 4v6h-50v-6.38A3.62 3.62 0 014.55 15z" fill="#f8d58b"/>
5
+ <path d="M51.92 26h-52v-7.38A4.63 4.63 0 014.55 14h42.37a5 5 0 015 5zm-50-2h48v-5a3 3 0 00-3-3H4.55a2.63 2.63 0 00-2.63 2.62z" fill="#7e91a7"/>
6
+ <circle cx="6.92" cy="20" r="1" fill="#7e91a7"/>
7
+ <circle cx="10.92" cy="20" r="1" fill="#7e91a7"/>
8
+ <circle cx="14.92" cy="20" r="1" fill="#7e91a7"/>
9
+ <path fill="#7e91a7" d="M6.92 31h38v2h-38zM6.92 37h38v2h-38zM6.92 43h38v2h-38z"/>
10
+ <circle cx="38.42" cy="17.5" r="16.5" fill="#e9f2fb"/>
11
+ <path d="M38.42 35a17.5 17.5 0 1117.5-17.5A17.52 17.52 0 0138.42 35zm0-33a15.5 15.5 0 1015.5 15.5A15.52 15.52 0 0038.42 2z" fill="#7e91a7"/>
12
+ <path fill="#7e91a7" d="M31.97 21.26L29.16 11h-2.24V9h3.77l3.2 11.74-1.92.52z"/>
13
+ <path d="M45.68 22H32.17l-2.46-9h18.54zm-12-2h10.49l1.43-5H32.32z" fill="#7e91a7"/>
14
+ <circle cx="34.92" cy="26" r="2" fill="#7e91a7"/>
15
+ <circle cx="41.92" cy="26" r="2" fill="#7e91a7"/>
16
+ </svg>
images/admin-storefront/icons/site-appearance.svg ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <path d="M48.11 54H5.29C3.09 54 1 51.78 1 49.06V10l51-.25V49c0 2.71-1.69 5-3.89 5z" fill="none"/>
3
+ <path d="M48.11 55H5.29C2.47 55 0 52.22 0 49.06V9l53-.26V49c0 3.36-2.15 6-4.89 6zM2 11.24v37.84C2 51.32 3.73 53 5.29 53h42.82c1.6 0 2.89-1.79 2.89-4V11z" fill="#7e94aa"/>
4
+ <path d="M5.25 5h42.61A4.14 4.14 0 0152 9.14V16H1V9.25A4.25 4.25 0 015.25 5z" fill="#ecf5fe"/>
5
+ <path d="M53 17H0V9.26A5.55 5.55 0 015.54 4h42.32A5.15 5.15 0 0153 9.26zM2 15h49V9.26A3.17 3.17 0 0047.86 6H5.54A3.54 3.54 0 002 9.26z" fill="#7e94aa"/>
6
+ <path fill="#fbd88e" d="M7 22h39v26H7z"/>
7
+ <path d="M47 49H6V21h41zM8 47h37V23H8z" fill="#7e94aa"/>
8
+ <path d="M23.74 34.57l3.08-7.21a2.76 2.76 0 014.33-.23 2.76 2.76 0 01-.27 4.3z" fill="#fbd88e"/>
9
+ <path d="M23.74 35.57a1 1 0 01-.7-.29 1 1 0 01-.22-1.11L25.9 27a1 1 0 01.08-.14 3.49 3.49 0 012.6-1.61A4.1 4.1 0 0133 29.7a3.49 3.49 0 01-1.61 2.57l-.13.07-7.13 3.14a1 1 0 01-.39.09zm4-7.73l-2.05 4.79 4.74-2.09a1.45 1.45 0 00.57-1.08 2 2 0 00-.6-1.63 2 2 0 00-1.63-.62 1.48 1.48 0 00-1.06.63z" fill="#7e94aa"/>
10
+ <path d="M54.68 4s-1.61-1.73-20.87 17.25L30 26.66a1.17 1.17 0 001.59 1.6L37 24.53C56.3 5.55 54.68 4 54.68 4z" fill="#bcdefa"/>
11
+ <path d="M31.05 29.46a2.21 2.21 0 01-1.54-.66 2.09 2.09 0 01-.29-2.69L33 20.69l.13-.14C41.24 12.53 51.54 3 54.51 3a1.24 1.24 0 01.83.31 1.13 1.13 0 01.29.8c0 2.75-9.75 13-18 21.08l-.14.11-5.29 3.8a2 2 0 01-1.15.36zm3.52-7.56l-3.7 5.33s0 .08.06.14a.21.21 0 00.12.07l5.34-3.69C47.24 13.06 51.3 8.07 52.81 5.82c-2.28 1.44-7.36 5.37-18.24 16.08zM54 4.71zm0 0zm0 0zM6 9h3v3H6zM12 9h3v3h-3zM18 9h3v3h-3z" fill="#7e94aa"/>
12
+ </svg>
images/admin-storefront/icons/site-content.svg ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <circle cx="3" cy="14" r="3" fill="#7e94aa"/>
3
+ <circle cx="3" cy="52" r="3" fill="#7e94aa"/>
4
+ <circle cx="45.5" cy="17.5" r="2.5" fill="#7e94aa"/>
5
+ <circle cx="46" cy="52" r="3" fill="#7e94aa"/>
6
+ <path fill="#7e94aa" d="M2 29h2v3H2zM2 24h2v3H2zM2 19h2v3H2zM12 13v2H8v-2zM2 34h2v3H2zM2 39h2v3H2zM2 44h2v3H2zM26 51v2h-3v-2zM31 51v2h-3v-2zM36 51v2h-3v-2zM41 51v2h-3v-2zM47 47h-2v-3h2zM21 51v2h-3v-2zM16 51v2h-3v-2zM11 51v2H8v-2z"/>
7
+ <path fill="#bcdefa" d="M11 3h44v41H11z"/>
8
+ <path d="M56 45H10V2h46zm-44-2h42V4H12z" fill="#7e94aa"/>
9
+ <path fill="#cae87c" d="M37.31 25.47l10.1-5.16L55 24.09 54.97 44H11V28.46l17.29-7.55 17.44 9.37"/>
10
+ <path d="M56 45H10V27.81l18.33-8 8.72 4.68 10.35-5.3 8.6 4.28zm-44-2h42V24.71l-6.58-3.28-8.23 4.2 7 3.77-.95 1.76L28.25 22 12 29.11z" fill="#7e94aa"/>
11
+ <circle cx="23.5" cy="12.5" r="4.5" fill="#fbd88e"/>
12
+ <path d="M23.5 18a5.5 5.5 0 115.5-5.5 5.51 5.51 0 01-5.5 5.5zm0-9a3.5 3.5 0 103.5 3.5A3.5 3.5 0 0023.5 9z" fill="#7e94aa"/>
13
+ </svg>
images/admin-storefront/icons/store-on-home-page.svg ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56">
2
+ <path d="M50.11 53H6.29C4.09 53 2 50.78 2 48.06V9l52-.25V48c0 2.71-1.69 5-3.89 5z" fill="#fff"/>
3
+ <path d="M50.11 54H6.29C3.47 54 1 51.22 1 48.06V8l54-.26V48c0 3.36-2.15 6-4.89 6zM3 10.24v37.84C3 50.33 4.73 52 6.29 52h43.82c1.6 0 2.89-1.79 2.89-4V10z" fill="#7e94aa"/>
4
+ <path d="M6.25 2h43.5A4.25 4.25 0 0154 6.25V13H2V6.25A4.25 4.25 0 016.25 2z" fill="#fad793"/>
5
+ <path d="M55 14H1V6.25A5.26 5.26 0 016.25 1h43.5A5.26 5.26 0 0155 6.25zM3 12h50V6.25A3.26 3.26 0 0049.75 3H6.25A3.26 3.26 0 003 6.25z" fill="#7f90a5"/>
6
+ <path fill="#7e94aa" d="M6 6h3v3H6zM12 6h3v3h-3zM18 6h3v3h-3z"/>
7
+ <path fill="#e9f2fb" d="M15 26h26v19H15z"/>
8
+ <path d="M42 46H14V25h28zm-26-2h24V27H16z" fill="#7e91a7"/>
9
+ <path d="M41 21H15l-3 7a4 4 0 008 0 4 4 0 008 0 4 4 0 008 0 4 4 0 008 0z" fill="#fad793"/>
10
+ <path d="M40 33a5 5 0 01-4-2 5 5 0 01-8 0 5 5 0 01-8 0 5 5 0 01-9-3v-.21L14.34 20h27.32L45 27.79V28a5 5 0 01-5 5zm-5-5h2a3 3 0 006 .19L40.34 22H15.66L13 28.19a3 3 0 006-.19h2a3 3 0 006 0h2a3 3 0 006 0z" fill="#7f90a5"/>
11
+ <path fill="#e9f2fb" d="M25 36h6v9h-6z"/>
12
+ <path d="M32 46h-8V35h8zm-6-2h4v-7h-4z" fill="#7e91a7"/>
13
+ </svg>
images/admin-storefront/store-create.png ADDED
Binary file
images/admin-storefront/store-default.png ADDED
Binary file
images/admin-storefront/store-draft.png ADDED
Binary file
images/ec-logo.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 112 24"><path d="M18.5436279 0H5.45637209C2.44353488 0 0 2.44353488 0 5.45748837V18.5436279C0 21.5575814 2.44353488 24 5.45637209 24H18.5436279C21.5575814 24 24 21.5575814 24 18.5436279V5.45637209C24 2.44353488 21.5564651 0 18.5436279 0zm-3.5374884 6.45767442c.5983256 0 1.0827907.48446511 1.0827907 1.0827907 0 .59832558-.4844651 1.08279069-1.0827907 1.08279069-.5983255 0-1.0827907-.48446511-1.0827907-1.08279069 0-.59832559.4844652-1.0827907 1.0827907-1.0827907zm0 3.05860465c.5983256 0 1.0827907.48446513 1.0827907 1.08279073 0 .5983255-.4844651 1.0827907-1.0827907 1.0827907-.5983255 0-1.0827907-.4844652-1.0827907-1.0827907 0-.5983256.4844652-1.08279073 1.0827907-1.08279073zm-3.0519069-3.05860465c.5983255 0 1.0827907.48446511 1.0827907 1.0827907 0 .59832558-.4844652 1.08279069-1.0827907 1.08279069-.5983256 0-1.0827907-.48446511-1.0827907-1.08279069 0-.59832559.4844651-1.0827907 1.0827907-1.0827907zm0 3.05860465c.5983255 0 1.0827907.48446513 1.0827907 1.08279073 0 .5983255-.4844652 1.0827907-1.0827907 1.0827907-.5983256 0-1.0827907-.4844652-1.0827907-1.0827907 0-.5983256.4844651-1.08279073 1.0827907-1.08279073zM8.90232558 6.45767442c.59832558 0 1.0827907.48446511 1.0827907 1.0827907 0 .59832558-.48446512 1.08279069-1.0827907 1.08279069s-1.0827907-.48446511-1.0827907-1.08279069c0-.59832559.48446512-1.0827907 1.0827907-1.0827907zm0 3.05860465c.59832558 0 1.0827907.48446513 1.0827907 1.08279073 0 .5983255-.48446512 1.0827907-1.0827907 1.0827907s-1.0827907-.4844652-1.0827907-1.0827907c0-.5983256.48446512-1.08279073 1.0827907-1.08279073zM5.96762791 20.9547907c-1.14306977 0-2.07069768-.9276279-2.07069768-2.0706977 0-1.144186.92762791-2.0718139 2.07069768-2.0718139 1.14418604 0 2.07181395.9276279 2.07181395 2.0718139.00111628 1.1430698-.92762791 2.0706977-2.07181395 2.0706977zm11.96874419.0926512c-1.1430698 0-2.0706977-.9276279-2.0706977-2.0706977 0-1.1441861.9276279-2.071814 2.0706977-2.071814 1.144186 0 2.0718139.9276279 2.0718139 2.071814 0 1.1430698-.9276279 2.0706977-2.0718139 2.0706977zm3.6379535-16.84353492l-2.1410233 7.97469772c-.5715349 2.1287441-2.3754418 3.4649302-4.580093 3.4649302h-1.412093c-.4666047 0-1.1419535-.2522791-1.4221396-.5157209-.0468837-.0435349-.1205581-.0435349-.1674418 0-.2801861.2634418-.9555349.5157209-1.4221396.5157209H8.87776744c-2.13432558 0-3.75181395-1.2167442-4.39925581-3.2506047L2.65786047 6.68204651c-.03572094-.11386046-.01674419-.2344186.05469767-.33153488.07032558-.096.17860465-.15181396.30027907-.15181396l.34827907.00111628c.83944186.00334884 1.57506977.54251163 1.82846512 1.34176745l1.33730232 4.1994419c.36167442 1.1374883 1.51925581 1.9021395 2.71255814 1.9021395l.51906977-.0011163c.53581397 0 .91311627-.2746046 1.14083717-.520186.1183256-.1283721.2835349-.2031628.4587907-.2031628l1.1653954.0011163c.1652093 0 .3259535.0658604.4364651.1875348.2210233.2422326.6128372.5346977 1.1531163.5346977l.4945116.0011163c1.2323721 0 2.427907-.8316279 2.7482791-2.0215814l1.7335814-6.45655814c.2266046-.84055814.9912558-1.42660466 1.8608372-1.42660466h.3058604c.0290233 0 .0580466.00446512.0848373.01562791.1953488.08260465.2813023.27348837.2333023.44986047z"></path><path d="M17.9363721 18.2333023c-.4096744 0-.7423256.3326512-.7423256.7434419s.3326512.7434418.7423256.7434418c.4107907 0 .7434419-.3326511.7434419-.7434418 0-.4107907-.3326512-.7434419-.7434419-.7434419zm-11.96874419-.0926511c-.40967442 0-.74232558.3326511-.74232558.7434418 0 .4107907.33265116.7434419.74232558.7434419.41079069 0 .74344186-.3326512.74344186-.7434419s-.33265117-.7434418-.74344186-.7434418zM64.313949 17.6616618c-.5400113 0-1.1303343-.0257816-1.3919547.4472553-.8206383 1.4863673-2.6944664 1.9526786-4.2340019 1.9526786-3.0623002 0-5.3889329-2.4940929-5.3889329-5.5598656s2.3266327-5.5598656 5.3889329-5.5598656c1.3606497 0 3.1316186.26342105 4.1825723 1.85627772.2973975.45061818.8854844.34749158 1.4254957.34749158.7569103 0 .5746705-.90459909.2772729-1.35633817-1.5294731-2.31810526-4.0439358-2.80571444-5.8842228-2.80571444-4.1400869 0-7.507611 3.37178947-7.507611 7.51590701 0 4.1441176 3.3686421 7.5159071 7.507611 7.5159071 2.6765779 0 4.9786138-1.1601736 6.0094429-3.0265398.2605023-.470795.4159093-1.3271937-.3846044-1.3271937zM92.5175222 7.37591041c-.5400113 0-.9771634.23763942-.9771634.77793282V21.1253684c0 .5402934.4371521.7084345.9771634.7084345s.9771634-.1681411.9771634-.7084345V8.15384323c.001118-.5402934-.4371521-.77793282-.9771634-.77793282zm0-6.37591041c-.684238 0-1.2410198.5571075-1.2410198 1.24312318s.5567818 1.24312318 1.2410198 1.24312318c.684238 0 1.2410198-.5571075 1.2410198-1.24312318C93.7596601 1.5571075 93.2028782 1 92.5175222 1zm-5.5320416 6.4498925c-.0190066 0-.0570198-.00224188-.0581378-.00224188-.0033541 0-.9212616 0-1.2007706.69946696-.2694466.67816909-1.7374277 5.30989582-3.2914976 9.82392382-.0503116.1468433-.1106856.2903237-.1665873.4338041L78.926678 9.98770213c-.1486988-.36094289-.3700699-.63221053-.6596412-.79474692-.1665873-.0964009-.3521813-.16365734-.5824967-.16365734-.002236 0-.0033541.00112094-.0055901.00112094-.0022361 0-.0033542-.00112094-.0055902-.00112094-.2303154 0-.4159094.06725644-.5824967.16365734-.2906894.16253639-.5109424.43268309-.6596412.79474692l-3.3418092 8.41714337c-.0559018-.1434804-.1162758-.2869608-.1665874-.4338041-1.5663683-4.551019-3.022051-9.14687567-3.2914976-9.82392382-.278391-.69946696-1.2387838-.69834602-1.2577904-.69722508-.4919358.01008846-.6875921.13899664-.6719396.45734378-.002236.07286114.0033541.15132699.0279509.24436506.0749084.28808175 2.4127215 7.43071556 4.3167366 12.85158456.124102.3530963.3924306.8552777 1.0263569.8552777.4203815 0 .7323135-.2779933.8452351-.5638331l3.5732427-9.1323035c.0346591-.0840706.1106856-.1255454.186712-.1277872.0771445.0022418.1531709.0437166.186712.1277872l3.5732427 9.1323035c.1129216.2858398.4472143.5638331.8452351.5638331.6462248 0 .9100812-.4988186 1.026357-.8552777C85.096 15.5587772 87.5512068 8.43968309 87.6261152 8.15160134c.0245968-.09303807.030187-.17150392.0279509-.24436506.0190066-.31834714-.1766497-.44725532-.6685855-.45734378zM48.3685212 19.8127469H35.55583003c-.21466289 0-.38795845-.1737458-.38795845-.3878454v-7.2693002H46.3694731c.5210047 0 .7502021-.4562228.7502021-1.018935 0-.56271221-.2291974-1.01893506-.7502021-1.01893506H35.16787158v-6.5328421c0-.22643001.18335788-.41026428.41031917-.41026428H48.3685212c.5210048 0 .7502021-.45622284.7502021-1.01893505 0-.5627122-.2291973-1.01893505-.7502021-1.01893505H33.92126157C33.36000755 1.13675476 33 1.6703225 33 2.50542329c0 0 .00111804 18.24667191.00111804 18.25788131.00894428.5414143.31640415 1.0884334.8228744 1.0884334H48.3685212c.5210048 0 .7502021-.4562229.7502021-1.0189351 0-.5638331-.2291973-1.020056-.7502021-1.020056zM110.95617 1c-.5400114 0-.9771634.23763942-.9771634.77793281v7.66723404c-1.1102096-1.81928667-3.2557205-2.44365061-5.1452011-2.44365061-4.1356148 0-7.4997847 3.36842665-7.4997847 7.50806046 0 4.1396338 3.3641699 7.5080605 7.4997847 7.5080605 1.6133258 0 4.1266704-.8104401 5.1452011-2.5703169v1.6500246c0 .0033628.0022361.0056047.0022361.0089675 0 .019056.0033541.0302654.0067082.0313864.0245968.5033023.4449783.6692015.9682191.6692015.5400113 0 .9771633-.1681411.9771633-.7084345V1.77793281c0-.5402934-.437152-.77793281-.9771633-.77793281zm-6.1234826 19.0627167c-3.0589461 0-5.3576279-2.4907301-5.3576279-5.55314 0-3.0624098 2.2986818-5.55313997 5.3576279-5.55313997 1.773205 0 5.1194863 1.06601456 5.1452012 5.03414447v.8967525c-.0245968 3.9042363-3.5385836 5.175383-5.1452012 5.175383z"></path></svg>
images/welcome.png ADDED
Binary file
includes/class-ecwid-admin-main-page.php CHANGED
@@ -47,7 +47,7 @@ class Ecwid_Admin_Main_Page
47
 
48
  if ( !$is_demo ) {
49
 
50
- if ( $this->_is_connect_error() ) {
51
 
52
  $this->_do_simple_reconnect_page();
53
  return;
@@ -73,7 +73,7 @@ class Ecwid_Admin_Main_Page
73
 
74
  return
75
  !ecwid_is_demo_store()
76
- && !$page->_is_connect_error()
77
  && !Ecwid_Api_V3::connection_fails()
78
  && !Ecwid_Admin::disable_dashboard();
79
  }
@@ -171,7 +171,7 @@ class Ecwid_Admin_Main_Page
171
  if (ecwid_test_oauth(true)) {
172
  require_once ECWID_PLUGIN_DIR . 'templates/reconnect-sso.php';
173
  } else {
174
- require_once ECWID_PLUGIN_DIR . 'templates/dashboard.php';
175
  }
176
  } else {
177
  require_once ECWID_PLUGIN_DIR . 'templates/ecwid-admin.php';
@@ -188,27 +188,44 @@ class Ecwid_Admin_Main_Page
188
  return 'billing:feature=sso&plan=ecwid_venture';
189
  }
190
 
191
- protected function _do_simple_dashboard_page()
192
  {
193
- require_once ECWID_ADMIN_TEMPLATES_DIR . '/simple-dashboard.php';
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  }
195
 
196
  protected function _do_simple_connect_page()
197
  {
198
- require_once ECWID_ADMIN_TEMPLATES_DIR . '/simple-connect.tpl.php';
199
  }
200
 
201
  protected function _do_simple_reconnect_page()
202
  {
203
-
204
- require_once ECWID_ADMIN_TEMPLATES_DIR . '/simple-reconnect.tpl.php';
205
  }
206
 
207
  protected function _do_fancy_connect_page()
208
  {
209
- require_once ECWID_ADMIN_TEMPLATES_DIR . '/landing.tpl.php';
210
  }
211
-
 
 
 
 
 
212
  protected function _do_legacy_connect_page()
213
  {
214
  wp_enqueue_style('legacy-connect', ECWID_PLUGIN_URL . '/css/legacy-connect.css');
@@ -230,14 +247,14 @@ class Ecwid_Admin_Main_Page
230
  }
231
 
232
  protected function _is_current_user_email_registered_at_ecwid()
233
- {
234
  $api = new Ecwid_Api_V3();
235
  $current_user = wp_get_current_user();
236
 
237
  return $api->does_store_exist( $current_user->user_email );
238
  }
239
 
240
- protected function _is_connect_error()
241
  {
242
  return isset( $_GET['connection_error'] );
243
  }
47
 
48
  if ( !$is_demo ) {
49
 
50
+ if ( self::is_connection_error() ) {
51
 
52
  $this->_do_simple_reconnect_page();
53
  return;
73
 
74
  return
75
  !ecwid_is_demo_store()
76
+ && !Ecwid_Admin_Main_Page::is_connection_error()
77
  && !Ecwid_Api_V3::connection_fails()
78
  && !Ecwid_Admin::disable_dashboard();
79
  }
171
  if (ecwid_test_oauth(true)) {
172
  require_once ECWID_PLUGIN_DIR . 'templates/reconnect-sso.php';
173
  } else {
174
+ require_once ECWID_PLUGIN_DIR . 'templates/simple-dashboard.php';
175
  }
176
  } else {
177
  require_once ECWID_PLUGIN_DIR . 'templates/ecwid-admin.php';
188
  return 'billing:feature=sso&plan=ecwid_venture';
189
  }
190
 
191
+ protected function _do_welcome_page( $state )
192
  {
193
+ global $ecwid_oauth;
194
+
195
+ if( isset($_GET['oauth']) && $_GET['oauth'] == 'no' ) {
196
+ $state = 'no_oauth';
197
+ }
198
+
199
+ $connection_error = self::is_connection_error();
200
+ $connect_url = 'admin-post.php?action=ec_connect';
201
+
202
+ require_once ECWID_ADMIN_TEMPLATES_DIR . '/welcome-page.php';
203
+ }
204
+
205
+ public function get_welcome_page_note( $text, $additional_classes = '' ) {
206
+ return sprintf( '<div class="ec-note %s">%s</div>', $additional_classes, $text );
207
  }
208
 
209
  protected function _do_simple_connect_page()
210
  {
211
+ $this->_do_welcome_page( 'connect' );
212
  }
213
 
214
  protected function _do_simple_reconnect_page()
215
  {
216
+ $this->_do_welcome_page( 'connect' );
 
217
  }
218
 
219
  protected function _do_fancy_connect_page()
220
  {
221
+ $this->_do_welcome_page( 'create' );
222
  }
223
+
224
+ protected function _do_simple_dashboard_page()
225
+ {
226
+ require_once ECWID_ADMIN_TEMPLATES_DIR . '/simple-dashboard.php';
227
+ }
228
+
229
  protected function _do_legacy_connect_page()
230
  {
231
  wp_enqueue_style('legacy-connect', ECWID_PLUGIN_URL . '/css/legacy-connect.css');
247
  }
248
 
249
  protected function _is_current_user_email_registered_at_ecwid()
250
+ {
251
  $api = new Ecwid_Api_V3();
252
  $current_user = wp_get_current_user();
253
 
254
  return $api->does_store_exist( $current_user->user_email );
255
  }
256
 
257
+ static public function is_connection_error()
258
  {
259
  return isset( $_GET['connection_error'] );
260
  }
includes/class-ecwid-admin-storefront-page.php ADDED
@@ -0,0 +1,549 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Ecwid_Admin_Storefront_Page
3
+ {
4
+ const ADMIN_SLUG = 'ec-storefront-settings';
5
+ public static $templates_dir;
6
+
7
+ public function __construct() {
8
+ add_action( 'enqueue_block_editor_assets', array( $this, 'register_script_for_select_block' ) );
9
+
10
+ add_action( 'wp_ajax_ecwid_storefront_set_status', array( $this, 'ajax_set_status' ) );
11
+ add_action( 'wp_ajax_ecwid_storefront_set_store_on_front', array( $this, 'ajax_set_store_on_front' ) );
12
+ add_action( 'wp_ajax_ecwid_storefront_set_display_cart_icon', array( $this, 'ajax_set_display_cart_icon' ) );
13
+ add_action( 'wp_ajax_ecwid_storefront_set_page_slug', array( $this, 'ajax_set_page_slug' ) );
14
+ add_action( 'wp_ajax_ecwid_storefront_set_mainpage', array( $this, 'ajax_set_mainpage' ) );
15
+ add_action( 'wp_ajax_ecwid_storefront_create_page', array( $this, 'ajax_create_page' ) );
16
+ }
17
+
18
+ public static function do_page() {
19
+
20
+ self::$templates_dir = ECWID_PLUGIN_DIR . '/templates/admin/storefront/';
21
+
22
+ $page_id = get_option( Ecwid_Store_Page::OPTION_MAIN_STORE_PAGE_ID );
23
+ $store_pages = false;
24
+
25
+ if( ecwid_is_demo_store() ) {
26
+ $page_status = 'demo';
27
+ $page_link = get_permalink( $page_id );
28
+ } elseif( !$page_id ) {
29
+ $page_status = 'no-pages';
30
+ }
31
+
32
+ if( $page_id && !isset( $page_status ) ) {
33
+
34
+ $page_data = self::get_page_data( $page_id );
35
+ extract( $page_data, EXTR_PREFIX_ALL, 'page' );
36
+
37
+ $store_on_front = Ecwid_Seo_Links::is_store_on_home_page();
38
+
39
+ if( self::is_gutenberg_active() ) {
40
+ $design_edit_link = get_edit_post_link( $page_id ) . '&ec-show-store-settings';
41
+ } else {
42
+ $page = Ecwid_Admin_Main_Page::PAGE_HASH_DASHBOARD;
43
+ $time = time() - get_option('ecwid_time_correction', 0);
44
+ $iframe_src = ecwid_get_iframe_src($time, $page);
45
+
46
+ if( !$iframe_src ) {
47
+ $design_edit_link = 'https://' . Ecwid_Config::get_cpanel_domain() . '/#design';
48
+ } else {
49
+ $design_edit_link = get_admin_url( null, 'admin.php?page=' . Ecwid_Admin::ADMIN_SLUG . '-admin-design' );
50
+ }
51
+ }
52
+
53
+ if( class_exists( 'Ecwid_Floating_Minicart' ) ) {
54
+ $minicart_hide = get_option( Ecwid_Floating_Minicart::OPTION_WIDGET_DISPLAY ) == Ecwid_Floating_Minicart::DISPLAY_NONE;
55
+ $customizer_minicart_link = admin_url('customize.php') . '?autofocus[section]=ec-store-minicart&url=' . urlencode($page_link);
56
+ }
57
+
58
+ if ( count ( Ecwid_Store_Page::get_store_pages_array_for_selector() ) > 1 ) {
59
+ $store_pages = Ecwid_Store_Page::get_store_pages_array_for_selector();
60
+ }
61
+
62
+ $categories = ecwid_get_categories_for_selector();
63
+
64
+ $api = new Ecwid_Api_V3();
65
+ $res = $api->get_products( array() );
66
+ if( $res ) {
67
+ $products = $res->items;
68
+ $products_total = $res->total;
69
+ }
70
+
71
+ $need_show_draft_warning = time() - get_option( 'ecwid_installation_date' ) > 3 * DAY_IN_SECONDS;
72
+ }
73
+
74
+ wp_enqueue_script('ecwid-admin-storefront-js', ECWID_PLUGIN_URL . 'js/admin-storefront.js', array(), get_option('ecwid_plugin_version'));
75
+
76
+ echo Ecwid_Admin_UI_Framework::print_fix_js();
77
+ require_once self::$templates_dir . 'main.php';
78
+ }
79
+
80
+ public static function get_page_data( $page_id ) {
81
+ $status = get_post_status( $page_id );
82
+
83
+ if( !$status ) {
84
+ $status = 'no-pages';
85
+ }
86
+
87
+ if( $status == 'trash' ) {
88
+ $status = 'draft';
89
+ }
90
+
91
+ $page = array(
92
+ 'link' => get_permalink( $page_id ),
93
+ 'edit_link' => get_edit_post_link( $page_id ),
94
+ 'slug' => urldecode( get_post_field( 'post_name', $page_id ) ),
95
+ 'status' => $status
96
+ );
97
+
98
+ return $page;
99
+ }
100
+
101
+ public function ajax_set_status() {
102
+ $page_statuses = array(
103
+ 0 => 'draft',
104
+ 1 => 'publish'
105
+ );
106
+
107
+ if( !isset( $_GET['status'] ) ) {
108
+ return false;
109
+ }
110
+
111
+ $status = intval( $_GET['status'] );
112
+ if( !array_key_exists( $status, $page_statuses ) ) {
113
+ return false;
114
+ }
115
+
116
+ $page_id = get_option( Ecwid_Store_Page::OPTION_MAIN_STORE_PAGE_ID );
117
+ $new_status = $page_statuses[ $status ];
118
+
119
+ wp_update_post(array(
120
+ 'ID' => $page_id,
121
+ 'post_status' => $new_status
122
+ ));
123
+
124
+ $page_data = self::get_page_data( $page_id );
125
+ wp_send_json(
126
+ array(
127
+ 'status' => 'success',
128
+ 'storepage' => $page_data
129
+ )
130
+ );
131
+ }
132
+
133
+ public function ajax_set_store_on_front() {
134
+ $status = intval( $_GET['status'] );
135
+
136
+ $store_page_id = get_option( Ecwid_Store_Page::OPTION_MAIN_STORE_PAGE_ID );
137
+
138
+ if( $status ) {
139
+ $this->_set_previous_frontpage_settings();
140
+ $page_id = $store_page_id;
141
+ $type = 'page';
142
+ } else {
143
+ $saved_settings = $this->_get_previous_frontpage_settings();
144
+ $page_id = $saved_settings['page_on_front'];
145
+ $type = $saved_settings['show_on_front'];
146
+ }
147
+
148
+ update_option( 'page_on_front', $page_id );
149
+ update_option( 'show_on_front', $type );
150
+
151
+ $page_data = self::get_page_data( $store_page_id );
152
+ wp_send_json(
153
+ array(
154
+ 'status' => 'success',
155
+ 'storepage' => $page_data
156
+ )
157
+ );
158
+ }
159
+
160
+ public function ajax_set_mainpage() {
161
+ $page_id = intval( $_GET['page'] );
162
+
163
+ if( !Ecwid_Store_Page::is_store_page( $page_id ) ) {
164
+ wp_send_json(array('status' => 'error'));
165
+ }
166
+
167
+ if( get_option( 'show_on_front' ) == 'page' ) {
168
+ $front_page_id = get_option( 'page_on_front' );
169
+ if( Ecwid_Store_Page::is_store_page($front_page_id) ) {
170
+ update_option( 'page_on_front', $page_id );
171
+ }
172
+ }
173
+
174
+ Ecwid_Store_Page::update_main_store_page_id( $page_id );
175
+
176
+ $page_data = self::get_page_data( $page_id );
177
+ wp_send_json(
178
+ array(
179
+ 'status' => 'success',
180
+ 'storepage' => $page_data
181
+ )
182
+ );
183
+ }
184
+
185
+ public function ajax_set_display_cart_icon() {
186
+ $status = intval( $_GET['status'] );
187
+
188
+ if( $status ) {
189
+ update_option( Ecwid_Floating_Minicart::OPTION_WIDGET_DISPLAY, Ecwid_Floating_Minicart::DISPLAY_ALL );
190
+ update_option( Ecwid_Floating_Minicart::OPTION_SHOW_EMPTY_CART, 1 );
191
+ } else {
192
+ update_option( Ecwid_Floating_Minicart::OPTION_WIDGET_DISPLAY, Ecwid_Floating_Minicart::DISPLAY_NONE );
193
+ }
194
+
195
+ wp_send_json(array('status' => 'success'));
196
+ }
197
+
198
+ public function ajax_set_page_slug() {
199
+ $slug = sanitize_title( $_GET['slug'] );
200
+
201
+ $args = array(
202
+ 'name' => $slug,
203
+ 'post_type' => 'page',
204
+ 'post_status' => 'publish',
205
+ 'numberposts' => 1,
206
+ 'exclude' => get_option( Ecwid_Store_Page::OPTION_MAIN_STORE_PAGE_ID )
207
+ );
208
+ $posts = get_posts($args);
209
+
210
+ if( !$posts ) {
211
+ $page_id = get_option( Ecwid_Store_Page::OPTION_MAIN_STORE_PAGE_ID );
212
+ wp_update_post(array(
213
+ 'ID' => $page_id,
214
+ 'post_name' => $slug
215
+ ));
216
+
217
+ $page_data = self::get_page_data( $page_id );
218
+ wp_send_json(
219
+ array(
220
+ 'status' => 'success',
221
+ 'storepage' => $page_data
222
+ )
223
+ );
224
+ } else {
225
+ wp_send_json(
226
+ array(
227
+ 'status' => 'error',
228
+ 'message' => __( 'Page with that name already exists.', 'ecwid-shopping-cart' )
229
+ )
230
+ );
231
+ }
232
+ }
233
+
234
+ public function ajax_create_page() {
235
+ $type = sanitize_title( $_GET['type'] );
236
+
237
+ if( isset($_GET['item_id']) ) {
238
+ $item_id = intval( $_GET['item_id'] );
239
+ } else {
240
+ $item_id = '';
241
+ }
242
+
243
+ $pages = array(
244
+ 'store' => array(
245
+ 'title' => __('Store', 'ecwid-shopping-cart'),
246
+ 'block' => 'ecwid/store-block',
247
+ 'block_add_shortcode' => true,
248
+ 'params' => array(
249
+ 'default_category_id' => ''
250
+ )
251
+ ),
252
+ 'category' => array(
253
+ 'title' => __('Category', 'ecwid-shopping-cart'),
254
+ 'block' => 'ec-store/category-page',
255
+ 'params' => array(
256
+ 'default_category_id' => $item_id
257
+ )
258
+ ),
259
+ 'product' => array(
260
+ 'title' => __('Product', 'ecwid-shopping-cart'),
261
+ 'block' => 'ec-store/product-page',
262
+ 'params' => array(
263
+ 'default_product_id' => $item_id
264
+ )
265
+ ),
266
+ 'cart' => array(
267
+ 'title' => __('Cart', 'ecwid-shopping-cart'),
268
+ 'block' => 'ec-store/cart-page',
269
+ 'params' => array(
270
+ 'default_page' => 'cart'
271
+ )
272
+ ),
273
+ 'search' => array(
274
+ 'title' => __('Search products', 'ecwid-shopping-cart'),
275
+ 'block' => 'ec-store/filters-page',
276
+ 'params' => array(
277
+ 'default_page' => 'search'
278
+ )
279
+ )
280
+ );
281
+
282
+ if( !isset( $pages[$type] ) ) {
283
+ wp_send_json(array('status' => 'error'));
284
+ }
285
+
286
+ $page = $pages[$type];
287
+
288
+ if( $type == 'product' && $item_id > 0 ) {
289
+ $api = new Ecwid_Api_V3();
290
+ $product = $api->get_product( $item_id );
291
+
292
+ if( $product ) {
293
+ $page['title'] = $product->name;
294
+ }
295
+ }
296
+
297
+ if( $type == 'category' && $item_id > 0 ) {
298
+ $api = new Ecwid_Api_V3();
299
+ $product = $api->get_category( $item_id );
300
+
301
+ if( $product ) {
302
+ $page['title'] = $product->name;
303
+ }
304
+ }
305
+
306
+ if( !isset( $page['params'] ) ) {
307
+ $page['params'] = array();
308
+ }
309
+
310
+ $shortcode_params = '';
311
+ foreach( $page['params'] as $key => $value ) {
312
+ $shortcode_params .= sprintf( '%s="%s"', $key, $value );
313
+ }
314
+
315
+ $shortcode = sprintf( '[ec_store widgets="productbrowser" %s]', $shortcode_params );
316
+
317
+ if( self::is_gutenberg_active() ) {
318
+ if( count($page['params']) ) {
319
+ $block_params = json_encode( $page['params'] );
320
+ } else {
321
+ $block_params = '';
322
+ }
323
+
324
+ if( $page['block_add_shortcode'] ) {
325
+ $shortcode = str_replace('ec_store', 'ecwid', $shortcode);
326
+ $content = sprintf( '<!-- wp:%1$s %2$s -->%3$s<!-- /wp:%1$s -->', $page['block'], $block_params, $shortcode );
327
+ } else {
328
+ $content = sprintf( '<!-- wp:%1$s %2$s /-->', $page['block'], $block_params );
329
+ }
330
+ } else {
331
+ $content = $shortcode;
332
+ }
333
+
334
+ $post = array(
335
+ 'post_title' => $page['title'],
336
+ 'post_content' => $content,
337
+ 'post_status' => 'draft',
338
+ 'post_author' => 1,
339
+ 'post_type' => 'page',
340
+ 'comment_status' => 'closed'
341
+ );
342
+
343
+ $page_id = wp_insert_post( $post );
344
+ $url = get_edit_post_link( $page_id, 'context' );
345
+
346
+ if( $type != 'store' ) {
347
+ $page_id = get_option( Ecwid_Store_Page::OPTION_MAIN_STORE_PAGE_ID );
348
+ }
349
+ $page_data = self::get_page_data( $page_id );
350
+
351
+ wp_send_json(
352
+ array(
353
+ 'status' => 'success',
354
+ 'url' => $url,
355
+ 'storepage' => $page_data,
356
+ 'open_page' => ($type != 'store')
357
+ )
358
+ );
359
+ }
360
+
361
+ private function _set_previous_frontpage_settings() {
362
+ $settings = array(
363
+ 'page_on_front' => get_option( 'page_on_front' ),
364
+ 'show_on_front' => get_option( 'show_on_front' )
365
+ );
366
+
367
+ update_option( 'ecwid_frontpage_settings', $settings );
368
+ }
369
+
370
+ private function _get_previous_frontpage_settings() {
371
+ $settings = get_option( 'ecwid_frontpage_settings', false );
372
+
373
+ if( !$settings ) {
374
+ $settings = array(
375
+ 'page_on_front' => 0,
376
+ 'show_on_front' => 'posts'
377
+ );
378
+ }
379
+
380
+ return $settings;
381
+ }
382
+
383
+ public static function is_gutenberg_active() {
384
+ $version = get_bloginfo('version');
385
+
386
+ if ( version_compare( $version, '5.0' ) < 0 ) {
387
+
388
+ if( is_plugin_active('gutenberg/gutenberg.php') ) {
389
+ return true;
390
+ }
391
+
392
+ return false;
393
+ }
394
+
395
+ $plugins_disabling_gutenberg = array(
396
+ 'classic-editor/classic-editor.php',
397
+ 'elementor/elementor.php',
398
+ 'divi-builder/divi-builder.php',
399
+ 'beaver-builder-lite-version/fl-builder.php',
400
+ 'disable-gutenberg/disable-gutenberg.php'
401
+ );
402
+
403
+ foreach ( $plugins_disabling_gutenberg as $plugin ) {
404
+ if ( is_plugin_active( $plugin ) ) {
405
+ return false;
406
+ }
407
+ }
408
+
409
+ return true;
410
+ }
411
+
412
+ public function register_script_for_select_block() {
413
+
414
+ if( !array_key_exists( 'ec-show-store-settings', $_GET ) ) {
415
+ return;
416
+ }
417
+
418
+ $script = "
419
+ var ec_selected_store_block = false;
420
+ wp.data.subscribe(function () {
421
+ if( ec_selected_store_block ) {
422
+ return false;
423
+ }
424
+
425
+ var blocks = wp.data.select( 'core/block-editor' ).getBlocks();
426
+ if( blocks.length > 0 ) {
427
+
428
+ var block = blocks.find(obj => {
429
+ return obj.name === 'ecwid/store-block'
430
+ });
431
+
432
+ if( typeof block != 'undefined' ) {
433
+ ec_selected_store_block = true;
434
+
435
+ var client_id = block.clientId;
436
+ wp.data.dispatch( 'core/block-editor' ).selectBlock( client_id );
437
+ wp.data.dispatch( 'core/edit-post' ).openGeneralSidebar( 'edit-post/block' );
438
+ }
439
+ }
440
+ });
441
+ ";
442
+
443
+ wp_register_script( 'ec-blockeditor-inline-js', '', array(), '', true );
444
+ wp_enqueue_script( 'ec-blockeditor-inline-js' );
445
+ wp_add_inline_script( 'ec-blockeditor-inline-js', $script );
446
+ }
447
+
448
+ public static function render_dropdown_list_items( $items ) {
449
+ if( !is_array($items) ) {
450
+ return false;
451
+ }
452
+
453
+ foreach ($items as $key => $item) {
454
+ $attributes = '';
455
+ $text = '';
456
+
457
+ if( isset($item['is_separator']) && $item['is_separator'] ) {
458
+ echo '<li class="list-dropdown__separator"></li>';
459
+ continue;
460
+ }
461
+
462
+ if( isset($item['attributes']) && is_array($item['attributes']) ) {
463
+ foreach ($item['attributes'] as $attribute => $attribute_value) {
464
+ $attributes .= sprintf(' %s="%s"', $attribute, $attribute_value);
465
+ }
466
+ }
467
+
468
+ if( isset($item['text']) ) {
469
+ $text = $item['text'];
470
+ }
471
+
472
+ echo sprintf('<li><a%s>%s</a></li>', $attributes, $text);
473
+ }
474
+ }
475
+
476
+ public static function get_dropdown_items( $status, $page_data ) {
477
+
478
+ if( empty($page_data) ) {
479
+ return;
480
+ }
481
+
482
+ extract( $page_data, EXTR_PREFIX_ALL, 'page' );
483
+
484
+ $items['publish'] = array(
485
+ array(
486
+ 'text' => __('View store page', 'ecwid-shopping-cart'),
487
+ 'attributes' => array(
488
+ 'href' => $page_link,
489
+ 'target' => '_blank'
490
+ )
491
+ ),
492
+ array(
493
+ 'text' => __('Edit page', 'ecwid-shopping-cart'),
494
+ 'attributes' => array(
495
+ 'href' => $page_edit_link,
496
+ 'target' => '_blank'
497
+ )
498
+ ),
499
+ array(
500
+ 'is_separator' => 1
501
+ ),
502
+ array(
503
+ 'text' => __('Switch to draft', 'ecwid-shopping-cart'),
504
+ 'attributes' => array(
505
+ 'data-storefront-status' => '0'
506
+ )
507
+ )
508
+ );
509
+
510
+ $items['draft'] = array(
511
+ array(
512
+ 'text' => __('Preview', 'ecwid-shopping-cart'),
513
+ 'attributes' => array(
514
+ 'href' => $page_link,
515
+ 'target' => '_blank'
516
+ )
517
+ ),
518
+ array(
519
+ 'text' => __('Edit', 'ecwid-shopping-cart'),
520
+ 'attributes' => array(
521
+ 'href' => $page_edit_link,
522
+ 'target' => '_blank'
523
+ )
524
+ ),
525
+ array(
526
+ 'text' => __('Publish', 'ecwid-shopping-cart'),
527
+ 'attributes' => array(
528
+ 'data-storefront-status' => '1'
529
+ )
530
+ )
531
+ );
532
+
533
+ if( isset($items[$status])) {
534
+ return $items[$status];
535
+ }
536
+
537
+ return false;
538
+ }
539
+
540
+ static public function get_page_url() {
541
+ return admin_url( self::get_relative_page_url() );
542
+ }
543
+
544
+ static public function get_relative_page_url() {
545
+ return 'admin.php?page=' . self::ADMIN_SLUG;
546
+ }
547
+ }
548
+
549
+ $_ecwid_admin_storefront_page = new Ecwid_Admin_Storefront_Page();
includes/class-ecwid-admin-ui-framework.php ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Ecwid_Admin_UI_Framework
4
+ {
5
+ public function __construct()
6
+ {
7
+ if( $this->is_need_include_assets() ) {
8
+ add_action( 'admin_enqueue_scripts', array( $this, 'register_assets' ) );
9
+ }
10
+ }
11
+
12
+ public function register_assets()
13
+ {
14
+ wp_enqueue_style(
15
+ 'ecwid-app-ui',
16
+ 'https://djqizrxa6f10j.cloudfront.net/ecwid-sdk/css/1.3.7/ecwid-app-ui.css',
17
+ array(),
18
+ get_option('ecwid_plugin_version')
19
+ );
20
+
21
+ wp_enqueue_script(
22
+ 'ecwid-app-ui',
23
+ 'https://djqizrxa6f10j.cloudfront.net/ecwid-sdk/css/1.3.7/ecwid-app-ui.min.js',
24
+ array(),
25
+ get_option('ecwid_plugin_version'),
26
+ 'in_footer'
27
+ );
28
+ }
29
+
30
+ static public function print_fix_js()
31
+ {
32
+ $js = '';
33
+ $js .= "jQuery(document.body).addClass('ecwid-no-padding');" . PHP_EOL;
34
+ $js .= "jQuery(document.body).css({ 'font-size': '13px' });" . PHP_EOL;
35
+ $js .= "jQuery('#wpbody').css({ 'background-color': 'rgb(240, 242, 244)' });" . PHP_EOL;
36
+
37
+ return sprintf( "<script type='text/javascript'>//<![CDATA[" . PHP_EOL . " %s //]]></script>", $js );
38
+ }
39
+
40
+ public function is_need_include_assets()
41
+ {
42
+ $ignore_pages = $this->get_pages_exclude_framework();
43
+
44
+ if( isset($_GET['page']) && in_array($_GET['page'], $ignore_pages) ) {
45
+ return false;
46
+ }
47
+
48
+ if ( isset($_GET['page']) && strpos($_GET['page'], 'ec-store') === 0 ) {
49
+ return true;
50
+ }
51
+
52
+ return false;
53
+ }
54
+
55
+ public function get_pages_exclude_framework() {
56
+ $pages = array(
57
+ 'ec-store-advanced',
58
+ 'ec-store-help'
59
+ );
60
+
61
+ if( ecwid_is_demo_store() || isset($_GET['reconnect']) ) {
62
+ $pages[] = 'ec-store';
63
+ }
64
+
65
+ return $pages;
66
+ }
67
+ }
68
+
69
+ new Ecwid_Admin_UI_Framework();
70
+ ?>
includes/class-ecwid-admin.php CHANGED
@@ -94,7 +94,16 @@ class Ecwid_Admin {
94
  $menu = $this->_get_menus();
95
 
96
  foreach ( $menu as $item ) {
97
- if ( isset( $item['slug'] ) ) {
 
 
 
 
 
 
 
 
 
98
  add_submenu_page(
99
  self::ADMIN_SLUG,
100
  $item['title'],
@@ -137,6 +146,17 @@ class Ecwid_Admin {
137
  );
138
  }
139
  }
 
 
 
 
 
 
 
 
 
 
 
140
 
141
  if ( !$is_newbie || ( isset($_GET['page']) && $_GET['page'] == 'ec-store-advanced' ) ) {
142
  add_submenu_page(
@@ -215,6 +235,8 @@ class Ecwid_Admin {
215
 
216
  $menu = $this->_get_menus();
217
 
 
 
218
  foreach ($menu as $item) {
219
  if ( isset($item['slug']) && $item['slug'] == $slug ) {
220
  $hash = $item['hash'];
@@ -230,8 +252,6 @@ class Ecwid_Admin {
230
  }
231
  }
232
 
233
-
234
-
235
  // Yeah, in some case there might be a collision between the wp slug and ecwid hash if some hashes collide into the same slug
236
  ecwid_admin_do_page( $hash );
237
  }
@@ -251,6 +271,25 @@ class Ecwid_Admin {
251
  echo json_encode( $this->_get_menus() );
252
  die();
253
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
 
255
  protected function _get_menus()
256
  {
@@ -263,17 +302,26 @@ class Ecwid_Admin {
263
  $slugs = array();
264
 
265
  $result = array();
266
-
267
  foreach ( $menu as $item ) {
268
 
269
  $menu_item = array();
270
 
271
- if ( isset( $item['path'] ) && $item['path'] == 'dashboard' ) {
 
 
 
 
 
 
 
 
 
 
272
  unset( $menu[$item['path']] );
273
- continue;
274
  }
275
 
276
-
277
  $menu_item['title'] = stripslashes($item['title']);
278
 
279
  if ( @$item['type'] != 'separator' ) {
@@ -288,6 +336,10 @@ class Ecwid_Admin {
288
 
289
  if ( isset( $item['items'] ) ) foreach ( $item['items'] as $item2 ) {
290
 
 
 
 
 
291
  $slug2 = $this->_slugify_ecwid_cp_hash( $item2['path'], $slugs );
292
  $slugs[] = $slug2;
293
  $item2['url'] = 'admin.php?page=' . $slug2;
@@ -333,26 +385,6 @@ class Ecwid_Admin {
333
 
334
  return $slug;
335
  }
336
-
337
- protected function _get_default_menu() {
338
- static $default_menu = array();
339
-
340
- if ( !empty( $default_menu ) ) return $default_menu;
341
-
342
- $default_menu = array(
343
- array(
344
- 'title' => __( 'Sales', 'ecwid-shopping-cart' ),
345
- 'path' => 'orders',
346
- ),
347
- array(
348
- 'title' => __( 'Products', 'ecwid-shopping-cart' ),
349
- 'path' => 'products'
350
- )
351
- );
352
-
353
- return $default_menu;
354
- }
355
-
356
 
357
  public function do_ec_redirect() {
358
 
@@ -404,6 +436,105 @@ class Ecwid_Admin {
404
 
405
  return false;
406
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
407
  }
408
 
409
  $ecwid_admin = new Ecwid_Admin();
94
  $menu = $this->_get_menus();
95
 
96
  foreach ( $menu as $item ) {
97
+ if ( isset( $item['function'] ) ) {
98
+ add_submenu_page(
99
+ self::ADMIN_SLUG,
100
+ $item['title'],
101
+ $item['title'],
102
+ self::get_capability(),
103
+ $item['slug'],
104
+ $item['function']
105
+ );
106
+ } else if ( isset( $item['slug'] ) ) {
107
  add_submenu_page(
108
  self::ADMIN_SLUG,
109
  $item['title'],
146
  );
147
  }
148
  }
149
+
150
+ if ( !$is_newbie && !Ecwid_Api_V3::is_available() || ecwid_is_demo_store() || isset($_GET['reconnect']) ) {
151
+ add_submenu_page(
152
+ self::ADMIN_SLUG,
153
+ __('Storefront', 'ecwid-shopping-cart'),
154
+ __('Storefront', 'ecwid-shopping-cart'),
155
+ self::get_capability(),
156
+ Ecwid_Admin_Storefront_Page::ADMIN_SLUG,
157
+ 'Ecwid_Admin_Storefront_Page::do_page'
158
+ );
159
+ }
160
 
161
  if ( !$is_newbie || ( isset($_GET['page']) && $_GET['page'] == 'ec-store-advanced' ) ) {
162
  add_submenu_page(
235
 
236
  $menu = $this->_get_menus();
237
 
238
+ $hash = '';
239
+
240
  foreach ($menu as $item) {
241
  if ( isset($item['slug']) && $item['slug'] == $slug ) {
242
  $hash = $item['hash'];
252
  }
253
  }
254
 
 
 
255
  // Yeah, in some case there might be a collision between the wp slug and ecwid hash if some hashes collide into the same slug
256
  ecwid_admin_do_page( $hash );
257
  }
271
  echo json_encode( $this->_get_menus() );
272
  die();
273
  }
274
+
275
+ public function maybe_hide_menu_item( $item )
276
+ {
277
+ if( !isset( $item['path'] ) ) {
278
+ return false;
279
+ }
280
+
281
+ $hidden_items_path = array(
282
+ 'dashboard',
283
+ 'starter-site',
284
+ 'website'
285
+ );
286
+
287
+ if( class_exists('Ecwid_Admin_Storefront_Page') && Ecwid_Admin_Storefront_Page::is_gutenberg_active() ) {
288
+ $hidden_items_path[] = 'design';
289
+ }
290
+
291
+ return in_array( $item['path'], $hidden_items_path );
292
+ }
293
 
294
  protected function _get_menus()
295
  {
302
  $slugs = array();
303
 
304
  $result = array();
305
+
306
  foreach ( $menu as $item ) {
307
 
308
  $menu_item = array();
309
 
310
+ if( $item['type'] == 'menuItem' && $item['path'] == 'design' ) {
311
+ $menu_storefront = array(
312
+ 'title' => __('Storefront', 'ecwid-shopping-cart'),
313
+ 'slug' => Ecwid_Admin_Storefront_Page::ADMIN_SLUG,
314
+ 'url' => 'admin.php?page=' . Ecwid_Admin_Storefront_Page::ADMIN_SLUG
315
+ );
316
+
317
+ $result[] = $menu_storefront;
318
+ }
319
+
320
+ if( $this->maybe_hide_menu_item( $item ) ) {
321
  unset( $menu[$item['path']] );
322
+ continue;
323
  }
324
 
 
325
  $menu_item['title'] = stripslashes($item['title']);
326
 
327
  if ( @$item['type'] != 'separator' ) {
336
 
337
  if ( isset( $item['items'] ) ) foreach ( $item['items'] as $item2 ) {
338
 
339
+ if( $item2['title'] == 'Website' ) {
340
+ $item2['title'] = __( 'Instant site', 'ecwid-shopping-cart' );
341
+ }
342
+
343
  $slug2 = $this->_slugify_ecwid_cp_hash( $item2['path'], $slugs );
344
  $slugs[] = $slug2;
345
  $item2['url'] = 'admin.php?page=' . $slug2;
385
 
386
  return $slug;
387
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
 
389
  public function do_ec_redirect() {
390
 
436
 
437
  return false;
438
  }
439
+
440
+ protected function _get_default_menu() {
441
+ static $default_menu = array();
442
+
443
+ if ( !empty( $default_menu ) ) return $default_menu;
444
+
445
+ $default_menu = array (
446
+ array (
447
+ 'title' => __( 'Store management', 'ecwid-shopping-cart' ),
448
+ 'type' => 'separator'
449
+ ),
450
+ array(
451
+ 'title' => __( 'Dashboard', 'ecwid-shopping-cart' ),
452
+ 'type' => 'menuItem',
453
+ 'path' => 'dashboard'
454
+ ),
455
+ array
456
+ (
457
+ 'title' => __( 'My Sales', 'ecwid-shopping-cart' ),
458
+ 'type' => 'menuItem',
459
+ 'path' => 'orders'
460
+ ),
461
+ array(
462
+ 'title' => __( 'Catalog', 'ecwid-shopping-cart' ),
463
+ 'type' => 'menuItem',
464
+ 'path' => 'products'
465
+ ),
466
+ array(
467
+ 'title' => __( 'Marketing', 'ecwid-shopping-cart' ),
468
+ 'type' => 'menuItem',
469
+ 'path' => 'marketing'
470
+ ),
471
+ array(
472
+ 'title' => __( 'Reports', 'ecwid-shopping-cart' ),
473
+ 'type' => 'menuItem',
474
+ 'path' => 'reports'
475
+ ),
476
+ array(
477
+ 'title' => __( 'Sales channels', 'ecwid-shopping-cart' ),
478
+ 'type' => 'separator'
479
+ ),
480
+ array(
481
+ 'title' => __( 'Sell on Facebook', 'ecwid-shopping-cart' ),
482
+ 'type' => 'menuItem',
483
+ 'path' => 'fb-shops'
484
+ ),
485
+ array(
486
+ 'title' => __( 'Mobile', 'ecwid-shopping-cart' ),
487
+ 'type' => 'menuItem',
488
+ 'path' => 'mobile'
489
+ ),
490
+ array(
491
+ 'title' => __( 'Website', 'ecwid-shopping-cart' ),
492
+ 'type' => 'menuItem',
493
+ 'path' => 'website'
494
+ ),
495
+ array(
496
+ 'title' => __( 'All Sales Channels', 'ecwid-shopping-cart' ),
497
+ 'type' => 'menuItem',
498
+ 'path' => 'sales-channel'
499
+ ),
500
+ array(
501
+ 'title' => __( 'Configuration', 'ecwid-shopping-cart' ),
502
+ 'type' => 'separator'
503
+ ),
504
+ array(
505
+ 'title' => __( 'Design', 'ecwid-shopping-cart' ),
506
+ 'type' => 'menuItem',
507
+ 'path' => 'design'
508
+ ),
509
+ array(
510
+ 'title' => __( 'Payment', 'ecwid-shopping-cart' ),
511
+ 'type' => 'menuItem',
512
+ 'path' => 'payments'
513
+ ),
514
+ array(
515
+ 'title' => __( 'Shipping & Pickup', 'ecwid-shopping-cart' ),
516
+ 'type' => 'menuItem',
517
+ 'path' => 'shippings'
518
+ ),
519
+ array(
520
+ 'title' => __( 'Settings', 'ecwid-shopping-cart' ),
521
+ 'type' => 'menuItem',
522
+ 'path' => 'store-profile'
523
+ ),
524
+ array(
525
+ 'title' => __( 'Apps', 'ecwid-shopping-cart' ),
526
+ 'type' => 'menuItem',
527
+ 'path' => 'appmarket'
528
+ ),
529
+ array(
530
+ 'title' => __( 'My Profile', 'ecwid-shopping-cart' ),
531
+ 'type' => 'menuItem',
532
+ 'path' => 'billing'
533
+ ),
534
+ );
535
+
536
+ return $default_menu;
537
+ }
538
  }
539
 
540
  $ecwid_admin = new Ecwid_Admin();
includes/class-ecwid-ajax-defer-renderer.php CHANGED
@@ -93,6 +93,9 @@ ecwid_shortcodes = [];
93
  HTML;
94
 
95
  $app_ecwid_com = Ecwid_Config::get_scriptjs_domain();
 
 
 
96
 
97
  $after = <<<HTML
98
  <script>
@@ -108,8 +111,9 @@ HTML;
108
  var script = document.createElement('script');
109
  script.charset = 'utf-8';
110
  script.type = 'text/javascript';
111
- script.src = 'https://$app_ecwid_com/script.js?$ecwid_store_id';
112
- script.id = 'ecwid-script'
 
113
 
114
  document.body.appendChild(script);
115
  var el = document.getElementById('ecwid-html-catalog-$ecwid_store_id');
93
  HTML;
94
 
95
  $app_ecwid_com = Ecwid_Config::get_scriptjs_domain();
96
+
97
+ $lang = ecwid_get_current_user_locale();
98
+ $lang = apply_filters( 'ecwid_lang', $lang );
99
 
100
  $after = <<<HTML
101
  <script>
111
  var script = document.createElement('script');
112
  script.charset = 'utf-8';
113
  script.type = 'text/javascript';
114
+ script.src = 'https://$app_ecwid_com/script.js?$ecwid_store_id&lang=$lang';
115
+ script.id = 'ecwid-script';
116
+ script.setAttribute('data-cfasync', 'false');
117
 
118
  document.body.appendChild(script);
119
  var el = document.getElementById('ecwid-html-catalog-$ecwid_store_id');
includes/class-ecwid-message-manager.php CHANGED
@@ -360,7 +360,10 @@ HTML
360
 
361
  switch ($name) {
362
  case 'on_activate':
363
- return !$this->should_display_on_no_storeid_on_setup_pages() && $admin_page != 'toplevel_page_ec-store' && ecwid_is_demo_store();
 
 
 
364
 
365
  case 'on_storeid_set':
366
  return !ecwid_is_demo_store() && @$_GET['settings-updated'] == 'true' && $admin_page == 'toplevel_page_ec-store';
360
 
361
  switch ($name) {
362
  case 'on_activate':
363
+ return !$this->should_display_on_no_storeid_on_setup_pages()
364
+ && $admin_page != 'toplevel_page_ec-store'
365
+ && ecwid_is_demo_store()
366
+ && $admin_page != 'ecwid_page_' . Ecwid_Admin_Storefront_Page::ADMIN_SLUG;
367
 
368
  case 'on_storeid_set':
369
  return !ecwid_is_demo_store() && @$_GET['settings-updated'] == 'true' && $admin_page == 'toplevel_page_ec-store';
includes/class-ecwid-oauth.php CHANGED
@@ -22,7 +22,6 @@ class Ecwid_OAuth {
22
  add_action('admin_post_ec_oauth', array($this, 'process_authorization'));
23
  add_action('admin_post_ec_oauth_reconnect', array($this, 'process_authorization'));
24
  add_action('admin_post_ec_disconnect', array($this, 'disconnect_store'));
25
- add_action('admin_post_ec_show_reconnect', array($this, 'show_reconnect'));
26
 
27
  if ( get_option( self::OPTION_JUST_CONNECTED ) ) {
28
  add_action( 'shutdown', array( $this, 'reset_just_connected' ) );
22
  add_action('admin_post_ec_oauth', array($this, 'process_authorization'));
23
  add_action('admin_post_ec_oauth_reconnect', array($this, 'process_authorization'));
24
  add_action('admin_post_ec_disconnect', array($this, 'disconnect_store'));
 
25
 
26
  if ( get_option( self::OPTION_JUST_CONNECTED ) ) {
27
  add_action( 'shutdown', array( $this, 'reset_just_connected' ) );
includes/class-ecwid-popup-deactivate.php CHANGED
@@ -73,8 +73,7 @@ class Ecwid_Popup_Deactivate extends Ecwid_Popup {
73
  );
74
 
75
  if ($result) {
76
- header('200 OK');
77
-
78
  die();
79
  } else {
80
  header('500 Send mail failed');
73
  );
74
 
75
  if ($result) {
76
+ header('HTTP/1.1 200 OK');
 
77
  die();
78
  } else {
79
  header('500 Send mail failed');
includes/class-ecwid-seo-links.php CHANGED
@@ -88,7 +88,7 @@ class Ecwid_Seo_Links {
88
 
89
  public function redirect_canonical( $redir, $req ) {
90
 
91
- if ($this->is_store_on_home_page() && get_queried_object_id() == get_option('page_on_front')) {
92
  return false;
93
  }
94
 
@@ -126,7 +126,7 @@ class Ecwid_Seo_Links {
126
 
127
  public function is_post_slug_bad( $value, $slug, $type = '', $parent = '' ) {
128
 
129
- if ( !$this->is_store_on_home_page() ) {
130
  return $value;
131
  }
132
 
@@ -148,7 +148,7 @@ class Ecwid_Seo_Links {
148
  return preg_match($pattern, $slug);
149
  }
150
 
151
- protected static function get_seo_links_patterns() {
152
  return array(
153
  '.*-p([0-9]+)(\/.*|\?.*)?',
154
  '.*-c([0-9]+)(\/.*|\?.*)?',
@@ -179,7 +179,7 @@ class Ecwid_Seo_Links {
179
  );
180
  }
181
 
182
- public function is_store_on_home_page() {
183
  $front_page = get_option( 'page_on_front' );
184
 
185
  if ( !$front_page ) {
@@ -330,24 +330,27 @@ JS;
330
  foreach ( $links as $link ) {
331
  $link = trim( $link, '/' );
332
 
 
 
 
333
  if (strpos($link, 'index.php') !== 0) {
334
  $link = '^' . preg_quote( $link );
335
  }
336
 
337
  foreach ( $patterns as $pattern ) {
338
- add_rewrite_rule( $link . '/' . $pattern . '.*', 'index.php?' . $param_name . '=' . $page_id, 'top' );
339
  }
340
  }
341
  }
342
 
343
- if ( $this->is_store_on_home_page() ) {
344
  $patterns = self::get_seo_links_patterns();
345
  foreach ( $patterns as $pattern ) {
346
  add_rewrite_rule( '^' . $pattern . '$', 'index.php?page_id=' . get_option( 'page_on_front' ), 'top' );
347
  }
348
  }
349
 
350
- update_option( self::OPTION_ALL_BASE_URLS, array_merge( $all_base_urls, array( 'home' => $this->is_store_on_home_page() ) ) );
351
  }
352
 
353
  public function are_base_urls_ok() {
@@ -402,7 +405,7 @@ JS;
402
 
403
  $are_the_same = array_diff( $flattened, $flattened_saved );
404
 
405
- return empty( $are_the_same ) && $saved_home == $this->is_store_on_home_page();
406
  }
407
 
408
  protected function _build_all_base_urls()
@@ -498,10 +501,6 @@ JS;
498
  return $permalink != '';
499
  }
500
 
501
- public static function should_display_option() {
502
- return ecwid_migrations_is_original_plugin_version_older_than( '5.2' ) || !self::is_enabled();
503
- }
504
-
505
  }
506
 
507
  $ecwid_seo_links = new Ecwid_Seo_Links();
88
 
89
  public function redirect_canonical( $redir, $req ) {
90
 
91
+ if (self::is_store_on_home_page() && get_queried_object_id() == get_option('page_on_front')) {
92
  return false;
93
  }
94
 
126
 
127
  public function is_post_slug_bad( $value, $slug, $type = '', $parent = '' ) {
128
 
129
+ if ( !self::is_store_on_home_page() ) {
130
  return $value;
131
  }
132
 
148
  return preg_match($pattern, $slug);
149
  }
150
 
151
+ public static function get_seo_links_patterns() {
152
  return array(
153
  '.*-p([0-9]+)(\/.*|\?.*)?',
154
  '.*-c([0-9]+)(\/.*|\?.*)?',
179
  );
180
  }
181
 
182
+ public static function is_store_on_home_page() {
183
  $front_page = get_option( 'page_on_front' );
184
 
185
  if ( !$front_page ) {
330
  foreach ( $links as $link ) {
331
  $link = trim( $link, '/' );
332
 
333
+ $link = apply_filters( 'ecwid_rewrite_rules_relative_link', $link, $page_id );
334
+ $link_page_id = apply_filters( 'ecwid_rewrite_rules_page_id', $page_id, $link );
335
+
336
  if (strpos($link, 'index.php') !== 0) {
337
  $link = '^' . preg_quote( $link );
338
  }
339
 
340
  foreach ( $patterns as $pattern ) {
341
+ add_rewrite_rule( $link . '/' . $pattern . '.*', 'index.php?' . $param_name . '=' . $link_page_id, 'top' );
342
  }
343
  }
344
  }
345
 
346
+ if ( self::is_store_on_home_page() ) {
347
  $patterns = self::get_seo_links_patterns();
348
  foreach ( $patterns as $pattern ) {
349
  add_rewrite_rule( '^' . $pattern . '$', 'index.php?page_id=' . get_option( 'page_on_front' ), 'top' );
350
  }
351
  }
352
 
353
+ update_option( self::OPTION_ALL_BASE_URLS, array_merge( $all_base_urls, array( 'home' => self::is_store_on_home_page() ) ) );
354
  }
355
 
356
  public function are_base_urls_ok() {
405
 
406
  $are_the_same = array_diff( $flattened, $flattened_saved );
407
 
408
+ return empty( $are_the_same ) && $saved_home == self::is_store_on_home_page();
409
  }
410
 
411
  protected function _build_all_base_urls()
501
  return $permalink != '';
502
  }
503
 
 
 
 
 
504
  }
505
 
506
  $ecwid_seo_links = new Ecwid_Seo_Links();
includes/class-ecwid-static-page.php CHANGED
@@ -101,7 +101,7 @@ class Ecwid_Static_Page {
101
 
102
  $params = array();
103
 
104
- if ( Ecwid_Seo_Links::is_enabled() ) {
105
  $params['clean_links'] = 'true';
106
  $params['base_url'] = get_permalink();
107
  }
@@ -270,6 +270,11 @@ class Ecwid_Static_Page {
270
  }
271
 
272
  public static function is_enabled_static_home_page() {
 
 
 
 
 
273
  $html_catalog_params = Ecwid_Seo_Links::maybe_extract_html_catalog_params();
274
  $is_home_page = empty( $html_catalog_params );
275
  if( !$is_home_page ) {
@@ -297,6 +302,10 @@ class Ecwid_Static_Page {
297
  return true;
298
  }
299
 
 
 
 
 
300
  if ( !self::is_feature_available() ) {
301
  return false;
302
  }
@@ -313,6 +322,10 @@ class Ecwid_Static_Page {
313
  }
314
 
315
  public static function is_feature_available() {
 
 
 
 
316
  $api = new Ecwid_Api_V3();
317
 
318
  return $api->is_store_feature_enabled( Ecwid_Api_V3::FEATURE_NEW_PRODUCT_LIST );
101
 
102
  $params = array();
103
 
104
+ if ( Ecwid_Seo_Links::is_enabled() || ecwid_is_demo_store() ) {
105
  $params['clean_links'] = 'true';
106
  $params['base_url'] = get_permalink();
107
  }
270
  }
271
 
272
  public static function is_enabled_static_home_page() {
273
+
274
+ if( is_preview() ) {
275
+ return false;
276
+ }
277
+
278
  $html_catalog_params = Ecwid_Seo_Links::maybe_extract_html_catalog_params();
279
  $is_home_page = empty( $html_catalog_params );
280
  if( !$is_home_page ) {
302
  return true;
303
  }
304
 
305
+ if( ecwid_is_demo_store() ) {
306
+ return true;
307
+ }
308
+
309
  if ( !self::is_feature_available() ) {
310
  return false;
311
  }
322
  }
323
 
324
  public static function is_feature_available() {
325
+ if( ecwid_is_demo_store() ) {
326
+ return true;
327
+ }
328
+
329
  $api = new Ecwid_Api_V3();
330
 
331
  return $api->is_store_feature_enabled( Ecwid_Api_V3::FEATURE_NEW_PRODUCT_LIST );
includes/class-ecwid-store-page.php CHANGED
@@ -218,7 +218,7 @@ class Ecwid_Store_Page {
218
  $pages[] = $page_id;
219
 
220
  if ( count( $pages ) == 1 || !get_option( self::OPTION_MAIN_STORE_PAGE_ID ) ) {
221
- update_option( self::OPTION_MAIN_STORE_PAGE_ID, $page_id );
222
  }
223
 
224
  self::_set_store_pages( $pages );
@@ -339,7 +339,7 @@ class Ecwid_Store_Page {
339
  $post_content = get_post( $post_id )->post_content;
340
 
341
  $result = ecwid_content_has_productbrowser( $post_content );
342
- $result = apply_filters( 'ecwid_page_has_product_browser', $result );
343
  }
344
 
345
  return $result;
@@ -382,7 +382,7 @@ class Ecwid_Store_Page {
382
 
383
  protected static function _get_allowed_post_statuses()
384
  {
385
- return array('publish', 'private');
386
  }
387
 
388
  public static function warmup_store()
@@ -442,10 +442,14 @@ class Ecwid_Store_Page {
442
  ) );
443
  }
444
 
445
- static public function the_title( $title )
446
  {
447
- if ( ! self::is_store_page() || !get_option( self::OPTION_REPLACE_TITLE, false ) ) return $title;
448
 
 
 
 
 
449
  self::$main_page_title = $title;
450
 
451
  return $title;
@@ -478,10 +482,6 @@ class Ecwid_Store_Page {
478
  return;
479
  }
480
 
481
- if ( in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1')) ) {
482
- return;
483
- }
484
-
485
  if ( $profile->generalInfo->storeUrl == $store_url ) {
486
  return;
487
  }
@@ -490,13 +490,20 @@ class Ecwid_Store_Page {
490
  $is_generated_url = $profile->generalInfo->storeUrl == $profile->generalInfo->starterSite->generatedUrl;
491
  $is_same_domain = wp_parse_url( $profile->generalInfo->storeUrl, PHP_URL_HOST ) == wp_parse_url( $store_url, PHP_URL_HOST );
492
 
 
 
 
 
 
 
493
  if ( !$is_empty && !$is_generated_url && !$is_same_domain ) {
494
  return;
495
  }
496
 
497
  $params = array(
498
  'generalInfo' => array(
499
- 'storeUrl' => $store_url
 
500
  )
501
  );
502
 
@@ -506,6 +513,67 @@ class Ecwid_Store_Page {
506
  EcwidPlatform::cache_reset( Ecwid_Api_V3::PROFILE_CACHE_NAME );
507
  }
508
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
509
  }
510
 
511
  add_action( 'init', array( 'Ecwid_Store_Page', 'flush_rewrites' ) );
@@ -515,4 +583,5 @@ add_action( 'update_option_page_on_front', array( 'Ecwid_Store_Page', 'schedule_
515
  add_action( 'display_post_states', array( 'Ecwid_Store_Page', 'display_post_states'), 10, 2 );
516
 
517
  add_action( 'wp_enqueue_scripts', array( 'Ecwid_Store_Page', 'enqueue_original_page_title' ) );
518
- add_filter( 'the_title', array( 'Ecwid_Store_Page', 'the_title' ) );
 
218
  $pages[] = $page_id;
219
 
220
  if ( count( $pages ) == 1 || !get_option( self::OPTION_MAIN_STORE_PAGE_ID ) ) {
221
+ self::update_main_store_page_id( $page_id );
222
  }
223
 
224
  self::_set_store_pages( $pages );
339
  $post_content = get_post( $post_id )->post_content;
340
 
341
  $result = ecwid_content_has_productbrowser( $post_content );
342
+ $result = apply_filters( 'ecwid_page_has_product_browser', $result, $post_content );
343
  }
344
 
345
  return $result;
382
 
383
  protected static function _get_allowed_post_statuses()
384
  {
385
+ return array('publish', 'private', 'draft');
386
  }
387
 
388
  public static function warmup_store()
442
  ) );
443
  }
444
 
445
+ static public function the_title( $title, $post_id = 0 )
446
  {
447
+ if ( ! self::is_store_page( $post_id ) || !get_option( self::OPTION_REPLACE_TITLE, false ) ) return $title;
448
 
449
+ if( ecwid_is_demo_store() ) {
450
+ $title .= ' &mdash; Demo';
451
+ }
452
+
453
  self::$main_page_title = $title;
454
 
455
  return $title;
482
  return;
483
  }
484
 
 
 
 
 
485
  if ( $profile->generalInfo->storeUrl == $store_url ) {
486
  return;
487
  }
490
  $is_generated_url = $profile->generalInfo->storeUrl == $profile->generalInfo->starterSite->generatedUrl;
491
  $is_same_domain = wp_parse_url( $profile->generalInfo->storeUrl, PHP_URL_HOST ) == wp_parse_url( $store_url, PHP_URL_HOST );
492
 
493
+
494
+ $is_dev_to_prod = self::is_localhost( $profile->generalInfo->storeUrl ) && !self::is_localhost( $store_url );
495
+ if( $is_dev_to_prod ) {
496
+ $is_same_domain = true;
497
+ }
498
+
499
  if ( !$is_empty && !$is_generated_url && !$is_same_domain ) {
500
  return;
501
  }
502
 
503
  $params = array(
504
  'generalInfo' => array(
505
+ 'storeUrl' => $store_url,
506
+ 'websitePlatform' => 'wordpress'
507
  )
508
  );
509
 
513
  EcwidPlatform::cache_reset( Ecwid_Api_V3::PROFILE_CACHE_NAME );
514
  }
515
  }
516
+
517
+ static public function is_localhost( $url ) {
518
+
519
+ $hostname = wp_parse_url($url, PHP_URL_HOST);
520
+ $ip = gethostbyname( $hostname );
521
+
522
+ if( $ip ) {
523
+ return in_array( $ip, array('127.0.0.1', '::1') );
524
+ }
525
+
526
+ return false;
527
+ }
528
+
529
+ static public function show_notice_for_demo( $content ) {
530
+
531
+ if( ecwid_is_demo_store() && current_user_can('manage_options') && self::is_store_page() ) {
532
+
533
+ $demo_notice = <<<HTML
534
+ <script data-cfasync="false" type="text/javascript">
535
+ jQuery(document).ready(function(){
536
+ if( typeof Ecwid == 'object' && typeof Ecwid.OnPageLoaded == 'object' ) {
537
+ Ecwid.OnPageLoaded.add(function(page){
538
+ jQuery('.ec-store__content-wrapper').eq(0).append( '<div class="ec-notice ec-demo-notice"><div class="ec-notice__wrap"><div class="ec-notice__message"><div class="ec-notice__text"><div class="ec-notice__text-inner"><div>%s <a href="%s" class="ec-link">%s</a></div> </div></div></div></div></div>' );
539
+ });
540
+ }
541
+ });
542
+ </script>
543
+ HTML;
544
+ $demo_notice = sprintf(
545
+ $demo_notice,
546
+ __( 'This is a demo store. Create your store to see your store products here.', 'ecwid-shopping-cart' ),
547
+ admin_url( 'admin.php?page=ec-store' ),
548
+ __( 'Set up your store', 'ecwid-shopping-cart' )
549
+ );
550
+
551
+ $content .= $demo_notice;
552
+ }
553
+
554
+ return $content;
555
+ }
556
+
557
+ static public function delete_page_from_nav_menus() {
558
+ $page_id = get_option( self::OPTION_LAST_STORE_PAGE_ID );
559
+
560
+ if( empty( $page_id ) || intval($page_id) <= 0 ) {
561
+ return false;
562
+ }
563
+
564
+ $args = array(
565
+ 'post_type' => 'nav_menu_item'
566
+ );
567
+ $menu_items = get_posts( $args );
568
+
569
+ if( count($menu_items) ) {
570
+ foreach ($menu_items as $item) {
571
+ if( $page_id == get_post_meta( $item->ID, '_menu_item_object_id', true ) ) {
572
+ wp_delete_post( $item->ID, true );
573
+ }
574
+ }
575
+ }
576
+ }
577
  }
578
 
579
  add_action( 'init', array( 'Ecwid_Store_Page', 'flush_rewrites' ) );
583
  add_action( 'display_post_states', array( 'Ecwid_Store_Page', 'display_post_states'), 10, 2 );
584
 
585
  add_action( 'wp_enqueue_scripts', array( 'Ecwid_Store_Page', 'enqueue_original_page_title' ) );
586
+ add_filter( 'the_title', array( 'Ecwid_Store_Page', 'the_title' ), 10, 2 );
587
+ add_filter( 'the_content', array( 'Ecwid_Store_Page', 'show_notice_for_demo' ) );
includes/class-ecwid-wp-dashboard-feed.php CHANGED
@@ -16,6 +16,11 @@ class Ecwid_WP_Dashboard_Feed {
16
  }
17
 
18
  public function dashboard_setup() {
 
 
 
 
 
19
  $url = 'https://www.ecwid.com/wp-json/wp/v2/posts?per_page=3&categories=1';
20
  $media_url = 'https://www.ecwid.com/wp-json/wp/v2/media/';
21
  $images_cdn = 'https://web-cdn.ecwid.com/wp-content/uploads/';
16
  }
17
 
18
  public function dashboard_setup() {
19
+
20
+ if( !current_user_can( 'administrator' ) && !current_user_can( 'editor' )) {
21
+ return;
22
+ }
23
+
24
  $url = 'https://www.ecwid.com/wp-json/wp/v2/posts?per_page=3&categories=1';
25
  $media_url = 'https://www.ecwid.com/wp-json/wp/v2/media/';
26
  $images_cdn = 'https://web-cdn.ecwid.com/wp-content/uploads/';
includes/faq_entries.php CHANGED
@@ -31,7 +31,7 @@ $faqs = array(
31
  'You can add product search box, cart widget and more on the <a href="%s">"Appearance / Widgets page"</a> here in your site admin. <a target="_blank" href="https://support.ecwid.com/hc/en-us/articles/207101259-Wordpress-downloadable-#sidebarwidgets">More details.</a>'
32
  , 'ecwid-shopping-cart'
33
  ),
34
- admin_url("widgets.php?from-ecwid=true")
35
  )
36
  ),
37
  array(
31
  'You can add product search box, cart widget and more on the <a href="%s">"Appearance / Widgets page"</a> here in your site admin. <a target="_blank" href="https://support.ecwid.com/hc/en-us/articles/207101259-Wordpress-downloadable-#sidebarwidgets">More details.</a>'
32
  , 'ecwid-shopping-cart'
33
  ),
34
+ admin_url("widgets.php?highlight-ec-widgets=true")
35
  )
36
  ),
37
  array(
includes/gutenberg/class-ecwid-gutenberg-block-store.php CHANGED
@@ -43,6 +43,7 @@ class Ecwid_Gutenberg_Block_Store extends Ecwid_Gutenberg_Block_Base {
43
 
44
  public function render_callback( $params ) {
45
 
 
46
  $is_wp_customize = isset( $_REQUEST['wp_customize'] ) && $_REQUEST['wp_customize'] == 'on';
47
 
48
  if ( $_SERVER['REQUEST_METHOD'] != 'GET' && !$is_wp_customize ) {
@@ -65,11 +66,7 @@ class Ecwid_Gutenberg_Block_Store extends Ecwid_Gutenberg_Block_Base {
65
 
66
  $result .= ']';
67
 
68
- $result .= <<<HTML
69
- <script data-cfasync="false" type="text/javascript">
70
- window.ec = window.ec || Object();
71
- window.ec.storefront = window.ec.storefront || Object();
72
- HTML;
73
 
74
  $attributes = $this->get_attributes_for_editor();
75
 
@@ -117,7 +114,7 @@ HTML;
117
  }
118
 
119
 
120
- if ( isset($attribute['is_storefront_api']) && $attribute['is_storefront_api'] ) {
121
 
122
  if ( is_null( $value ) ) {
123
  $value = $attribute['default'];
@@ -130,9 +127,9 @@ HTML;
130
 
131
  if ( !$is_profile_default ) {
132
  if ( @$attribute['type'] == 'boolean') {
133
- $result .= 'window.ec.storefront.' . $name . "=" . ( $value ? 'true' : 'false' ) . ";" . PHP_EOL;
134
  } else {
135
- $result .= 'window.ec.storefront.' . $name . "='" . $value . "';" . PHP_EOL;
136
  }
137
  $store_page_data[$name] = $value;
138
  }
@@ -169,24 +166,28 @@ HTML;
169
 
170
  Ecwid_Store_Page::save_store_page_params( $store_page_data );
171
 
172
- if ( $chameleon['colors'] != 'auto' ) {
173
- $result .= <<<JS
174
- window.ec.config.chameleon = window.ec.config.chameleon || Object();
175
- window.ec.config.chameleon.colors = $chameleon[colors];
176
- JS;
177
  }
178
- $result .= <<<HTML
179
- if ( typeof Ecwid != 'undefined' ) {
180
- Ecwid.OnAPILoaded.add(function() {
181
- Ecwid.refreshConfig();
182
- });
 
 
 
 
 
 
 
183
  }
184
- </script>
185
- HTML;
186
 
187
  return $result;
188
  }
189
-
190
  public function get_attributes_for_editor() {
191
  $api = new Ecwid_Api_V3();
192
 
43
 
44
  public function render_callback( $params ) {
45
 
46
+ $print_js_refresh_config = false;
47
  $is_wp_customize = isset( $_REQUEST['wp_customize'] ) && $_REQUEST['wp_customize'] == 'on';
48
 
49
  if ( $_SERVER['REQUEST_METHOD'] != 'GET' && !$is_wp_customize ) {
66
 
67
  $result .= ']';
68
 
69
+ $config_js = array();
 
 
 
 
70
 
71
  $attributes = $this->get_attributes_for_editor();
72
 
114
  }
115
 
116
 
117
+ if ( isset($attribute['is_storefront_api']) && $attribute['is_storefront_api'] && strpos( $name, 'chameleon') === false ) {
118
 
119
  if ( is_null( $value ) ) {
120
  $value = $attribute['default'];
127
 
128
  if ( !$is_profile_default ) {
129
  if ( @$attribute['type'] == 'boolean') {
130
+ $config_js[] = 'window.ec.storefront.' . $name . "=" . ( $value ? 'true' : 'false' ) . ";";
131
  } else {
132
+ $config_js[] = 'window.ec.storefront.' . $name . "='" . $value . "';";
133
  }
134
  $store_page_data[$name] = $value;
135
  }
166
 
167
  Ecwid_Store_Page::save_store_page_params( $store_page_data );
168
 
169
+ $chameleon_config_js = '';
170
+ if ( $chameleon['colors'] != '"auto"' ) {
171
+ $chameleon_config_js .= 'window.ec.config.chameleon = window.ec.config.chameleon || Object();' . PHP_EOL;
172
+ $chameleon_config_js .= 'window.ec.config.chameleon.colors = ' . $chameleon['colors'] . ';' . PHP_EOL;
 
173
  }
174
+
175
+ if( count($config_js) || !empty($chameleon_config_js) ) {
176
+ $result .= '<script data-cfasync="false" type="text/javascript">' . PHP_EOL;
177
+ $result .= 'window.ec = window.ec || Object();' . PHP_EOL;
178
+
179
+ if( count($config_js) ) {
180
+ $result .= 'window.ec.storefront = window.ec.storefront || Object();' . PHP_EOL;
181
+ $result .= implode(PHP_EOL, $config_js) . PHP_EOL;
182
+ }
183
+
184
+ $result .= $chameleon_config_js;
185
+ $result .= '</script>' . PHP_EOL;
186
  }
 
 
187
 
188
  return $result;
189
  }
190
+
191
  public function get_attributes_for_editor() {
192
  $api = new Ecwid_Api_V3();
193
 
includes/importer/class-ecwid-import-page.php CHANGED
@@ -167,7 +167,8 @@ class Ecwid_Import_Page
167
  public function do_woo_page()
168
  {
169
  $import_data = Ecwid_Import::gather_import_data();
170
-
 
171
  require_once ECWID_IMPORTER_TEMPLATES_DIR . '/woo-main.tpl.php';
172
  }
173
 
167
  public function do_woo_page()
168
  {
169
  $import_data = Ecwid_Import::gather_import_data();
170
+ echo Ecwid_Admin_UI_Framework::print_fix_js();
171
+
172
  require_once ECWID_IMPORTER_TEMPLATES_DIR . '/woo-main.tpl.php';
173
  }
174
 
includes/importer/class-ecwid-importer.php CHANGED
@@ -11,6 +11,8 @@ class Ecwid_Importer
11
  const OPTION_SETTINGS = 'ecwid_importer_settings';
12
  const OPTION_DEMO_PRODUCTS = 'woo_importer_demo_products';
13
  const OPTION_ERROR_LOG = 'ecwid_importer_error_log';
 
 
14
 
15
  const TICK_LENGTH = 20;
16
 
@@ -258,6 +260,11 @@ class Ecwid_Importer
258
  }
259
 
260
  public static function is_localhost() {
 
 
 
 
 
261
  return in_array( $_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1') );
262
  }
263
 
11
  const OPTION_SETTINGS = 'ecwid_importer_settings';
12
  const OPTION_DEMO_PRODUCTS = 'woo_importer_demo_products';
13
  const OPTION_ERROR_LOG = 'ecwid_importer_error_log';
14
+
15
+ const OPTIONS_SEPARATE_IMAGE_LOADING = 'ec_woo_import_separate_image_loading';
16
 
17
  const TICK_LENGTH = 20;
18
 
260
  }
261
 
262
  public static function is_localhost() {
263
+
264
+ if( get_option( self::OPTIONS_SEPARATE_IMAGE_LOADING, false ) ) {
265
+ return true;
266
+ }
267
+
268
  return in_array( $_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1') );
269
  }
270
 
includes/importer/task/class-ecwid-importer-task-create-product.php CHANGED
@@ -12,10 +12,16 @@ class Ecwid_Importer_Task_Create_Product extends Ecwid_Importer_Task_Product_Bas
12
 
13
  $product = wc_get_product( $this->_woo_product_id );
14
 
 
 
 
 
 
 
15
  $data = array(
16
  'name' => $product->get_title(),
17
  'price' => $product->get_regular_price(),
18
- 'description' => $product->get_description(),
19
  'isShippingRequired' => !$product->get_virtual(),
20
  'categoryIds' => array(),
21
  'showOnFrontpage' => (int) $product->get_featured()
12
 
13
  $product = wc_get_product( $this->_woo_product_id );
14
 
15
+ $description = $product->get_description();
16
+
17
+ if( empty($description) ) {
18
+ $description = $product->get_short_description();
19
+ }
20
+
21
  $data = array(
22
  'name' => $product->get_title(),
23
  'price' => $product->get_regular_price(),
24
+ 'description' => $description,
25
  'isShippingRequired' => !$product->get_virtual(),
26
  'categoryIds' => array(),
27
  'showOnFrontpage' => (int) $product->get_featured()
includes/integrations/class-ecwid-integration-autoptimize.php CHANGED
@@ -5,8 +5,6 @@ class Ecwid_Integration_Autoptimize
5
  public function __construct()
6
  {
7
  add_filter( 'ecwid_shortcode_content', array( $this, 'ecwid_shortcode_content' ) );
8
-
9
- add_filter( 'autoptimize_filter_js_movelast', array( $this, 'hook_js_movelast' ) );
10
  add_filter( 'autoptimize_filter_js_exclude', array( $this, 'hook_js_exclude' ) );
11
  }
12
 
@@ -14,14 +12,6 @@ class Ecwid_Integration_Autoptimize
14
  return '<!-- noptimize -->' . $content . '<!-- /noptimize -->';
15
  }
16
 
17
- public function hook_js_movelast($scripts) {
18
- if ((bool)get_option('ecwid_use_chameleon')) {
19
- $scripts[] = 'chameleon.js';
20
- }
21
-
22
- return $scripts;
23
- }
24
-
25
  public function hook_js_exclude($exclude) {
26
  $code= ecwid_get_search_js_code();
27
 
5
  public function __construct()
6
  {
7
  add_filter( 'ecwid_shortcode_content', array( $this, 'ecwid_shortcode_content' ) );
 
 
8
  add_filter( 'autoptimize_filter_js_exclude', array( $this, 'hook_js_exclude' ) );
9
  }
10
 
12
  return '<!-- noptimize -->' . $content . '<!-- /noptimize -->';
13
  }
14
 
 
 
 
 
 
 
 
 
15
  public function hook_js_exclude($exclude) {
16
  $code= ecwid_get_search_js_code();
17
 
includes/integrations/class-ecwid-integration-gutenberg.php CHANGED
@@ -278,8 +278,6 @@ HTML;
278
  $color = @$params['chameleon_color_' . $kind];
279
  if ( $color ) {
280
  $colors['color-' . $kind] = $color;
281
- } else {
282
- //$colors['color-' . $kind] = 'auto';
283
  }
284
  }
285
 
278
  $color = @$params['chameleon_color_' . $kind];
279
  if ( $color ) {
280
  $colors['color-' . $kind] = $color;
 
 
281
  }
282
  }
283
 
includes/integrations/class-ecwid-integration-rank-math.php ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Ecwid_Integration_Rank_Math
4
+ {
5
+ protected $sitemap = array();
6
+
7
+ public function __construct() {
8
+ add_action( 'wp', array( $this, 'filter_meta_tags' ), 1000 );
9
+ add_action( 'wp_head', array( $this, 'title' ), 1000 );
10
+
11
+ if ( ecwid_is_paid_account() && ecwid_is_store_page_available()) {
12
+ add_action( 'rank_math/sitemap/index', array( $this, 'sitemap_index' ) );
13
+ add_filter( 'rank_math/sitemap/ecwid/content', array( $this, 'sitemap_content' ) );
14
+ add_filter( 'rank_math/sitemap/exclude_post_type', array( $this, 'exclude_post_type' ), 10, 2 );
15
+ }
16
+ }
17
+
18
+ public function exclude_post_type( $bool, $post_type ) {
19
+
20
+ if ( $post_type == 'ec-product') {
21
+ return true;
22
+ }
23
+
24
+ return $bool;
25
+ }
26
+
27
+ public function filter_meta_tags() {
28
+ if ( Ecwid_Store_Page::is_store_page() ) {
29
+ $html_catalog_params = Ecwid_Seo_Links::maybe_extract_html_catalog_params();
30
+ $is_home_page = empty( $html_catalog_params );
31
+
32
+ if( !$is_home_page ) {
33
+ remove_all_actions( 'rank_math/head' );
34
+ add_action( 'wp_head', array( $this, 'render_title_tag'), 1 );
35
+ }
36
+ }
37
+ }
38
+
39
+ public function render_title_tag() {
40
+ $title = _ecwid_get_seo_title();
41
+ echo '<title>' . $title . '</title>' . "\n";
42
+ }
43
+
44
+ public function sitemap_index() {
45
+ $now = date('c', time());;
46
+ $sitemap_url = RankMath\Sitemap\Router::get_base_url( 'ecwid-sitemap.xml' );
47
+
48
+ return <<<XML
49
+ <sitemap>
50
+ <loc>$sitemap_url</loc>
51
+ <lastmod>$now</lastmod>
52
+ </sitemap>
53
+ XML;
54
+ }
55
+
56
+ public function sitemap_content( $content ) {
57
+
58
+ $this->sitemap = <<<XML
59
+ <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
60
+ XML;
61
+
62
+ ecwid_build_sitemap( array($this, 'sitemap_callback') );
63
+
64
+ $this->sitemap .= '</urlset>';
65
+
66
+ $sitemap = $this->sitemap;
67
+ $this->sitemap = null;
68
+
69
+ return $sitemap;
70
+ }
71
+
72
+ public function sitemap_callback($url, $priority, $frequency, $obj) {
73
+ $url = htmlspecialchars($url);
74
+ $imageCode = '';
75
+ $image = @$obj->originalImageUrl;
76
+ if ($image) {
77
+ $image = htmlspecialchars($image);
78
+ $title = htmlspecialchars($obj->name);
79
+ $imageCode = <<<XML
80
+ <image:image>
81
+ <image:title>$title</image:title>
82
+ <image:loc>$image</image:loc>
83
+
84
+ </image:image>
85
+ XML;
86
+ }
87
+
88
+ $this->sitemap .= <<<XML
89
+ <url>
90
+ <loc>$url</loc>
91
+ <changefreq>$frequency</changefreq>
92
+ <priority>$priority</priority>
93
+ $imageCode
94
+ </url>
95
+
96
+ XML;
97
+ }
98
+ }
99
+
100
+ $ecwid_integration_rank_math = new Ecwid_Integration_Rank_Math();
includes/integrations/class-ecwid-integration-urbango.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Ecwid_Integration_UrbanGo
4
+ {
5
+ public function __construct()
6
+ {
7
+ add_action( 'generate_rewrite_rules', array( $this, 'rewrite_rules' ), 1000 );
8
+ }
9
+
10
+ public function rewrite_rules($wp_rewrite) {
11
+
12
+ $patterns = Ecwid_Seo_Links::get_seo_links_patterns();
13
+ foreach ( $patterns as $pattern ) {
14
+
15
+ $theme_rules['listing-item/([^/]+)/' . $pattern] = 'index.php?listing-item=$matches[1]';
16
+
17
+ if( function_exists('urbango_edge_options') ) {
18
+ $custom_slug = urbango_edge_options()->getOptionValue( 'listing_single_slug' );
19
+
20
+ if( !empty($custom_slug) ) {
21
+ $theme_rules[ $custom_slug . '/([^/]+)/' . $pattern] = 'index.php?listing-item=$matches[1]';
22
+ }
23
+ }
24
+ }
25
+
26
+ $wp_rewrite->rules = $theme_rules + $wp_rewrite->rules;
27
+ }
28
+ }
29
+
30
+ $ecwid_integration_urbango = new Ecwid_Integration_UrbanGo();
includes/integrations/class-ecwid-integration-wpbakery-composer.php CHANGED
@@ -28,6 +28,17 @@ class vcInfoBox extends WPBakeryShortCode {
28
  function __construct() {
29
  add_action( 'init', array( $this, 'vc_infobox_mapping' ) );
30
  add_shortcode( 'vc_ecwid_store', array( $this, 'vc_ecwid_store' ) );
 
 
 
 
 
 
 
 
 
 
 
31
  }
32
 
33
  // Element Mapping
28
  function __construct() {
29
  add_action( 'init', array( $this, 'vc_infobox_mapping' ) );
30
  add_shortcode( 'vc_ecwid_store', array( $this, 'vc_ecwid_store' ) );
31
+
32
+ add_filter( 'ecwid_page_has_product_browser', array( $this, 'vc_page_has_product_browser' ), 10, 2 );
33
+ }
34
+
35
+ public function vc_page_has_product_browser($result, $content) {
36
+
37
+ if( has_shortcode( $content, 'vc_ecwid_store' ) ) {
38
+ return true;
39
+ }
40
+
41
+ return $result;
42
  }
43
 
44
  // Element Mapping
includes/integrations/class-ecwid-integration-wpml.php CHANGED
@@ -8,6 +8,8 @@ class Ecwid_Integration_WPML
8
 
9
  if ( version_compare( $ver, '3.2', '>=' ) ) {
10
  add_filter( 'ecwid_relative_permalink', array( $this, 'mod_relative_permalink' ), 10, 2 );
 
 
11
  }
12
 
13
  add_filter( 'ecwid_lang', array( $this, 'force_scriptjs_lang' ) );
@@ -15,6 +17,23 @@ class Ecwid_Integration_WPML
15
  add_filter( 'wpml_hreflangs_html', array( $this, 'filter_hreflangs_html'), 10, 1 );
16
  }
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  public function force_scriptjs_lang( $lang ) {
19
  $current_language_code = apply_filters( 'wpml_current_language', null );
20
  return $current_language_code;
8
 
9
  if ( version_compare( $ver, '3.2', '>=' ) ) {
10
  add_filter( 'ecwid_relative_permalink', array( $this, 'mod_relative_permalink' ), 10, 2 );
11
+ add_filter( 'ecwid_rewrite_rules_relative_link', array( $this, 'mod_rewrite_rules' ), 10, 2 );
12
+ add_filter( 'ecwid_rewrite_rules_page_id', array( $this, 'mod_default_page_id' ), 10, 2 );
13
  }
14
 
15
  add_filter( 'ecwid_lang', array( $this, 'force_scriptjs_lang' ) );
17
  add_filter( 'wpml_hreflangs_html', array( $this, 'filter_hreflangs_html'), 10, 1 );
18
  }
19
 
20
+ public function mod_rewrite_rules( $link, $page_id ) {
21
+ $post_slug = get_post_field( 'post_name', get_post( $page_id ) );
22
+
23
+ return $post_slug;
24
+ }
25
+
26
+ public function mod_default_page_id( $page_id, $link ) {
27
+ global $sitepress;
28
+
29
+ $lang = $sitepress->get_default_language();
30
+ if( function_exists('icl_object_id') ) {
31
+ return apply_filters( 'wpml_object_id', $page_id, 'post', false, $lang );
32
+ }
33
+
34
+ return $page_id;
35
+ }
36
+
37
  public function force_scriptjs_lang( $lang ) {
38
  $current_language_code = apply_filters( 'wpml_current_language', null );
39
  return $current_language_code;
includes/shortcodes/class-ecwid-shortcode-productbrowser.php CHANGED
@@ -34,7 +34,13 @@ class Ecwid_Shortcode_ProductBrowser extends Ecwid_Shortcode_Base {
34
  $option_print_html_catalog = get_option('ecwid_print_html_catalog', 'Y');
35
 
36
  if ( !Ecwid_Static_Page::is_data_available() || @$this->_params['noHTMLCatalog'] || empty( $option_print_html_catalog ) ) {
37
- return '<div id="dynamic-ec-store">' . $default_render . '</div>';
 
 
 
 
 
 
38
  }
39
 
40
 
@@ -56,7 +62,6 @@ HTML;
56
  }
57
 
58
  $classname = '';
59
-
60
  if ( Ecwid_Static_Page::is_enabled_static_home_page() && Ecwid_Static_Page::is_feature_available() ) {
61
  $code .= self::_get_js_switch_dynamic('static-ec-store', 'dynamic-ec-store');
62
  $classname = 'hide-ec-dynamic-placeholder';
@@ -226,6 +231,10 @@ HTML;
226
  $input_params['noHTMLCatalog'] = $shortcode_params['no_html_catalog'];
227
  }
228
 
 
 
 
 
229
  $this->_params = $input_params;
230
  }
231
 
@@ -242,4 +251,28 @@ HTML;
242
 
243
  return $ecwid_default_category_id;
244
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
245
  }
34
  $option_print_html_catalog = get_option('ecwid_print_html_catalog', 'Y');
35
 
36
  if ( !Ecwid_Static_Page::is_data_available() || @$this->_params['noHTMLCatalog'] || empty( $option_print_html_catalog ) ) {
37
+ $result = '<div id="dynamic-ec-store">' . $default_render . '</div>';
38
+
39
+ if( !empty( $this->_params['default_page'] ) ) {
40
+ $result .= $this->get_js_for_open_page( $this->_params['default_page'] );
41
+ }
42
+
43
+ return $result;
44
  }
45
 
46
 
62
  }
63
 
64
  $classname = '';
 
65
  if ( Ecwid_Static_Page::is_enabled_static_home_page() && Ecwid_Static_Page::is_feature_available() ) {
66
  $code .= self::_get_js_switch_dynamic('static-ec-store', 'dynamic-ec-store');
67
  $classname = 'hide-ec-dynamic-placeholder';
231
  $input_params['noHTMLCatalog'] = $shortcode_params['no_html_catalog'];
232
  }
233
 
234
+ if ( isset($shortcode_params['default_page']) ) {
235
+ $input_params['default_page'] = $shortcode_params['default_page'];
236
+ }
237
+
238
  $this->_params = $input_params;
239
  }
240
 
251
 
252
  return $ecwid_default_category_id;
253
  }
254
+
255
+ public function get_js_for_open_page( $page = '' ) {
256
+ $allowed_pages = array(
257
+ 'cart',
258
+ 'search'
259
+ );
260
+
261
+ if( !in_array( $page, $allowed_pages ) ) {
262
+ return false;
263
+ }
264
+
265
+ $result .= <<<HTML
266
+ <script>
267
+ Ecwid.OnAPILoaded.add(function() {
268
+ Ecwid.OnPageLoad.add(function(page) {
269
+ if ("CATEGORY" == page.type && 0 == page.categoryId && !page.hasPrevious) {
270
+ Ecwid.openPage("$page");
271
+ }
272
+ })
273
+ });
274
+ </script>
275
+ HTML;
276
+ return $result;
277
+ }
278
  }
includes/themes.php CHANGED
@@ -68,7 +68,9 @@ function ecwid_apply_theme($theme_name = null)
68
  'themify-music' => array( Ecwid_Theme_Base::PROP_AJAX_DEFER_RENDERING ),
69
  'bridge' => array( Ecwid_Theme_Base::PROP_AJAX_DEFER_RENDERING ),
70
  'Parallax-One' => array( 'css' ),
71
- 'twentytwenty' => array( 'css' )
 
 
72
  );
73
  $generic_themes = apply_filters('ecwid_generic_themes', $generic_themes);
74
 
68
  'themify-music' => array( Ecwid_Theme_Base::PROP_AJAX_DEFER_RENDERING ),
69
  'bridge' => array( Ecwid_Theme_Base::PROP_AJAX_DEFER_RENDERING ),
70
  'Parallax-One' => array( 'css' ),
71
+ 'twentytwenty' => array( 'css' ),
72
+ 'jevelin3' => array( 'css-no-parent' ),
73
+ 'newstore' => array( 'css' )
74
  );
75
  $generic_themes = apply_filters('ecwid_generic_themes', $generic_themes);
76
 
includes/widgets/class-ecwid-widget-badge.php CHANGED
@@ -92,7 +92,7 @@ class Ecwid_Widget_Badge extends Ecwid_Widget_Base {
92
 
93
  return <<<HTML
94
  <div>
95
- <a target="_blank" rel="nofollow" href="http://www.ecwid.com?source=wporg-badge">
96
  <img src="$url" width="$badge[width]" height="$badge[height]" alt="$badge[alt]" />
97
  </a>
98
  </div>
92
 
93
  return <<<HTML
94
  <div>
95
+ <a target="_blank" rel="nofollow" href="http://www.ecwid.com">
96
  <img src="$url" width="$badge[width]" height="$badge[height]" alt="$badge[alt]" />
97
  </a>
98
  </div>
js/admin-menu.js CHANGED
@@ -17,7 +17,7 @@ function ecwidRefreshEcwidMenuItemSelection(slug)
17
  selector = 'a[data-ecwid-menu-slug="' + decodeURI(slug) + '"]';
18
  }
19
 
20
-
21
  jQuery('.current', parent).removeClass('current');
22
  jQuery('.wp-has-current-submenu3', parent).removeClass('wp-has-current-submenu3');
23
 
@@ -61,34 +61,64 @@ function ecwidGetCurrentMenuSlug()
61
  return slug;
62
  }
63
 
 
 
64
 
65
  function ecwidApplyIframeAdminMenu($link, menu) {
 
66
  $link
67
- .data('ecwid-menu', menu)
68
- .attr('data-ecwid-menu-slug', menu.slug)
69
- .click(function () {
70
- if ( jQuery(this).hasClass('current') ) {
71
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  }
73
- var ecwidMenu = jQuery(this).data('ecwid-menu');
74
 
75
- var link = jQuery(this).closest('li');
76
- var is3dlevelMenuRoot = link.hasClass('wp-has-submenu3');
77
-
78
- var isOpen = jQuery('li.current').closest('.toplevel_page_ec-store').length > 0;
79
-
80
  ecwidOpenAdminPage(ecwidMenu.hash);
81
- history.pushState({}, null, ecwidMenu.url);
 
82
 
83
- ecwidRefreshEcwidMenuItemSelection();
84
 
85
- jQuery('#wpwrap.wp-responsive-open').removeClass('wp-responsive-open');
86
- jQuery(this).parents('.opensub').removeClass('opensub');
87
 
88
- if ( !isOpen ) return true;
89
-
90
- return false;
91
- });
 
 
 
92
  }
93
 
94
  function ecwidAddSubmenu(items, parent) {
@@ -162,7 +192,7 @@ jQuery(document).ready(function() {
162
  // Listen to message from child window
163
  eventer(messageEvent,function(e) {
164
 
165
- if (typeof e.data.height != 'undefined') {
166
  jQuery('#ecwid-frame').css('height', e.data.height + 'px');
167
  }
168
 
@@ -172,6 +202,11 @@ jQuery(document).ready(function() {
172
  var adminpage = e.currentTarget.adminpage;
173
  var page = e.data.data.page.path;
174
 
 
 
 
 
 
175
  if( adminpage.indexOf(ecwid_admin_menu.baseSlug) != -1 ) {
176
 
177
  jQuery('*[data-ecwid-menu-slug="ec-store-admin-' + page + '"]').eq(0).click();
17
  selector = 'a[data-ecwid-menu-slug="' + decodeURI(slug) + '"]';
18
  }
19
 
20
+
21
  jQuery('.current', parent).removeClass('current');
22
  jQuery('.wp-has-current-submenu3', parent).removeClass('wp-has-current-submenu3');
23
 
61
  return slug;
62
  }
63
 
64
+ var ec_admin_prev_slug = '',
65
+ ec_admin_wait_page_load = false;
66
 
67
  function ecwidApplyIframeAdminMenu($link, menu) {
68
+
69
  $link
70
+ .data('ecwid-menu', menu)
71
+ .attr('data-ecwid-menu-slug', menu.slug)
72
+ .click(function () {
73
+ if ( jQuery(this).hasClass('current') ) {
74
+ return false;
75
+ }
76
+
77
+ if( ecwid_params.is_demo_store ) {
78
+ location.href = jQuery(this).attr('href');
79
+ return false;
80
+ }
81
+
82
+ var ecwidMenu = jQuery(this).data('ecwid-menu');
83
+
84
+ var link = jQuery(this).closest('li');
85
+ var is3dlevelMenuRoot = link.hasClass('wp-has-submenu3');
86
+
87
+ var isOpen = jQuery('li.current').closest('.toplevel_page_ec-store').length > 0;
88
+
89
+ var slug = jQuery(this).data('ecwid-menu-slug');
90
+
91
+ if( slug == 'ec-storefront-settings' ) {
92
+ jQuery('#ec-storefront-settings').show();
93
+ jQuery('#ecwid-frame').hide();
94
+
95
+ jQuery(document).scrollTop(0);
96
+ } else {
97
+
98
+ if( ec_admin_prev_slug == '' || ec_admin_prev_slug == slug ) {
99
+ jQuery('#ecwid-frame').show();
100
+ jQuery('#ec-storefront-settings').hide();
101
+
102
+ jQuery(document).scrollTop(48);
103
+ } else {
104
+ ec_admin_wait_page_load = true;
105
  }
 
106
 
 
 
 
 
 
107
  ecwidOpenAdminPage(ecwidMenu.hash);
108
+ ec_admin_prev_slug = slug;
109
+ }
110
 
111
+ history.pushState({}, null, ecwidMenu.url);
112
 
113
+ ecwidRefreshEcwidMenuItemSelection();
 
114
 
115
+ jQuery('#wpwrap.wp-responsive-open').removeClass('wp-responsive-open');
116
+ jQuery(this).parents('.opensub').removeClass('opensub');
117
+
118
+ if ( !isOpen ) return true;
119
+
120
+ return false;
121
+ });
122
  }
123
 
124
  function ecwidAddSubmenu(items, parent) {
192
  // Listen to message from child window
193
  eventer(messageEvent,function(e) {
194
 
195
+ if (typeof e.data.height != 'undefined' && e.data.height > 0) {
196
  jQuery('#ecwid-frame').css('height', e.data.height + 'px');
197
  }
198
 
202
  var adminpage = e.currentTarget.adminpage;
203
  var page = e.data.data.page.path;
204
 
205
+ if( ec_admin_wait_page_load ) {
206
+ jQuery('#ecwid-frame').show();
207
+ jQuery('#ec-storefront-settings').hide();
208
+ }
209
+
210
  if( adminpage.indexOf(ecwid_admin_menu.baseSlug) != -1 ) {
211
 
212
  jQuery('*[data-ecwid-menu-slug="ec-store-admin-' + page + '"]').eq(0).click();
js/admin-storefront.js ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function(){
2
+
3
+ jQuery(document).on( 'click', '[data-storefront-status]', function(){
4
+ var el = jQuery(this),
5
+ new_status = el.data('storefrontStatus');
6
+
7
+ ecwid_toggle_loading_status( el );
8
+
9
+ var data = {
10
+ action: 'ecwid_storefront_set_status',
11
+ status: new_status
12
+ };
13
+
14
+ jQuery.getJSON(
15
+ 'admin-ajax.php',
16
+ data,
17
+ function(data) {
18
+ ecwid_update_storepage_link( data.storepage );
19
+ ecwid_set_storefront_state( data.storepage.status );
20
+ ecwid_toggle_loading_status( el, true );
21
+ }
22
+ );
23
+
24
+ return false;
25
+ });
26
+
27
+ jQuery(document).on( 'change', '[data-storefront-save-main-page]', function(){
28
+ var page = jQuery(this).val();
29
+
30
+ var data = {
31
+ action: 'ecwid_storefront_set_mainpage',
32
+ page: page
33
+ };
34
+
35
+ jQuery.getJSON(
36
+ 'admin-ajax.php',
37
+ data,
38
+ function(data) {
39
+ ecwid_update_storepage_link( data.storepage );
40
+ }
41
+ );
42
+ return false;
43
+ });
44
+
45
+ jQuery(document).on( 'change', '[data-storefront-checkbox]', function(){
46
+ var setting = jQuery(this).data('storefrontCheckbox'),
47
+ is_checked = jQuery(this).is(':checked'),
48
+ status = (is_checked) ? 1 : 0;
49
+
50
+ var data = {
51
+ action: 'ecwid_storefront_set_' + setting,
52
+ status: status
53
+ };
54
+
55
+ jQuery.getJSON(
56
+ 'admin-ajax.php',
57
+ data,
58
+ function(data) {
59
+ if( typeof data.storepage != 'undefined' ) {
60
+ ecwid_update_storepage_link( data.storepage );
61
+ }
62
+ }
63
+ );
64
+ return false;
65
+ });
66
+
67
+ jQuery(document).on( 'click', '[data-storefront-save-slug]', function(){
68
+ var slug = jQuery('[name=post_name]').val(),
69
+ button = jQuery(this),
70
+ card = jQuery(this).closest('.a-card'),
71
+ fieldset = jQuery('[name=post_name]').closest('.fieldset');
72
+
73
+ button.addClass('btn-loading');
74
+
75
+ fieldset.removeClass('has-error');
76
+ fieldset.find('.field__error').text('');
77
+
78
+ var data = {
79
+ action: 'ecwid_storefront_set_page_slug',
80
+ slug: slug
81
+ };
82
+
83
+ jQuery.getJSON(
84
+ 'admin-ajax.php',
85
+ data,
86
+ function(data) {
87
+ if( data.status == 'success' ) {
88
+ ecwid_update_storepage_link( data.storepage );
89
+ card.find('[data-storefront-show-card]').trigger('click');
90
+ }
91
+
92
+ if( data.status == 'error' ) {
93
+ fieldset.addClass('has-error');
94
+ fieldset.find('.field__error').text(data.message);
95
+ }
96
+
97
+ button.removeClass('btn-loading');
98
+ }
99
+ );
100
+ return false;
101
+ });
102
+
103
+ jQuery(document).on( 'click', '[data-storefront-create-page]', function(){
104
+ var button = jQuery(this),
105
+ type = button.data('storefrontCreatePage'),
106
+ item_id = false;
107
+
108
+ if( typeof button.data('storefrontItemId') != 'undefined' ) {
109
+ item_id = button.data('storefrontItemId');
110
+ }
111
+
112
+ if( !button.hasClass('btn') ) {
113
+ button = button.closest('.btn-group').find('.btn');
114
+ }
115
+
116
+ button.addClass('btn-loading');
117
+
118
+ var data = {
119
+ action: 'ecwid_storefront_create_page',
120
+ type: type,
121
+ item_id: item_id
122
+ };
123
+
124
+ jQuery.getJSON(
125
+ 'admin-ajax.php',
126
+ data,
127
+ function(data) {
128
+ button.removeClass('btn-loading');
129
+
130
+ if( data.status == 'success' && data.open_page ) {
131
+ var win = window.open(data.url, '_blank');
132
+ win.focus();
133
+ }
134
+
135
+ ecwid_set_storefront_state( data.storepage.status );
136
+ }
137
+ );
138
+ return false;
139
+ });
140
+
141
+ jQuery(document).on( 'click', '[data-storefront-show-card]', function(){
142
+ var card = jQuery(this).data('storefrontShowCard');
143
+ ecwid_show_storefront_card( jQuery(this), card );
144
+ return false;
145
+ });
146
+
147
+ ecwid_disable_cards( jQuery('.settings-page').data('ecStorefrontStatus') );
148
+ });
149
+
150
+ function ecwid_set_storefront_state( state ) {
151
+ jQuery('[data-ec-storefront-status]').attr('data-ec-storefront-status', state);
152
+ ecwid_disable_cards( state );
153
+ }
154
+
155
+ function ecwid_show_storefront_card( el, need_show_card ) {
156
+ el.closest('.a-card').hide();
157
+ jQuery('[data-storefront-card="' + need_show_card + '"]').show();
158
+ }
159
+
160
+ function ecwid_toggle_loading_status( el, close_dropdown ){
161
+ if( el.hasClass('btn') ) {
162
+ if( typeof close_dropdown != 'undefined' ) {
163
+ el.removeClass('btn-loading');
164
+ } else {
165
+ el.addClass('btn-loading');
166
+ }
167
+ } else {
168
+ el.closest('.feature-element__status').find('.dropdown-menu').toggle();
169
+ el.closest('.feature-element__status').find('.iconable-link').toggle();
170
+
171
+ if( typeof close_dropdown != 'undefined' ) {
172
+ el.closest('.feature-element__status').find('.list-dropdown').hide();
173
+ }
174
+ }
175
+ }
176
+
177
+ function ecwid_disable_cards( status ) {
178
+ jQuery('[data-ec-storefront-disabled-card]').each(function(){
179
+ var card = jQuery(this);
180
+
181
+ if( card.data('ecStorefrontDisabledCard') == status ) {
182
+ card.find('.iconable-block').addClass('iconable-block--disabled');
183
+ card.find('.status-block').addClass('status-block--disabled');
184
+ card.find('input').attr('disabled', true);
185
+ card.find('.btn').attr('disabled', true);
186
+ } else {
187
+ card.find('.iconable-block').removeClass('iconable-block--disabled');
188
+ card.find('.status-block').removeClass('status-block--disabled');
189
+ card.find('input').removeAttr('disabled');
190
+ card.find('.btn').removeAttr('disabled');
191
+ }
192
+ });
193
+ }
194
+
195
+ function ecwid_update_storepage_link( storepage ) {
196
+ var old_link = jQuery('[data-ec-store-link]').eq(0).attr('href');
197
+
198
+ jQuery('[data-ec-store-slug]').html(storepage.slug);
199
+ jQuery('[data-ec-store-slug-input]').val(storepage.slug);
200
+
201
+ jQuery('a').each(function(){
202
+ if( typeof jQuery(this).attr('href') != 'undefined' ) {
203
+ if( jQuery(this).attr('href') == old_link ) {
204
+ jQuery(this).attr('href', storepage.link);
205
+ }
206
+
207
+ if( jQuery(this).html() == decodeURI(old_link) ) {
208
+ jQuery(this).html( decodeURI(storepage.link) );
209
+ }
210
+ }
211
+ });
212
+ }
js/admin.js CHANGED
@@ -44,7 +44,7 @@ jQuery(document).ready(function() {
44
 
45
  if (location.href.match(/wp-admin\/widgets.php/) || location.href.match(/wp-admin\/customize.php/)) {
46
  jQuery('div[id^="widget-"]').filter('div[id*="_ecwid"]').each(function(idx, el) {
47
- if (location.href.match(/wp-admin\/widgets.php\?from-ecwid=/) && el.id.match(/__i__/)) {
48
  if (jQuery('.ecwid-widget').length > 0) {
49
  jQuery(el).insertAfter(jQuery('.ecwid-widget:last'));
50
  } else {
@@ -106,7 +106,8 @@ jQuery(document).ready(function() {
106
 
107
  jQuery('#ecwid-connect-no-oauth').click(function() {
108
  if (jQuery('#ecwid-store-id').val()) {
109
- location.href = this.href + '&force_store_id=' + jQuery('#ecwid-store-id').val();
 
110
  }
111
  return false;
112
  });
44
 
45
  if (location.href.match(/wp-admin\/widgets.php/) || location.href.match(/wp-admin\/customize.php/)) {
46
  jQuery('div[id^="widget-"]').filter('div[id*="_ecwid"]').each(function(idx, el) {
47
+ if (location.href.match(/wp-admin\/widgets.php\?highlight-ec-widgets=/) && el.id.match(/__i__/)) {
48
  if (jQuery('.ecwid-widget').length > 0) {
49
  jQuery(el).insertAfter(jQuery('.ecwid-widget:last'));
50
  } else {
106
 
107
  jQuery('#ecwid-connect-no-oauth').click(function() {
108
  if (jQuery('#ecwid-store-id').val()) {
109
+ var link = jQuery(this).data('href');
110
+ location.href = link + '&force_store_id=' + jQuery('#ecwid-store-id').val();
111
  }
112
  return false;
113
  });
js/frontend.js CHANGED
@@ -91,6 +91,9 @@ jQuery(document).ready(function() {
91
  var maxAttempts = 50;
92
  var interval = setInterval(function() {
93
  if (/loaded|complete/.test(d.readyState) || (0 === maxAttempts--)) {
 
 
 
94
  firstScript.parentNode.insertBefore(analyticsScript, firstScript);
95
  clearInterval(interval)
96
  }
91
  var maxAttempts = 50;
92
  var interval = setInterval(function() {
93
  if (/loaded|complete/.test(d.readyState) || (0 === maxAttempts--)) {
94
+ if (firstScript.parentNode === null) {
95
+ firstScript = d.getElementsByTagName('script')[0];
96
+ }
97
  firstScript.parentNode.insertBefore(analyticsScript, firstScript);
98
  clearInterval(interval)
99
  }
js/gutenberg/blocks.build.js CHANGED
@@ -1 +1 @@
1
- !function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var r={};t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=2)}([function(e,t,r){"use strict";r.d(t,"a",function(){return n});var n={ecwid:wp.element.createElement("svg",{version:"1.1",x:"0px",y:"0px",viewBox:"0 0 20 20","enable-background":"new 0 0 20 20"},wp.element.createElement("path",{fill:"#555d66",d:"M15.32,15.58c-0.37,0-0.66,0.3-0.66,0.67c0,0.37,0.3,0.67,0.66,0.67c0.37,0,0.67-0.3,0.67-0.67 C15.98,15.88,15.69,15.58,15.32,15.58z M15.45,0H4.55C2.04,0,0,2.04,0,4.55v10.91C0,17.97,2.04,20,4.55,20h10.91c2.51,0,4.55-2.04,4.55-4.55V4.55 C20,2.04,17.96,0,15.45,0z M12.97,4.94C13.54,4.94,14,5.4,14,5.96s-0.46,1.03-1.03,1.03c-0.57,0-1.03-0.46-1.03-1.03 C11.95,5.4,12.41,4.94,12.97,4.94z M12.97,8.02c0.57,0,1.03,0.46,1.03,1.03c0,0.57-0.46,1.03-1.03,1.03c-0.57,0-1.03-0.46-1.03-1.03 C11.95,8.48,12.41,8.02,12.97,8.02z M9.98,4.94c0.57,0,1.03,0.46,1.03,1.03s-0.46,1.03-1.03,1.03c-0.57,0-1.03-0.46-1.03-1.03 C8.95,5.4,9.41,4.94,9.98,4.94z M9.98,8.02c0.57,0,1.03,0.46,1.03,1.03s-0.46,1.03-1.03,1.03c-0.57,0-1.03-0.46-1.03-1.03 C8.95,8.48,9.41,8.02,9.98,8.02z M7.03,4.94c0.57,0,1.03,0.46,1.03,1.03S7.6,6.99,7.03,6.99C6.46,6.99,6,6.53,6,5.96 C6,5.4,6.46,4.94,7.03,4.94z M7.03,8.02c0.57,0,1.03,0.46,1.03,1.03s-0.46,1.03-1.03,1.03C6.46,10.08,6,9.62,6,9.05 C6,8.48,6.46,8.02,7.03,8.02z M4.6,18.02c-1.02,0-1.86-0.83-1.86-1.86c0-1.03,0.83-1.86,1.86-1.86c1.03,0,1.86,0.83,1.86,1.86 C6.45,17.19,5.62,18.02,4.6,18.02z M15.32,18.1c-1.02,0-1.86-0.83-1.86-1.86c0-1.03,0.83-1.86,1.86-1.86c1.03,0,1.86,0.83,1.86,1.86 C17.17,17.27,16.34,18.1,15.32,18.1z M18.48,2.79l-1.92,7.14c-0.51,1.91-2.03,3.1-4,3.1H7.2c-1.91,0-3.26-1.09-3.84-2.91L1.73,5 C1.7,4.9,1.72,4.79,1.78,4.71c0.06-0.09,0.16-0.14,0.27-0.14l0.31,0c0.75,0,1.41,0.49,1.64,1.2l1.2,3.76 c0.32,1.02,1.26,1.7,2.33,1.7h4.81c1.1,0,2.08-0.74,2.36-1.81l1.55-5.78c0.2-0.75,0.89-1.28,1.67-1.28h0.24 c0.1,0,0.2,0.05,0.26,0.13C18.48,2.58,18.5,2.68,18.48,2.79z M4.6,15.5c-0.37,0-0.66,0.3-0.66,0.67c0,0.37,0.3,0.67,0.66,0.67c0.37,0,0.67-0.3,0.67-0.67 S4.96,15.5,4.6,15.5z"})),store:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-234.000000, -324.000000)",fill:"#555D66","fill-rule":"nonzero"},wp.element.createElement("g",{id:"store-icon",transform:"translate(234.000000, 324.000000)"},wp.element.createElement("path",{d:"M9,20.4893188 L7,20.4893188 L7,14 C7,13.4477153 7.44771525,13 8,13 L16,13 C16.5522847,13 17,13.4477153 17,14 L17,20.4893188 C16.260376,20.4893188 15.5929565,20.4893188 15,20.4893188 L15,15 L9,15 L9,20.4893188 Z",id:"Rectangle-3"}),wp.element.createElement("path",{d:"M20,10 L22,10 L22,21.0006104 C22,21.5528951 21.5522847,22.0006104 21,22.0006104 L3,22.0006104 C2.44771525,22.0006104 2,21.5528951 2,21.0006104 L2,10 L4,10 L4,20.0006104 L20,20.0006104 L20,10 Z",id:"Rectangle-3"}),wp.element.createElement("path",{d:"M2,6.5 C2,7.88071187 3.11928813,9 4.5,9 C5.18185515,9 5.81786053,8.72707728 6.28575907,8.24959145 L7,7.52071565 L7.71424093,8.24959145 C8.18213947,8.72707728 8.81814485,9 9.5,9 C10.1818552,9 10.8178605,8.72707728 11.2857591,8.24959145 L12,7.52071565 L12.7142409,8.24959145 C13.1821395,8.72707728 13.8181448,9 14.5,9 C15.1818552,9 15.8178605,8.72707728 16.2857591,8.24959145 L17,7.52071565 L17.7142409,8.24959145 C18.1821395,8.72707728 18.8181448,9 19.5,9 C20.8807119,9 22,7.88071187 22,6.5 C22,5.81342077 21.7917279,4.97737648 21.3637104,4 L2.63518632,4 C2.20791709,4.97255801 2,5.80837301 2,6.5 Z M4.5,11 C2.01471863,11 4.4408921e-16,8.98528137 0,6.5 C0,5.33310646 0.374574518,4.02209564 1.10468286,2.55457075 L1.38058736,2 L22.6207487,2 L22.8961752,2.55629959 C23.6256977,4.02977127 24,5.33982925 24,6.5 C24,8.98528137 21.9852814,11 19.5,11 C18.5937006,11 17.7289225,10.73006 17,10.2422809 C16.2710775,10.73006 15.4062994,11 14.5,11 C13.5937006,11 12.7289225,10.73006 12,10.2422809 C11.2710775,10.73006 10.4062994,11 9.5,11 C8.59370056,11 7.72892246,10.73006 7,10.2422809 C6.27107754,10.73006 5.40629944,11 4.5,11 Z",id:"Combined-Shape"}))))),product:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-352.000000, -324.000000)",fill:"#555D66","fill-rule":"nonzero"},wp.element.createElement("g",{id:"icon-product",transform:"translate(352.000000, 324.000000)"},wp.element.createElement("path",{d:"M4,9 L4,20 L20,20 L20,9 L4,9 Z M2,7 L22,7 L22,22 L2,22 L2,7 Z",id:"Rectangle-2-Copy-2"}),wp.element.createElement("path",{d:"M9,7 L15,7 L15,15 L12.0361633,14 L9,15 L9,7 Z M11,9 L11,12 L12.0361633,11.5393066 L13,12 L13,9 L11,9 Z",id:"Combined-Shape"}),wp.element.createElement("polygon",{id:"Line-3",points:"13 9 11 9 11 2 13 2"}),wp.element.createElement("polygon",{id:"Rectangle-2-Copy-2",points:"17.0387503 4 19.4387503 7 22 7 18 2 6 2 2 7 4.56124969 7 6.96124969 4"}))))),aspect169:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"9",y:"14",width:"22",height:"12",rx:"2"}))),aspect916:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"}," ",wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"14",y:"9",width:"12",height:"22",rx:"2"}))),aspect11:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"12",y:"12",width:"16",height:"16",rx:"2"}))),aspect34:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"12",y:"10",width:"16",height:"20",rx:"2"}))),aspect43:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"10",y:"12",width:"20",height:"16",rx:"2"}))),textalignleft:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"13",y:"13",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"16",width:"9",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"19",width:"13",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"22",width:"9",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"25",width:"14",height:"2"}))),textaligncenter:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"13",y:"13",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"16",y:"16",width:"8",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"14",y:"19",width:"12",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"16",y:"22",width:"8",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"25",width:"14",height:"2"}))),textalignright:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"13",y:"13",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"18",y:"16",width:"9",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"14",y:"19",width:"13",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"18",y:"22",width:"9",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"25",width:"14",height:"2"}))),textalignjustify:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",zoomAndPan:"1.5",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"13",y:"13",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"16",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"19",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"22",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"25",width:"14",height:"2"}))),productLayout3Columns:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",transform:"translate(13.000000, 19.500000) rotate(-270.000000) translate(-13.000000, -19.500000) ",x:"3.5",y:"16.5",width:"19",height:"6",rx:"1"}),wp.element.createElement("rect",{fill:"#000000",x:"18",y:"10",width:"5",height:"19"}),wp.element.createElement("rect",{fill:"#000000",x:"25",y:"10",width:"5",height:"8"}),wp.element.createElement("rect",{fill:"#000000",x:"25",y:"19",width:"5",height:"10"}))),productLayout2ColumnsLeft:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"17",y:"10",width:"13",height:"19",rx:"1"}),wp.element.createElement("rect",{fill:"#000000",x:"10",y:"10",width:"5",height:"5"}),wp.element.createElement("rect",{fill:"#000000",x:"10",y:"17",width:"5",height:"12"}))),productLayout2ColumnsRight:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(10.000000, 10.000000)",fill:"#000000"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"19",rx:"1"}),wp.element.createElement("rect",{x:"15",y:"0",width:"5",height:"5"}),wp.element.createElement("rect",{x:"15",y:"7",width:"5",height:"12"})))),productLayout2ColumnsBottom:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(10.000000, 10.000000)",fill:"#000000"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"12",rx:"1"}),wp.element.createElement("rect",{x:"15",y:"0",width:"5",height:"12"}),wp.element.createElement("rect",{x:"0",y:"14",width:"20",height:"5"})))),galleryLayoutHorizontal:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(20.000000, 20.500000) rotate(-180.000000) translate(-20.000000, -20.500000) translate(10.000000, 11.000000)",fill:"#000000","fill-rule":"nonzero"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"19",rx:"1"}),wp.element.createElement("rect",{x:"15",y:"0",width:"5",height:"6"}),wp.element.createElement("rect",{x:"15",y:"14",width:"5",height:"5"}),wp.element.createElement("rect",{x:"15",y:"7",width:"5",height:"6"})))),galleryLayoutVertical:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(19.500000, 20.000000) rotate(-270.000000) translate(-19.500000, -20.000000) translate(9.500000, 10.500000)",fill:"#000000","fill-rule":"nonzero"},wp.element.createElement("rect",{x:"0",y:"-1.13686838e-13",width:"13",height:"19",rx:"1"}),wp.element.createElement("rect",{x:"15",y:"-1.13686838e-13",width:"5",height:"6"}),wp.element.createElement("rect",{x:"15",y:"7",width:"5",height:"5"}),wp.element.createElement("rect",{x:"15",y:"13",width:"5",height:"6"})))),galleryLayoutFeed:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(20.500000, 12.500000) rotate(-270.000000) translate(-20.500000, -12.500000) translate(14.000000, 3.000000)",fill:"#000000","fill-rule":"nonzero"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"19",rx:"1"})),wp.element.createElement("g",{transform:"translate(20.500000, 27.500000) rotate(-270.000000) translate(-20.500000, -27.500000) translate(14.000000, 18.000000)",fill:"#000000","fill-rule":"nonzero"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"19",rx:"1"})))),cart:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-352.000000, -415.000000)",fill:"#555D66"},wp.element.createElement("g",{id:"cart-icon",transform:"translate(352.000000, 415.000000)"},wp.element.createElement("path",{d:"M4.5269723,4 L2,4 C1.44771525,4 1,3.55228475 1,3 C1,2.44771525 1.44771525,2 2,2 L5.33333333,2 C5.80393835,2 6.21086155,2.32812702 6.31061146,2.788039 L7.22413999,7 L21,7 C21.6640252,7 22.143636,7.63527258 21.9617572,8.27390353 L19.968471,15.272927 C19.8460922,15.7026358 19.4535094,15.9990234 19.0067139,15.9990234 L7.93579102,15.9990234 C7.465186,15.9990234 7.0582628,15.6708964 6.95851289,15.2109844 L4.5269723,4 Z M7.65791824,9 L8.74215205,13.9990234 L18.2517453,13.9990234 L19.6754416,9 L7.65791824,9 Z",id:"Path-3","fill-rule":"nonzero"}),wp.element.createElement("circle",{id:"Oval-2",cx:"9",cy:"20",r:"2"}),wp.element.createElement("circle",{id:"Oval-2",cx:"18",cy:"20",r:"2"}))))),search:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-469.000000, -324.000000)",fill:"#555D66","fill-rule":"nonzero"},wp.element.createElement("g",{id:"search-icon",transform:"translate(469.000000, 324.000000)"},wp.element.createElement("path",{d:"M3.83470744,16.348799 C3.83470744,15.7965143 4.28242269,15.348799 4.83470744,15.348799 C5.38699219,15.348799 5.83470744,15.7965143 5.83470744,16.348799 L5.81335241,21.7511152 C5.81335241,22.3033999 5.36563716,22.7511152 4.81335241,22.7511152 C4.26106766,22.7511152 3.81335241,22.3033999 3.81335241,21.7511152 L3.83470744,16.348799 Z",id:"Line-2",transform:"translate(4.824030, 19.049957) scale(-1, 1) rotate(-45.000000) translate(-4.824030, -19.049957) "}),wp.element.createElement("path",{d:"M13,18 C16.8659932,18 20,14.8659932 20,11 C20,7.13400675 16.8659932,4 13,4 C9.13400675,4 6,7.13400675 6,11 C6,14.8659932 9.13400675,18 13,18 Z M13,20 C8.02943725,20 4,15.9705627 4,11 C4,6.02943725 8.02943725,2 13,2 C17.9705627,2 22,6.02943725 22,11 C22,15.9705627 17.9705627,20 13,20 Z",id:"Oval",transform:"translate(13.000000, 11.000000) scale(-1, 1) translate(-13.000000, -11.000000) "}),wp.element.createElement("path",{d:"M17,6 C17.5522847,6 18,6.44771525 18,7 C18,7.55228475 17.5522847,8 17,8 C15.0670034,8 13.5,9.56700338 13.5,11.5 C13.5,12.0522847 13.0522847,12.5 12.5,12.5 C11.9477153,12.5 11.5,12.0522847 11.5,11.5 C11.5,8.46243388 13.9624339,6 17,6 Z",id:"Oval",transform:"translate(14.750000, 9.250000) scale(-1, 1) translate(-14.750000, -9.250000) "}))))),categories:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-234.000000, -416.000000)"},wp.element.createElement("g",{id:"categories-icon",transform:"translate(234.000000, 416.000000)"},wp.element.createElement("polygon",{id:"Triangle",fill:"#555D66",points:"3 2 5.5 7 0.5 7"}),wp.element.createElement("polygon",{id:"Line",fill:"#555D66","fill-rule":"nonzero",points:"8 6 8 4 23 4 23 6"}),wp.element.createElement("polygon",{id:"Line",fill:"#555D66","fill-rule":"nonzero",points:"8 13 8 11 23 11 23 13"}),wp.element.createElement("polygon",{id:"Line",fill:"#555D66","fill-rule":"nonzero",points:"8 20 8 18 23 18 23 20"}),wp.element.createElement("rect",{id:"Rectangle",stroke:"#555D66","stroke-width":"2",fill:"#FFFFFF",x:"2",y:"11",width:"2",height:"2"}),wp.element.createElement("rect",{id:"Rectangle",stroke:"#555D66","stroke-width":"2",fill:"#FFFFFF",x:"2",y:"18",width:"2",height:"2",rx:"1"}))))),category:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-470.000000, -416.000000)",fill:"#555D66","fill-rule":"nonzero"},wp.element.createElement("g",{id:"category-icon",transform:"translate(470.000000, 416.000000)"},wp.element.createElement("polygon",{id:"Line-4",points:"3 4 3 2 21 2 21 4"}),wp.element.createElement("path",{d:"M5,17 L5,20 L9,20 L9,17 L5,17 Z M3,15 L11,15 L11,22 L3,22 L3,15 Z",id:"Rectangle-2"}),wp.element.createElement("path",{d:"M5,8 L5,11 L9,11 L9,8 L5,8 Z M3,6 L11,6 L11,13 L3,13 L3,6 Z",id:"Rectangle-2-Copy"}),wp.element.createElement("path",{d:"M15,17 L15,20 L19,20 L19,17 L15,17 Z M13,15 L21,15 L21,22 L13,22 L13,15 Z",id:"Rectangle-2"}),wp.element.createElement("path",{d:"M15,8 L15,11 L19,11 L19,8 L15,8 Z M13,6 L21,6 L21,13 L13,13 L13,6 Z",id:"Rectangle-2-Copy-3"}))))),button:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-345.000000, -280.000000)",fill:"#555D66","fill-rule":"nonzero"},wp.element.createElement("g",{id:"button-icon",transform:"translate(345.000000, 280.000000)"},wp.element.createElement("path",{d:"M4,8 L4,16 L20,16 L20,8 L4,8 Z M4,6 L20,6 C21.1045695,6 22,6.8954305 22,8 L22,16 C22,17.1045695 21.1045695,18 20,18 L4,18 C2.8954305,18 2,17.1045695 2,16 L2,8 C2,6.8954305 2.8954305,6 4,6 Z",id:"Rectangle-5"}),wp.element.createElement("path",{d:"M13.8320367,9.8101295 C14.2137832,9.41102047 14.8467917,9.3969454 15.2459008,9.77869195 C15.6450098,10.1604385 15.6590849,10.793447 15.2773383,11.192556 L12.2122748,14.3970238 C11.8300377,14.7966458 11.1960253,14.8101668 10.7970986,14.427204 L9.5128579,13.1943549 C9.11444327,12.8118837 9.10151859,12.1788506 9.48398981,11.780436 C9.86646103,11.3820214 10.4994941,11.3690967 10.8979087,11.7515679 L11.4594438,12.290632 L13.8320367,9.8101295 Z",id:"Line-6"}))))),productPreview:wp.element.createElement("svg",{width:"72px",height:"72px",viewBox:"0 0 72 72",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets",transform:"translate(-625.000000, -811.000000)",fill:"#AAAAAA"},wp.element.createElement("g",{id:"Group-2",transform:"translate(571.000000, 756.000000)"},wp.element.createElement("g",{id:"product-preview",transform:"translate(54.000000, 55.000000)"},wp.element.createElement("path",{d:"M6,25 L6,69 L66,69 L66,25 L6,25 Z M4,23 L68,23 L68,71 L4,71 L4,23 Z",id:"Rectangle-2-Copy-2","fill-rule":"nonzero"}),wp.element.createElement("path",{d:"M36.5,23.5 L65.836706,23.5 L67.2237665,22.8226349 L55.0328393,7.34740904 L39.8812213,0.895706316 L40.7501329,7.5 L17.0403124,7.5 L5.04031242,22.5 L6.32093727,22.5 L17.5209373,8.5 L36.5,8.5 L36.5,23.5 Z M42.9573255,16.6099474 L41.1011835,2.50206036 L54.4056315,8.16722056 L66.5284549,23.5566573 L42.9573255,16.6099474 Z",id:"Combined-Shape",stroke:"#AAAAAA"}),wp.element.createElement("path",{d:"M29.8056641,41.53125 C29.9375,38.2060547 32.2080078,35.6865234 36.4560547,35.6865234 C40.3232422,35.6865234 42.9306641,37.9863281 42.9306641,41.1210938 C42.9306641,43.3916016 41.7880859,44.9882812 39.8544922,46.1455078 C37.9648438,47.2587891 37.4228516,48.0351562 37.4228516,49.5439453 L37.4228516,50.4375 L34.390625,50.4375 L34.3759766,49.265625 C34.3027344,47.2001953 35.1962891,45.8818359 37.203125,44.6806641 C38.9755859,43.6113281 39.6054688,42.7617188 39.6054688,41.2529297 C39.6054688,39.5976562 38.3017578,38.3818359 36.2949219,38.3818359 C34.2734375,38.3818359 32.9697266,39.5976562 32.8378906,41.53125 L29.8056641,41.53125 Z M35.9287109,57.2197266 C34.859375,57.2197266 34.0097656,56.3994141 34.0097656,55.3300781 C34.0097656,54.2607422 34.859375,53.4404297 35.9287109,53.4404297 C37.0273438,53.4404297 37.8623047,54.2607422 37.8623047,55.3300781 C37.8623047,56.3994141 37.0273438,57.2197266 35.9287109,57.2197266 Z",id:"?"})))))),filters:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd","stroke-linecap":"square"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-354.000000, -500.000000)",stroke:"#555D66","stroke-width":"2"},wp.element.createElement("g",{id:"filter-icon",transform:"translate(354.000000, 500.000000)"},wp.element.createElement("path",{d:"M3,6 L21,6",id:"Line-5"}),wp.element.createElement("path",{d:"M7,12 L17,12",id:"Line-5"}),wp.element.createElement("path",{d:"M10,18 L14,18",id:"Line-5"}))))),cartPage:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-470.000000, -500.000000)",fill:"#555D66"},wp.element.createElement("g",{id:"cart-icon",transform:"translate(470.000000, 500.000000)"},wp.element.createElement("g",{id:"Group-6",transform:"translate(2.000000, 3.000000)"},wp.element.createElement("path",{d:"M2.5269723,1 L0,1 C-0.55228475,1 -1,0.55228475 -1,-1.11022302e-16 C-1,-0.55228475 -0.55228475,-1 0,-1 L3.33333333,-1 C3.80393835,-1 4.21086155,-0.671872981 4.31061146,-0.211960997 L6.74215205,10.9990234 L16.2517453,10.9990234 L17.6754416,6 L17.0067139,6 C16.4544291,6 16.0067139,5.55228475 16.0067139,5 C16.0067139,4.44771525 16.4544291,4 17.0067139,4 L19,4 C19.6640252,4 20.143636,4.63527258 19.9617572,5.27390353 L17.968471,12.272927 C17.8460922,12.7026358 17.4535094,12.9990234 17.0067139,12.9990234 L5.93579102,12.9990234 C5.465186,12.9990234 5.0582628,12.6708964 4.95851289,12.2109844 L2.5269723,1 Z",id:"Path-3","fill-rule":"nonzero"}),wp.element.createElement("path",{d:"M13.6266547,1.30878828 C14.0084012,0.909679249 14.6414097,0.895604177 15.0405188,1.27735072 C15.4396278,1.65909727 15.4537029,2.29210579 15.0719563,2.69121482 L11.0068929,6.89568259 C10.6246557,7.29530459 9.99064332,7.30882561 9.59171662,6.92586281 L7.61584318,5.00113813 C7.21742856,4.61866691 7.20450388,3.98563386 7.5869751,3.58721924 C7.96944632,3.18880462 8.60247937,3.17587994 9.00089399,3.55835116 L10.2540618,4.78929076 L13.6266547,1.30878828 Z",id:"Line-6","fill-rule":"nonzero"}),wp.element.createElement("circle",{id:"Oval-2",cx:"7",cy:"17",r:"2"}),wp.element.createElement("circle",{id:"Oval-2",cx:"16",cy:"17",r:"2"}))))))}},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=t.attributes,o=function(e,t,o,l){return wp.element.createElement(u,{label:o},wp.element.createElement(d,null,l.map(function(o){return wp.element.createElement(m,{isDefault:!0,isButton:!0,isPrimary:r[t]===o.value,onClick:function(){return e.setAttributes(n({},t,o.value))}},o.title)})))},l=function(e,t,r){return wp.element.createElement(w,{label:r,checked:e.attributes[t],onChange:function(){return e.setAttributes(n({},t,!e.attributes[t]))}})},a=function(e,t,r,o){return wp.element.createElement(u,{label:r},wp.element.createElement("select",{onChange:function(r){e.setAttributes(n({},t,r.target.value))}},o.map(function(r){return wp.element.createElement("option",{value:r.value,selected:e.attributes[t]==r.value},r.title)})))},i=function(e,t,r){return wp.element.createElement(u,{label:r},wp.element.createElement("input",{type:"text",value:e.attributes[t],onChange:function(r){e.setAttributes(n({},t,r.target.value))}}))},p=function(e,t,r,o){return wp.element.createElement(u,{label:r},wp.element.createElement(g,{controls:o.map(function(r){return{icon:c.a[r.icon],title:r.title,isActive:e.attributes[t]===r.value,className:"ecwid-toolbar-icon",onClick:function(){return e.setAttributes(n({},t,r.value))}}})}))};return{buttonGroup:function(r){var n=e[r];return o(t,n.name,n.title,n.values)},toggle:function(r){var n=e[r];return l(t,n.name,n.title)},select:function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=e[r];return a(t,o.name,n||o.title,o.values)},textbox:function(r){var n=e[r];return builtTextbox(t,n.name,n.title)},toolbar:function(r){var n=e[r];return p(t,n.name,n.title,n.values)},color:function(r){return wp.element.createElement(s.a,{props:t,name:r,title:e[r].title})},defaultCategoryId:function(r){var n=e[r];return n.values&&n.values.length>1?a(t,n.name,n.title,n.values):i(t,n.name,n.title)}}}function l(e){return wp.element.createElement("div",{className:"ec-store-inspector-subheader-row"},wp.element.createElement("label",{className:"ec-store-inspector-subheader"},e))}function a(e){return wp.element.createElement("div",{className:"ec-store-block ec-store-generic-block"},wp.element.createElement("div",{className:"ec-store-block-header"},e.icon,e.title),wp.element.createElement("div",{className:"ec-store-block-content"},e.children),e.showDemoButton&&wp.element.createElement("div",null,wp.element.createElement("a",{className:"button button-primary",href:"admin.php?page=ec-store"},h("Set up your store","ecwid-shopping-cart"))))}function i(e){var t=EcwidGutenbergParams.imagesUrl+e.src;return wp.element.createElement("img",{src:t})}r.d(t,"a",function(){return o}),r.d(t,"c",function(){return l}),r.d(t,"b",function(){return i}),r.d(t,"d",function(){return a});var c=r(0),s=r(6),p=wp.components,d=p.ButtonGroup,m=p.Button,u=p.BaseControl,g=p.Toolbar,w=p.ToggleControl,h=wp.i18n.__},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=(r(3),r(7),r(10),r(13),r(16),r(19),r(22),r(25),r(28),r(31),r(0));wp.blocks.updateCategory("ec-store",{icon:n.a.ecwid})},function(e,t,r){"use strict";var n=r(4),o=(r.n(n),r(5)),l=(r.n(o),r(0)),a=r(1),i=wp.i18n,c=i.__,s=(i._x,wp.blocks.registerBlockType),p=wp.editor.InspectorControls,d=wp.components,m=d.PanelBody,u=(d.PanelRow,d.ToggleControl,d.ButtonGroup,d.Button,d.BaseControl),g=(d.Toolbar,d.ColorPalette,d.ColorIndicator,wp.compose.withState,EcwidGutenbergParams.blockParams["ecwid/store-block"]);s("ecwid/store-block",{title:c("Store Home Page","ecwid-shopping-cart"),icon:l.a.store,category:"ec-store",attributes:g.attributes,description:c("Add storefront (product listing)","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,multiple:!1},edit:function(e){function t(e,t){return wp.element.createElement(u,{label:e},wp.element.createElement("div",{dangerouslySetInnerHTML:{__html:t}}))}var r=e.attributes;e.setAttributes({widgets:""});var n=wp.element.createElement(a.d,{icon:l.a.store,title:c("Store Home Page","ecwid-shopping-cart"),showDemoButton:g.isDemoStore},wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product1"}),wp.element.createElement("div",{className:"ec-store-product2"}),wp.element.createElement("div",{className:"ec-store-product3"})),wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product4"}),wp.element.createElement("div",{className:"ec-store-product5"}),wp.element.createElement("div",{className:"ec-store-product6"}))),o=t("",c('To improve the look and feel of your store and manage your storefront appearance here, please enable the \u201cNext-gen look and feel of the product list on the storefront\u201d option in your store dashboard (\u201c<a href="admin.php?page=ec-store&ec-store-page=whatsnew">Settings \u2192 What\u2019s New</a>\u201d).',"ecwid-shopping-cart")),i=t(c("Display cart icon","ecwid-shopping-cart"),g.customizeMinicartText),s=(t("",c('To improve the look and feel of your product page and manage its appearance here, please enable the \u201cNext-gen look and feel of the product page on the storefront\u201d option in your store dashboard (\u201c<a href="admin.php?page=ec-store&ec-store-page=whatsnew">Settings \u2192 What\u2019s New</a>\u201d).',"ecwid-shopping-cart")),g.isNewProductList),d=g.isNewDetailsPage,w=g.attributes.default_category_id&&g.attributes.default_category_id.values&&g.attributes.default_category_id.values.length>0,h=Object(a.a)(g.attributes,e);return[n,wp.element.createElement(p,null,w&&wp.element.createElement(m,{title:c("Category List Appearance","ecwid-shopping-cart"),initialOpen:!1},s&&[h.select("product_list_category_title_behavior"),"SHOW_TEXT_ONLY"!==r.product_list_category_title_behavior&&[h.buttonGroup("product_list_category_image_size"),h.toolbar("product_list_category_image_aspect_ratio")]],!s&&o),wp.element.createElement(m,{title:c("Product List Appearance","ecwid-shopping-cart"),initialOpen:!1},s&&[h.toggle("product_list_show_product_images"),r.product_list_show_product_images&&[h.buttonGroup("product_list_image_size"),h.toolbar("product_list_image_aspect_ratio")],h.toolbar("product_list_product_info_layout"),h.select("product_list_title_behavior"),h.select("product_list_price_behavior"),h.select("product_list_sku_behavior"),h.select("product_list_buybutton_behavior"),h.toggle("product_list_show_additional_image_on_hover"),h.toggle("product_list_show_frame")],!s&&o),wp.element.createElement(m,{title:c("Product Page Appearance","ecwid-shopping-cart"),initialOpen:!1},d&&[h.select("product_details_layout"),("TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT"===r.product_details_layout||"TWO_COLUMNS_SIDEBAR_ON_THE_LEFT"===r.product_details_layout)&&h.toggle("show_description_under_image"),h.toolbar("product_details_gallery_layout"),Object(a.c)(c("Product sidebar content","ecwid-shopping-cart")),h.toggle("product_details_show_product_name"),h.toggle("product_details_show_breadcrumbs"),h.toggle("product_details_show_product_sku"),h.toggle("product_details_show_product_price"),h.toggle("product_details_show_qty"),h.toggle("product_details_show_number_of_items_in_stock"),h.toggle("product_details_show_in_stock_label"),h.toggle("product_details_show_wholesale_prices"),h.toggle("product_details_show_share_buttons")],!d&&o),w&&wp.element.createElement(m,{title:c("Store Front Page","ecwid-shopping-cart"),initialOpen:!1},h.defaultCategoryId("default_category_id")),wp.element.createElement(m,{title:c("Store Navigation","ecwid-shopping-cart"),initialOpen:!1},h.toggle("show_categories"),h.toggle("show_search"),h.toggle("show_breadcrumbs"),s&&h.toggle("show_footer_menu"),h.toggle("show_signin_link"),h.toggle("product_list_show_sort_viewas_options"),i),wp.element.createElement(m,{title:c("Color settings","ecwid-shopping-cart"),initialOpen:!1},h.color("chameleon_color_button"),h.color("chameleon_color_foreground"),h.color("chameleon_color_price"),h.color("chameleon_color_link"),h.color("chameleon_color_background")))]},save:function(e){var t=["productbrowser"];e.attributes.show_categories&&(t[t.length]="categories"),e.attributes.show_search&&(t[t.length]="search");var r={widgets:t.join(" "),default_category_id:"undefined"!==typeof e.attributes.default_category_id?e.attributes.default_category_id:0};return new wp.shortcode({tag:g.shortcodeName,attrs:r,type:"single"}).string()},deprecated:[{attributes:{widgets:{type:"string"},categories_per_row:{type:"integer"},grid:{type:"string"},list:{type:"integer"},table:{type:"integer"},default_category_id:{type:"integer"},default_product_id:{type:"integer"},category_view:{type:"string"},search_view:{type:"string"},minicart_layout:{type:"string"}},save:function(e){return null}},{attributes:{widgets:{type:"string",default:"productbrowser"},default_category_id:{type:"integer",default:0}},migrate:function(e){return{widgets:e.widgets,default_category_id:e.default_category_id}},save:function(e){for(var t={},r=["widgets","default_category_id"],n=0;n<r.length;n++)t[r[n]]=e.attributes[r[n]];return t.default_product_id=0,new wp.shortcode({tag:g.shortcodeName,attrs:t,type:"single"}).string()}},{save:function(e){return"[ecwid]"}},{save:function(e){return'[ecwid widgets="productbrowser" default_category_id="0" default_product_id="0"]'}},{save:function(e){return'[ecwid widgets="productbrowser" default_category_id="0"]'}}],transforms:{from:[{type:"shortcode",tag:["ecwid","ec_store"],attributes:{default_category_id:{type:"integer",shortcode:function(e){return e.default_category_id}},show_categories:{type:"boolean",shortcode:function(e){return-1!==e.named.widgets.indexOf("categories")}},show_search:{type:"boolean",shortcode:function(e){return-1!==e.named.widgets.indexOf("search")}}},priority:10}]}})},function(e,t){},function(e,t){},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e){function t(e){l(function(t){return{manual:"manual",color:e}}),m.setAttributes(n({},s,e))}var r=e.manual,o=e.color,l=e.setState,s=arguments[0].name,m=arguments[0].props,u=arguments[0].title,g=null===r&&null!==m.attributes[s]&&""!==m.attributes[s]||"manual"===r;g?null!==o&&m.setAttributes(n({},s,o)):m.setAttributes(n({},s,null));var w=m.attributes[s],h=wp.element.createElement("span",null,u,null!==w&&wp.element.createElement(c,{colorValue:m.attributes[s]}));return wp.element.createElement(a,{label:h,className:"ec-store-color-picker"},wp.element.createElement("select",{onChange:function(e){return l(function(e){return{manual:event.target.value,color:e.color}})}},wp.element.createElement("option",{value:"auto",selected:!g},p("Detect automatically","ecwid-shopping-cart")),wp.element.createElement("option",{value:"manual",selected:g},p("Set manually","ecwid-shopping-cart"))),g&&wp.element.createElement(i,{value:w,colors:d,onChange:t}))}r.d(t,"a",function(){return m});var l=wp.components,a=l.BaseControl,i=l.ColorPalette,c=l.ColorIndicator,s=wp.compose.withState,p=wp.i18n.__,d=[{name:p("Pale pink"),slug:"pale-pink",color:"#f78da7"},{name:p("Vivid red"),slug:"vivid-red",color:"#cf2e2e"},{name:p("Luminous vivid orange"),slug:"luminous-vivid-orange",color:"#ff6900"},{name:p("Luminous vivid amber"),slug:"luminous-vivid-amber",color:"#fcb900"},{name:p("Light green cyan"),slug:"light-green-cyan",color:"#7bdcb5"},{name:p("Vivid green cyan"),slug:"vivid-green-cyan",color:"#00d084"},{name:p("Pale cyan blue"),slug:"pale-cyan-blue",color:"#8ed1fc"},{name:p("Vivid cyan blue"),slug:"vivid-cyan-blue",color:"#0693e3"},{name:p("Very light gray"),slug:"very-light-gray",color:"#eeeeee"},{name:p("Cyan bluish gray"),slug:"cyan-bluish-gray",color:"#abb8c3"},{name:p("Very dark gray"),slug:"very-dark-gray",color:"#313131"}],m=s({manual:null,color:null})(o)},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var o=r(8),l=(r.n(o),r(9)),a=(r.n(l),r(0));if(!EcwidGutenbergParams.isDemoStore){var i=wp.i18n,c=i.__,s=i._x,p=wp.blocks.registerBlockType,d=wp.editor.InspectorControls,m=wp.components,u=m.PanelBody,g=m.ToggleControl;wp.compose.withState,wp.element.Fragment;p("ecwid/product-block",{title:c("Product card small","ecwid-shopping-cart"),icon:a.a.product,category:"ec-store",attributes:{id:{type:"integer"},show_picture:{type:"boolean",default:!0},show_title:{type:"boolean",default:!0},show_price:{type:"boolean",default:!0},show_options:{type:"boolean",default:!0},show_qty:{type:"boolean",default:!1},show_addtobag:{type:"boolean",default:!0},show_price_on_button:{type:"boolean",default:!0},show_border:{type:"boolean",default:!0},center_align:{type:"boolean",default:!0}},description:c("Display product with a buy button","ecwid-shopping-cart"),alignWide:!1,supports:{customClassName:!1,className:!1,html:!1,align:!0,isPrivate:!EcwidGutenbergParams.isApiAvailable},edit:function(e){function t(e,t,r){return wp.element.createElement(g,{label:r,checked:e.attributes[t],onChange:function(){return e.setAttributes(n({},t,!e.attributes[t]))}})}function r(e){ecwid_open_product_popup({saveCallback:l,props:e})}var o=e.attributes,l=function(e){var t={id:e.newProps.product.id};EcwidGutenbergParams.products[e.newProps.product.id]={name:e.newProps.product.name,imageUrl:e.newProps.product.thumb},e.originalProps.setAttributes(t)};return[wp.element.createElement("div",{className:"ec-store-block ec-store-block-product"},EcwidGutenbergParams.products&&o.id&&EcwidGutenbergParams.products[o.id]&&wp.element.createElement("div",{className:"ec-store-block-image"},wp.element.createElement("img",{src:EcwidGutenbergParams.products[o.id].imageUrl})),EcwidGutenbergParams.products&&o.id&&EcwidGutenbergParams.products[o.id]&&wp.element.createElement("div",{className:"ec-store-product-title"},EcwidGutenbergParams.products[o.id].name),!o.id&&wp.element.createElement("div",{className:"ec-store-block-product-preview"},a.a.productPreview),!o.id&&wp.element.createElement("div",null,wp.element.createElement("button",{className:"button ec-store-block-button",onClick:function(){var t={saveCallback:l,props:e};ecwid_open_product_popup(t)}},EcwidGutenbergParams.chooseProduct))),wp.element.createElement(d,null,o.id&&wp.element.createElement("div",null,wp.element.createElement("div",{className:"ec-store-inspector-row"},wp.element.createElement("label",{className:"ec-store-inspector-subheader"},c("Displayed product","ecwid-shopping-cart"))),wp.element.createElement("div",{className:"ec-store-inspector-row"},EcwidGutenbergParams.products&&EcwidGutenbergParams.products[o.id]&&wp.element.createElement("label",null,EcwidGutenbergParams.products[o.id].name),wp.element.createElement("button",{className:"button",onClick:function(){return r(e)}},c("Change","ecwid-shopping-cart")))),!o.id&&wp.element.createElement("div",{className:"ec-store-inspector-row"},wp.element.createElement("button",{className:"button",onClick:function(){return r(e)}},c("Choose product","ecwid-shopping-cart"))),wp.element.createElement(u,{title:s("Content","gutenberg-product-block","ecwid-shopping-cart"),initialOpen:!1},t(e,"show_picture",c("Picture","ecwid-shopping-cart")),t(e,"show_title",c("Title","ecwid-shopping-cart")),t(e,"show_price",c("Price","ecwid-shopping-cart")),t(e,"show_options",c("Options","ecwid-shopping-cart")),t(e,"show_qty",c("Quantity","ecwid-shopping-cart")),t(e,"show_addtobag",c("\xabBuy now\xbb button","ecwid-shopping-cart"))),wp.element.createElement(u,{title:c("Appearance","ecwid-shopping-cart"),initialOpen:!1},t(e,"show_price_on_button",c("Show price inside the \xabBuy now\xbb button","ecwid-shopping-cart")),t(e,"show_border",c("Add border","ecwid-shopping-cart")),t(e,"center_align",c("Center align on a page","ecwid-shopping-cart"))))]},save:function(e){return!1}})}},function(e,t){},function(e,t){},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var o=r(11),l=(r.n(o),r(12)),a=(r.n(l),r(0));if(!EcwidGutenbergParams.isDemoStore){var i=wp.i18n,c=i.__,s=(i._x,wp.blocks),p=(s.BlockControls,s.registerBlockType),d=wp.editor.InspectorControls,m=wp.components,u=m.PanelBody,g=m.ToggleControl;wp.compose.withState,wp.element.Fragment;p("ec-store/buynow",{title:c("Buy Now Button","ecwid-shopping-cart"),icon:a.a.button,category:"ec-store",attributes:{id:{type:"integer"},show_price_on_button:{type:"boolean",default:!0},center_align:{type:"boolean",default:!0}},description:c("Display a buy button","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,align:!0,alignWide:!1,isPrivate:!EcwidGutenbergParams.isApiAvailable},edit:function(e){function t(e,t,r){return wp.element.createElement(g,{label:r,checked:e.attributes[t],onChange:function(){return e.setAttributes(n({},t,!e.attributes[t]))}})}function r(e){ecwid_open_product_popup({saveCallback:l,props:e})}var o=e.attributes,l=function(e){var t={id:e.newProps.id};EcwidGutenbergParams.products[e.newProps.id]={name:e.newProps.product.name,imageUrl:e.newProps.product.thumb},e.originalProps.setAttributes(t)};return[wp.element.createElement("div",{className:"ec-store-block ec-store-block-buynow"},!o.id&&wp.element.createElement("div",null,wp.element.createElement("div",{className:"image"}),wp.element.createElement("div",{className:"button-container"},wp.element.createElement("button",{className:"button ec-store-block-button",onClick:function(){var t={saveCallback:l,props:e};ecwid_open_product_popup(t)}},EcwidGutenbergParams.chooseProduct))),o.id&&wp.element.createElement("div",{className:"image"})),wp.element.createElement(d,null,o.id&&wp.element.createElement("div",null,wp.element.createElement("div",{className:"ec-store-inspector-row"},wp.element.createElement("label",{className:"ec-store-inspector-subheader"},c("Linked product","ecwid-shopping-cart"))),wp.element.createElement("div",{className:"ec-store-inspector-row"},EcwidGutenbergParams.products&&EcwidGutenbergParams.products[o.id]&&wp.element.createElement("label",null,EcwidGutenbergParams.products[o.id].name),wp.element.createElement("button",{className:"button",onClick:function(){return r(e)}},c("Change","ecwid-shopping-cart")))),!o.id&&wp.element.createElement("div",{className:"ec-store-inspector-row"},wp.element.createElement("button",{className:"button",onClick:function(){return r(e)}},c("Choose product","ecwid-shopping-cart"))),wp.element.createElement("br",null),wp.element.createElement(u,{title:c("Appearance","ecwid-shopping-cart"),initialOpen:!1},t(e,"show_price_on_button",c("Show price inside the \xabBuy now\xbb button","ecwid-shopping-cart")),t(e,"center_align",c("Center align on a page","ecwid-shopping-cart"))))]},save:function(e){return!1}})}},function(e,t){},function(e,t){},function(e,t,r){"use strict";var n=r(14),o=(r.n(n),r(15)),l=(r.n(o),r(0));if(!EcwidGutenbergParams.isDemoStore){var a=wp.i18n,i=a.__;a._x;(0,wp.blocks.registerBlockType)("ec-store/search",{title:i("Product Search Box","ecwid-shopping-cart"),icon:l.a.search,category:"ec-store",description:i("Display search box","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,isPrivate:!EcwidGutenbergParams.isApiAvailable},edit:function(e){e.attributes;return[wp.element.createElement("div",{className:"ec-store-block ec-store-block-search"},wp.element.createElement("div",{class:"image"}))]},save:function(e){return!1}})}},function(e,t){},function(e,t){},function(e,t,r){"use strict";var n=r(17),o=(r.n(n),r(18)),l=(r.n(o),r(0));if(!EcwidGutenbergParams.isDemoStore){var a=wp.editor.InspectorControls,i=wp.i18n,c=i.__,s=(i._x,wp.blocks.registerBlockType),p=EcwidGutenbergParams.blockParams["ec-store/categories"];s("ec-store/categories",{title:c("Store Categories Menu","ecwid-shopping-cart"),icon:l.a.categories,category:"ec-store",description:c("Display categories navigation bar","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,isPrivate:!EcwidGutenbergParams.isApiAvailable},edit:function(e){var t=(e.attributes,wp.element.createElement("div",{className:"ec-store-block ec-store-block-categories"},wp.element.createElement("div",{className:"ec-store-block-header"},l.a.categories,c("Categories","ecwid-shopping-cart")))),r=c('The block is hidden because you don\'t have categories in your store. <a target="_blank" href="admin.php?page=ec-store-admin-category-id-0-mode-edit">Add categories.</a>',"ecwid-shopping-cart");return[t,wp.element.createElement(a,null,wp.element.createElement("div",{style:{height:"10px"}}),!p.has_categories&&wp.element.createElement("div",{dangerouslySetInnerHTML:{__html:r}}))]},save:function(e){return!1}})}},function(e,t){},function(e,t){},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var o=r(20),l=(r.n(o),r(21)),a=(r.n(l),r(0));if(!EcwidGutenbergParams.isDemoStore){var i=wp.i18n,c=i.__,s=(i._x,wp.editor.InspectorControls),p=wp.components,d=p.PanelBody,m=p.BaseControl;(0,wp.blocks.registerBlockType)("ec-store/minicart",{title:c("Shopping Cart Icon","ecwid-shopping-cart"),icon:a.a.cart,category:"ec-store",description:c("Display shopping bag link and summary","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,isPrivate:!EcwidGutenbergParams.isApiAvailable,align:!0,alignWide:!1},attributes:EcwidGutenbergParams.minicartAttributes,edit:function(e){function t(e,t,r,o){return wp.element.createElement(m,{label:r},wp.element.createElement("select",{className:"ec-store-inspector-select",onChange:function(r){e.setAttributes(n({},t,r.target.value))}},o.map(function(r){return wp.element.createElement("option",{value:r.value,selected:e.attributes[t]==r.value},r.title)})))}function r(e,r,n){var o=EcwidGutenbergParams.minicartAttributes[r];return"undefined"===typeof n&&(n=o.type),t(e,o.name,o.title,o.values)}e.attributes;return[wp.element.createElement("div",{className:"ec-store-block ec-store-block-minicart"},wp.element.createElement("div",{className:"image"})),wp.element.createElement(s,null,wp.element.createElement(d,{title:c("Appearance","ecwid-shopping-cart"),initialOpen:!0},r(e,"layout","select"),r(e,"icon","select"),r(e,"fixed_shape","select")))]},save:function(e){return!1}})}},function(e,t){},function(e,t){},function(e,t,r){"use strict";var n=r(23),o=(r.n(n),r(24)),l=(r.n(o),r(0)),a=r(1),i=wp.i18n,c=i.__,s=(i._x,l.a,wp.blocks.registerBlockType),p=wp.editor.InspectorControls,d=wp.components,m=d.PanelBody,u=d.BaseControl,g=EcwidGutenbergParams.blockParams["ec-store/category-page"];s("ec-store/category-page",{title:c("Store Category Page","ecwid-shopping-cart"),icon:l.a.category,category:"ec-store",attributes:EcwidGutenbergStoreBlockParams.attributes,description:c("Display category page","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,multiple:!1},edit:function(e){function t(e,t){return wp.element.createElement(u,{label:e},wp.element.createElement("div",{dangerouslySetInnerHTML:{__html:t}}))}var r=e.attributes;e.setAttributes({widgets:""});var n=wp.element.createElement(a.d,{icon:l.a.category,title:c("Store Category Page","ecwid-shopping-cart"),showDemoButton:g.isDemoStore},wp.element.createElement("div",{className:"ec-store-category-products"},wp.element.createElement("div",{className:"ec-store-category-product1"}),wp.element.createElement("div",{className:"ec-store-category-product2"}),wp.element.createElement("div",{className:"ec-store-category-product3"})),wp.element.createElement("div",{className:"ec-store-category-products"},wp.element.createElement("div",{className:"ec-store-category-product4"}),wp.element.createElement("div",{className:"ec-store-category-product5"}),wp.element.createElement("div",{className:"ec-store-category-product6"}))),o=t("",c('To improve the look and feel of your store and manage your storefront appearance here, please enable the \u201cNext-gen look and feel of the product list on the storefront\u201d option in your store dashboard (\u201c<a href="admin.php?page=ec-store&ec-store-page=whatsnew">Settings \u2192 What\u2019s New</a>\u201d).',"ecwid-shopping-cart")),i=t(c("Display cart icon","ecwid-shopping-cart"),g.customizeMinicartText),s=g.isNewProductList,d=g.isNewDetailsPage,w=Object(a.a)(g.attributes,e);return[n,wp.element.createElement(p,null,wp.element.createElement("div",{style:{height:"10px"}}),!EcwidGutenbergParams.hasCategories&&wp.element.createElement("div",{style:{margin:"10px"}},wp.element.createElement("a",{href:"admin.php?page=ec-store-admin-category-id-0-mode-edit",target:"_blank",class:"button button-primary"},c("Add categories","ecwid-shopping-cart"))),EcwidGutenbergParams.hasCategories&&[!e.attributes.default_category_id&&w.select("default_category_id",c("Select category","ecwid-shopping-cart")),e.attributes.default_category_id&&w.select("default_category_id",c("Selected category","ecwid-shopping-cart"))],wp.element.createElement(m,{title:c("Category List Appearance","ecwid-shopping-cart"),initialOpen:!1},s&&[w.select("product_list_category_title_behavior"),"SHOW_TEXT_ONLY"!==r.product_list_category_title_behavior&&[w.buttonGroup("product_list_category_image_size"),w.toolbar("product_list_category_image_aspect_ratio")]],!s&&o),wp.element.createElement(m,{title:c("Product List Appearance","ecwid-shopping-cart"),initialOpen:!1},s&&[w.toggle("product_list_show_product_images"),r.product_list_show_product_images&&[w.buttonGroup("product_list_image_size"),w.toolbar("product_list_image_aspect_ratio")],w.toolbar("product_list_product_info_layout"),w.select("product_list_title_behavior"),w.select("product_list_price_behavior"),w.select("product_list_sku_behavior"),w.select("product_list_buybutton_behavior"),w.toggle("product_list_show_additional_image_on_hover"),w.toggle("product_list_show_frame")],!s&&o),wp.element.createElement(m,{title:c("Product Page Appearance","ecwid-shopping-cart"),initialOpen:!1},d&&[w.select("product_details_layout"),("TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT"===r.product_details_layout||"TWO_COLUMNS_SIDEBAR_ON_THE_LEFT"===r.product_details_layout)&&w.toggle("show_description_under_image"),w.toolbar("product_details_gallery_layout"),Object(a.c)(c("Product sidebar content","ecwid-shopping-cart")),w.toggle("product_details_show_product_name"),w.toggle("product_details_show_breadcrumbs"),w.toggle("product_details_show_product_sku"),w.toggle("product_details_show_product_price"),w.toggle("product_details_show_qty"),w.toggle("product_details_show_number_of_items_in_stock"),w.toggle("product_details_show_in_stock_label"),w.toggle("product_details_show_wholesale_prices"),w.toggle("product_details_show_share_buttons")],!d&&productDetailsMigrationWarning),wp.element.createElement(m,{title:c("Store Navigation","ecwid-shopping-cart"),initialOpen:!1},w.toggle("show_categories"),w.toggle("show_search"),w.toggle("show_breadcrumbs"),s&&w.toggle("show_footer_menu"),w.toggle("show_signin_link"),w.toggle("product_list_show_sort_viewas_options"),i),wp.element.createElement(m,{title:c("Color settings","ecwid-shopping-cart"),initialOpen:!1},w.color("chameleon_color_button"),w.color("chameleon_color_foreground"),w.color("chameleon_color_price"),w.color("chameleon_color_link"),w.color("chameleon_color_background")))]},save:function(e){return null}})},function(e,t){},function(e,t){},function(e,t,r){"use strict";var n=r(26),o=(r.n(n),r(27)),l=(r.n(o),r(0)),a=r(1),i=wp.i18n,c=i.__,s=(i._x,wp.blocks.registerBlockType),p=wp.editor.InspectorControls,d=wp.components,m=d.PanelBody,u=d.BaseControl,g=(wp.compose.withState,EcwidGutenbergParams.blockParams["ec-store/product-page"]);s("ec-store/product-page",{title:c("Product Card Large","ecwid-shopping-cart"),icon:l.a.product,category:"ec-store",attributes:g.attributes,description:c("Display product page with description and a buy button","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,multiple:!1},edit:function(e){function t(e){ecwid_open_product_popup({saveCallback:o,props:e})}function r(e,t){return wp.element.createElement(u,{label:e},wp.element.createElement("div",{dangerouslySetInnerHTML:{__html:t}}))}var n=e.attributes,o=function(e){var t={default_product_id:e.newProps.product.id};EcwidGutenbergParams.products[e.newProps.product.id]={name:e.newProps.product.name,imageUrl:e.newProps.product.thumb},e.originalProps.setAttributes(t)},i=wp.element.createElement(a.d,{icon:l.a.product,title:c("Product Card Large","ecwid-shopping-cart")},wp.element.createElement(a.b,{src:"product-page-preview.png"}),!n.default_product_id&&wp.element.createElement("div",{className:"button-container"},wp.element.createElement("button",{className:"button ec-store-block-button",onClick:function(){var t={saveCallback:o,props:e};ecwid_open_product_popup(t)}},EcwidGutenbergParams.chooseProduct))),s=r("",c('To improve the look and feel of your store and manage your storefront appearance here, please enable the \u201cNext-gen look and feel of the product list on the storefront\u201d option in your store dashboard (\u201c<a href="admin.php?page=ec-store&ec-store-page=whatsnew">Settings \u2192 What\u2019s New</a>\u201d).',"ecwid-shopping-cart")),d=(r("",c('To improve the look and feel of your product page and manage your its appearance here, please enable the \u201cNext-gen look and feel of the product page on the storefront\u201d option in your store dashboard (\u201c<a href="admin.php?page=ec-store&ec-store-page=whatsnew">Settings \u2192 What\u2019s New</a>\u201d).',"ecwid-shopping-cart")),g.isNewDetailsPage),w=Object(a.a)(g.attributes,e);return[i,wp.element.createElement(p,null,n.default_product_id>0&&wp.element.createElement("div",null,wp.element.createElement("div",{className:"ec-store-inspector-row"},wp.element.createElement("label",{className:"ec-store-inspector-subheader"},c("Linked product","ecwid-shopping-cart"))),wp.element.createElement("div",{className:"ec-store-inspector-row"},EcwidGutenbergParams.products&&EcwidGutenbergParams.products[n.default_product_id]&&wp.element.createElement("label",null,EcwidGutenbergParams.products[n.default_product_id].name),wp.element.createElement("button",{className:"button",onClick:function(){return t(e)}},c("Change","ecwid-shopping-cart")))),!n.default_product_id&&wp.element.createElement("div",{className:"ec-store-inspector-row"},wp.element.createElement("button",{className:"button",onClick:function(){return t(e)}},c("Choose product","ecwid-shopping-cart"))),wp.element.createElement(m,{title:c("Appearance","ecwid-shopping-cart"),initialOpen:!1},d&&[w.select("product_details_layout"),("TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT"===n.product_details_layout||"TWO_COLUMNS_SIDEBAR_ON_THE_LEFT"===n.product_details_layout)&&w.toggle("show_description_under_image"),w.toolbar("product_details_gallery_layout"),Object(a.c)(c("Product sidebar content","ecwid-shopping-cart")),w.toggle("product_details_show_product_name"),w.toggle("product_details_show_breadcrumbs"),w.toggle("product_details_show_product_sku"),w.toggle("product_details_show_product_price"),w.toggle("product_details_show_qty"),w.toggle("product_details_show_number_of_items_in_stock"),w.toggle("product_details_show_in_stock_label"),w.toggle("product_details_show_wholesale_prices"),w.toggle("product_details_show_share_buttons")],!d&&s),wp.element.createElement(m,{title:c("Color settings","ecwid-shopping-cart"),initialOpen:!1},w.color("chameleon_color_button"),w.color("chameleon_color_foreground"),w.color("chameleon_color_price"),w.color("chameleon_color_link"),w.color("chameleon_color_background")))]},save:function(e){return null}})},function(e,t){},function(e,t){},function(e,t,r){"use strict";var n=r(29),o=(r.n(n),r(30)),l=(r.n(o),r(0)),a=r(1),i=wp.i18n,c=i.__,s=(i._x,wp.blocks.registerBlockType),p=wp.editor.InspectorControls,d=wp.components,m=d.PanelBody,u=(d.PanelRow,d.ToggleControl,d.ButtonGroup,d.Button,d.BaseControl),g=(d.Toolbar,d.ColorPalette,d.ColorIndicator,wp.compose.withState,EcwidGutenbergParams.blockParams["ec-store/filters-page"]);s("ec-store/filters-page",{title:c("Product Search and filters","ecwid-shopping-cart"),icon:l.a.filters,category:"ec-store",attributes:g.attributes,description:c("Display search page with filters on a side","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,multiple:!1},edit:function(e){function t(e,t){return wp.element.createElement(u,{label:e},wp.element.createElement("div",{dangerouslySetInnerHTML:{__html:t}}))}var r=e.attributes,n=wp.element.createElement(a.d,{icon:l.a.filters,title:c("Search and Filters","ecwid-shopping-cart")},wp.element.createElement(a.b,{src:"filter-preview.png"})),o=t("",c('You can enable filters in the store settings: (\u201c<a target="_blank" href="admin.php?page=ec-store-admin-product-filters-mode-main">Settings \u2192 Product Filters</a>\u201d).',"ecwid-shopping-cart")),i=t("",c('To improve the look and feel of your store and manage your storefront appearance here, please enable the \u201cNext-gen look and feel of the product list on the storefront\u201d option in your store dashboard (\u201c<a href="admin.php?page=ec-store&ec-store-page=whatsnew">Settings \u2192 What\u2019s New</a>\u201d).',"ecwid-shopping-cart")),s=g.isNewProductList,d=Object(a.a)(g.attributes,e);return[n,wp.element.createElement(p,null,wp.element.createElement(m,{title:c("Filters","ecwid-shopping-cart"),initialOpen:!1},!g.filtersEnabled&&o,g.filtersEnabled&&[d.select("product_filters_position_search_page")]),wp.element.createElement(m,{title:c("Product List Appearance","ecwid-shopping-cart"),initialOpen:!1},s&&[d.toggle("product_list_show_product_images"),r.product_list_show_product_images&&[d.buttonGroup("product_list_image_size"),d.toolbar("product_list_image_aspect_ratio")],d.toolbar("product_list_product_info_layout"),d.select("product_list_title_behavior"),d.select("product_list_price_behavior"),d.select("product_list_sku_behavior"),d.select("product_list_buybutton_behavior"),d.toggle("product_list_show_additional_image_on_hover"),d.toggle("product_list_show_frame")],!s&&i),wp.element.createElement(m,{title:c("Store Navigation","ecwid-shopping-cart"),initialOpen:!1},d.toggle("show_categories"),d.toggle("show_breadcrumbs"),s&&d.toggle("show_footer_menu"),d.toggle("show_signin_link"),d.toggle("product_list_show_sort_viewas_options")),wp.element.createElement(m,{title:c("Color settings","ecwid-shopping-cart"),initialOpen:!1},d.color("chameleon_color_button"),d.color("chameleon_color_foreground"),d.color("chameleon_color_price"),d.color("chameleon_color_link"),d.color("chameleon_color_background")))]},save:function(e){return null}})},function(e,t){},function(e,t){},function(e,t,r){"use strict";var n=r(32),o=(r.n(n),r(33)),l=(r.n(o),r(0)),a=r(1),i=wp.i18n,c=i.__,s=(i._x,wp.blocks.registerBlockType),p=(wp.editor.InspectorControls,wp.components),d=(p.PanelBody,p.PanelRow,p.ToggleControl,p.ButtonGroup,p.Button,p.BaseControl,p.Toolbar,p.ColorPalette,p.ColorIndicator,wp.compose.withState,EcwidGutenbergParams.blockParams["ec-store/cart-page"]);s("ec-store/cart-page",{title:c("Cart and Checkout","ecwid-shopping-cart"),icon:l.a.cartPage,category:"ec-store",attributes:d.attributes,description:c("Display shopping cart and checkout page","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,multiple:!1},edit:function(e){e.attributes;return[wp.element.createElement(a.d,{icon:l.a.cartPage,title:c("Cart and Checkout","ecwid-shopping-cart")},wp.element.createElement(a.b,{src:"cart-page-preview.png"}))]},save:function(e){return null}})},function(e,t){},function(e,t){}]);
1
+ !function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var r={};t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=2)}([function(e,t,r){"use strict";r.d(t,"a",function(){return n});var n={ecwid:wp.element.createElement("svg",{version:"1.1",x:"0px",y:"0px",viewBox:"0 0 20 20","enable-background":"new 0 0 20 20"},wp.element.createElement("path",{fill:"#555d66",d:"M15.32,15.58c-0.37,0-0.66,0.3-0.66,0.67c0,0.37,0.3,0.67,0.66,0.67c0.37,0,0.67-0.3,0.67-0.67 C15.98,15.88,15.69,15.58,15.32,15.58z M15.45,0H4.55C2.04,0,0,2.04,0,4.55v10.91C0,17.97,2.04,20,4.55,20h10.91c2.51,0,4.55-2.04,4.55-4.55V4.55 C20,2.04,17.96,0,15.45,0z M12.97,4.94C13.54,4.94,14,5.4,14,5.96s-0.46,1.03-1.03,1.03c-0.57,0-1.03-0.46-1.03-1.03 C11.95,5.4,12.41,4.94,12.97,4.94z M12.97,8.02c0.57,0,1.03,0.46,1.03,1.03c0,0.57-0.46,1.03-1.03,1.03c-0.57,0-1.03-0.46-1.03-1.03 C11.95,8.48,12.41,8.02,12.97,8.02z M9.98,4.94c0.57,0,1.03,0.46,1.03,1.03s-0.46,1.03-1.03,1.03c-0.57,0-1.03-0.46-1.03-1.03 C8.95,5.4,9.41,4.94,9.98,4.94z M9.98,8.02c0.57,0,1.03,0.46,1.03,1.03s-0.46,1.03-1.03,1.03c-0.57,0-1.03-0.46-1.03-1.03 C8.95,8.48,9.41,8.02,9.98,8.02z M7.03,4.94c0.57,0,1.03,0.46,1.03,1.03S7.6,6.99,7.03,6.99C6.46,6.99,6,6.53,6,5.96 C6,5.4,6.46,4.94,7.03,4.94z M7.03,8.02c0.57,0,1.03,0.46,1.03,1.03s-0.46,1.03-1.03,1.03C6.46,10.08,6,9.62,6,9.05 C6,8.48,6.46,8.02,7.03,8.02z M4.6,18.02c-1.02,0-1.86-0.83-1.86-1.86c0-1.03,0.83-1.86,1.86-1.86c1.03,0,1.86,0.83,1.86,1.86 C6.45,17.19,5.62,18.02,4.6,18.02z M15.32,18.1c-1.02,0-1.86-0.83-1.86-1.86c0-1.03,0.83-1.86,1.86-1.86c1.03,0,1.86,0.83,1.86,1.86 C17.17,17.27,16.34,18.1,15.32,18.1z M18.48,2.79l-1.92,7.14c-0.51,1.91-2.03,3.1-4,3.1H7.2c-1.91,0-3.26-1.09-3.84-2.91L1.73,5 C1.7,4.9,1.72,4.79,1.78,4.71c0.06-0.09,0.16-0.14,0.27-0.14l0.31,0c0.75,0,1.41,0.49,1.64,1.2l1.2,3.76 c0.32,1.02,1.26,1.7,2.33,1.7h4.81c1.1,0,2.08-0.74,2.36-1.81l1.55-5.78c0.2-0.75,0.89-1.28,1.67-1.28h0.24 c0.1,0,0.2,0.05,0.26,0.13C18.48,2.58,18.5,2.68,18.48,2.79z M4.6,15.5c-0.37,0-0.66,0.3-0.66,0.67c0,0.37,0.3,0.67,0.66,0.67c0.37,0,0.67-0.3,0.67-0.67 S4.96,15.5,4.6,15.5z"})),store:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-234.000000, -324.000000)",fill:"#555D66","fill-rule":"nonzero"},wp.element.createElement("g",{id:"store-icon",transform:"translate(234.000000, 324.000000)"},wp.element.createElement("path",{d:"M9,20.4893188 L7,20.4893188 L7,14 C7,13.4477153 7.44771525,13 8,13 L16,13 C16.5522847,13 17,13.4477153 17,14 L17,20.4893188 C16.260376,20.4893188 15.5929565,20.4893188 15,20.4893188 L15,15 L9,15 L9,20.4893188 Z",id:"Rectangle-3"}),wp.element.createElement("path",{d:"M20,10 L22,10 L22,21.0006104 C22,21.5528951 21.5522847,22.0006104 21,22.0006104 L3,22.0006104 C2.44771525,22.0006104 2,21.5528951 2,21.0006104 L2,10 L4,10 L4,20.0006104 L20,20.0006104 L20,10 Z",id:"Rectangle-3"}),wp.element.createElement("path",{d:"M2,6.5 C2,7.88071187 3.11928813,9 4.5,9 C5.18185515,9 5.81786053,8.72707728 6.28575907,8.24959145 L7,7.52071565 L7.71424093,8.24959145 C8.18213947,8.72707728 8.81814485,9 9.5,9 C10.1818552,9 10.8178605,8.72707728 11.2857591,8.24959145 L12,7.52071565 L12.7142409,8.24959145 C13.1821395,8.72707728 13.8181448,9 14.5,9 C15.1818552,9 15.8178605,8.72707728 16.2857591,8.24959145 L17,7.52071565 L17.7142409,8.24959145 C18.1821395,8.72707728 18.8181448,9 19.5,9 C20.8807119,9 22,7.88071187 22,6.5 C22,5.81342077 21.7917279,4.97737648 21.3637104,4 L2.63518632,4 C2.20791709,4.97255801 2,5.80837301 2,6.5 Z M4.5,11 C2.01471863,11 4.4408921e-16,8.98528137 0,6.5 C0,5.33310646 0.374574518,4.02209564 1.10468286,2.55457075 L1.38058736,2 L22.6207487,2 L22.8961752,2.55629959 C23.6256977,4.02977127 24,5.33982925 24,6.5 C24,8.98528137 21.9852814,11 19.5,11 C18.5937006,11 17.7289225,10.73006 17,10.2422809 C16.2710775,10.73006 15.4062994,11 14.5,11 C13.5937006,11 12.7289225,10.73006 12,10.2422809 C11.2710775,10.73006 10.4062994,11 9.5,11 C8.59370056,11 7.72892246,10.73006 7,10.2422809 C6.27107754,10.73006 5.40629944,11 4.5,11 Z",id:"Combined-Shape"}))))),product:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-352.000000, -324.000000)",fill:"#555D66","fill-rule":"nonzero"},wp.element.createElement("g",{id:"icon-product",transform:"translate(352.000000, 324.000000)"},wp.element.createElement("path",{d:"M4,9 L4,20 L20,20 L20,9 L4,9 Z M2,7 L22,7 L22,22 L2,22 L2,7 Z",id:"Rectangle-2-Copy-2"}),wp.element.createElement("path",{d:"M9,7 L15,7 L15,15 L12.0361633,14 L9,15 L9,7 Z M11,9 L11,12 L12.0361633,11.5393066 L13,12 L13,9 L11,9 Z",id:"Combined-Shape"}),wp.element.createElement("polygon",{id:"Line-3",points:"13 9 11 9 11 2 13 2"}),wp.element.createElement("polygon",{id:"Rectangle-2-Copy-2",points:"17.0387503 4 19.4387503 7 22 7 18 2 6 2 2 7 4.56124969 7 6.96124969 4"}))))),aspect169:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"9",y:"14",width:"22",height:"12",rx:"2"}))),aspect916:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"}," ",wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"14",y:"9",width:"12",height:"22",rx:"2"}))),aspect11:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"12",y:"12",width:"16",height:"16",rx:"2"}))),aspect34:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"12",y:"10",width:"16",height:"20",rx:"2"}))),aspect43:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"10",y:"12",width:"20",height:"16",rx:"2"}))),textalignleft:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"13",y:"13",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"16",width:"9",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"19",width:"13",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"22",width:"9",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"25",width:"14",height:"2"}))),textaligncenter:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"13",y:"13",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"16",y:"16",width:"8",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"14",y:"19",width:"12",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"16",y:"22",width:"8",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"25",width:"14",height:"2"}))),textalignright:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"13",y:"13",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"18",y:"16",width:"9",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"14",y:"19",width:"13",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"18",y:"22",width:"9",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"25",width:"14",height:"2"}))),textalignjustify:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",zoomAndPan:"1.5",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"13",y:"13",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"16",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"19",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"22",width:"14",height:"2"}),wp.element.createElement("rect",{fill:"#000000",x:"13",y:"25",width:"14",height:"2"}))),productLayout3Columns:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",transform:"translate(13.000000, 19.500000) rotate(-270.000000) translate(-13.000000, -19.500000) ",x:"3.5",y:"16.5",width:"19",height:"6",rx:"1"}),wp.element.createElement("rect",{fill:"#000000",x:"18",y:"10",width:"5",height:"19"}),wp.element.createElement("rect",{fill:"#000000",x:"25",y:"10",width:"5",height:"8"}),wp.element.createElement("rect",{fill:"#000000",x:"25",y:"19",width:"5",height:"10"}))),productLayout2ColumnsLeft:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("rect",{fill:"#000000",x:"17",y:"10",width:"13",height:"19",rx:"1"}),wp.element.createElement("rect",{fill:"#000000",x:"10",y:"10",width:"5",height:"5"}),wp.element.createElement("rect",{fill:"#000000",x:"10",y:"17",width:"5",height:"12"}))),productLayout2ColumnsRight:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(10.000000, 10.000000)",fill:"#000000"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"19",rx:"1"}),wp.element.createElement("rect",{x:"15",y:"0",width:"5",height:"5"}),wp.element.createElement("rect",{x:"15",y:"7",width:"5",height:"12"})))),productLayout2ColumnsBottom:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(10.000000, 10.000000)",fill:"#000000"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"12",rx:"1"}),wp.element.createElement("rect",{x:"15",y:"0",width:"5",height:"12"}),wp.element.createElement("rect",{x:"0",y:"14",width:"20",height:"5"})))),galleryLayoutHorizontal:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(20.000000, 20.500000) rotate(-180.000000) translate(-20.000000, -20.500000) translate(10.000000, 11.000000)",fill:"#000000","fill-rule":"nonzero"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"19",rx:"1"}),wp.element.createElement("rect",{x:"15",y:"0",width:"5",height:"6"}),wp.element.createElement("rect",{x:"15",y:"14",width:"5",height:"5"}),wp.element.createElement("rect",{x:"15",y:"7",width:"5",height:"6"})))),galleryLayoutVertical:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(19.500000, 20.000000) rotate(-270.000000) translate(-19.500000, -20.000000) translate(9.500000, 10.500000)",fill:"#000000","fill-rule":"nonzero"},wp.element.createElement("rect",{x:"0",y:"-1.13686838e-13",width:"13",height:"19",rx:"1"}),wp.element.createElement("rect",{x:"15",y:"-1.13686838e-13",width:"5",height:"6"}),wp.element.createElement("rect",{x:"15",y:"7",width:"5",height:"5"}),wp.element.createElement("rect",{x:"15",y:"13",width:"5",height:"6"})))),galleryLayoutFeed:wp.element.createElement("svg",{width:"40px",height:"40px",viewBox:"0 0 40 40",version:"1.1"},wp.element.createElement("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{transform:"translate(20.500000, 12.500000) rotate(-270.000000) translate(-20.500000, -12.500000) translate(14.000000, 3.000000)",fill:"#000000","fill-rule":"nonzero"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"19",rx:"1"})),wp.element.createElement("g",{transform:"translate(20.500000, 27.500000) rotate(-270.000000) translate(-20.500000, -27.500000) translate(14.000000, 18.000000)",fill:"#000000","fill-rule":"nonzero"},wp.element.createElement("rect",{x:"0",y:"0",width:"13",height:"19",rx:"1"})))),cart:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-352.000000, -415.000000)",fill:"#555D66"},wp.element.createElement("g",{id:"cart-icon",transform:"translate(352.000000, 415.000000)"},wp.element.createElement("path",{d:"M4.5269723,4 L2,4 C1.44771525,4 1,3.55228475 1,3 C1,2.44771525 1.44771525,2 2,2 L5.33333333,2 C5.80393835,2 6.21086155,2.32812702 6.31061146,2.788039 L7.22413999,7 L21,7 C21.6640252,7 22.143636,7.63527258 21.9617572,8.27390353 L19.968471,15.272927 C19.8460922,15.7026358 19.4535094,15.9990234 19.0067139,15.9990234 L7.93579102,15.9990234 C7.465186,15.9990234 7.0582628,15.6708964 6.95851289,15.2109844 L4.5269723,4 Z M7.65791824,9 L8.74215205,13.9990234 L18.2517453,13.9990234 L19.6754416,9 L7.65791824,9 Z",id:"Path-3","fill-rule":"nonzero"}),wp.element.createElement("circle",{id:"Oval-2",cx:"9",cy:"20",r:"2"}),wp.element.createElement("circle",{id:"Oval-2",cx:"18",cy:"20",r:"2"}))))),search:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-469.000000, -324.000000)",fill:"#555D66","fill-rule":"nonzero"},wp.element.createElement("g",{id:"search-icon",transform:"translate(469.000000, 324.000000)"},wp.element.createElement("path",{d:"M3.83470744,16.348799 C3.83470744,15.7965143 4.28242269,15.348799 4.83470744,15.348799 C5.38699219,15.348799 5.83470744,15.7965143 5.83470744,16.348799 L5.81335241,21.7511152 C5.81335241,22.3033999 5.36563716,22.7511152 4.81335241,22.7511152 C4.26106766,22.7511152 3.81335241,22.3033999 3.81335241,21.7511152 L3.83470744,16.348799 Z",id:"Line-2",transform:"translate(4.824030, 19.049957) scale(-1, 1) rotate(-45.000000) translate(-4.824030, -19.049957) "}),wp.element.createElement("path",{d:"M13,18 C16.8659932,18 20,14.8659932 20,11 C20,7.13400675 16.8659932,4 13,4 C9.13400675,4 6,7.13400675 6,11 C6,14.8659932 9.13400675,18 13,18 Z M13,20 C8.02943725,20 4,15.9705627 4,11 C4,6.02943725 8.02943725,2 13,2 C17.9705627,2 22,6.02943725 22,11 C22,15.9705627 17.9705627,20 13,20 Z",id:"Oval",transform:"translate(13.000000, 11.000000) scale(-1, 1) translate(-13.000000, -11.000000) "}),wp.element.createElement("path",{d:"M17,6 C17.5522847,6 18,6.44771525 18,7 C18,7.55228475 17.5522847,8 17,8 C15.0670034,8 13.5,9.56700338 13.5,11.5 C13.5,12.0522847 13.0522847,12.5 12.5,12.5 C11.9477153,12.5 11.5,12.0522847 11.5,11.5 C11.5,8.46243388 13.9624339,6 17,6 Z",id:"Oval",transform:"translate(14.750000, 9.250000) scale(-1, 1) translate(-14.750000, -9.250000) "}))))),categories:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-234.000000, -416.000000)"},wp.element.createElement("g",{id:"categories-icon",transform:"translate(234.000000, 416.000000)"},wp.element.createElement("polygon",{id:"Triangle",fill:"#555D66",points:"3 2 5.5 7 0.5 7"}),wp.element.createElement("polygon",{id:"Line",fill:"#555D66","fill-rule":"nonzero",points:"8 6 8 4 23 4 23 6"}),wp.element.createElement("polygon",{id:"Line",fill:"#555D66","fill-rule":"nonzero",points:"8 13 8 11 23 11 23 13"}),wp.element.createElement("polygon",{id:"Line",fill:"#555D66","fill-rule":"nonzero",points:"8 20 8 18 23 18 23 20"}),wp.element.createElement("rect",{id:"Rectangle",stroke:"#555D66","stroke-width":"2",fill:"#FFFFFF",x:"2",y:"11",width:"2",height:"2"}),wp.element.createElement("rect",{id:"Rectangle",stroke:"#555D66","stroke-width":"2",fill:"#FFFFFF",x:"2",y:"18",width:"2",height:"2",rx:"1"}))))),category:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-470.000000, -416.000000)",fill:"#555D66","fill-rule":"nonzero"},wp.element.createElement("g",{id:"category-icon",transform:"translate(470.000000, 416.000000)"},wp.element.createElement("polygon",{id:"Line-4",points:"3 4 3 2 21 2 21 4"}),wp.element.createElement("path",{d:"M5,17 L5,20 L9,20 L9,17 L5,17 Z M3,15 L11,15 L11,22 L3,22 L3,15 Z",id:"Rectangle-2"}),wp.element.createElement("path",{d:"M5,8 L5,11 L9,11 L9,8 L5,8 Z M3,6 L11,6 L11,13 L3,13 L3,6 Z",id:"Rectangle-2-Copy"}),wp.element.createElement("path",{d:"M15,17 L15,20 L19,20 L19,17 L15,17 Z M13,15 L21,15 L21,22 L13,22 L13,15 Z",id:"Rectangle-2"}),wp.element.createElement("path",{d:"M15,8 L15,11 L19,11 L19,8 L15,8 Z M13,6 L21,6 L21,13 L13,13 L13,6 Z",id:"Rectangle-2-Copy-3"}))))),button:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-345.000000, -280.000000)",fill:"#555D66","fill-rule":"nonzero"},wp.element.createElement("g",{id:"button-icon",transform:"translate(345.000000, 280.000000)"},wp.element.createElement("path",{d:"M4,8 L4,16 L20,16 L20,8 L4,8 Z M4,6 L20,6 C21.1045695,6 22,6.8954305 22,8 L22,16 C22,17.1045695 21.1045695,18 20,18 L4,18 C2.8954305,18 2,17.1045695 2,16 L2,8 C2,6.8954305 2.8954305,6 4,6 Z",id:"Rectangle-5"}),wp.element.createElement("path",{d:"M13.8320367,9.8101295 C14.2137832,9.41102047 14.8467917,9.3969454 15.2459008,9.77869195 C15.6450098,10.1604385 15.6590849,10.793447 15.2773383,11.192556 L12.2122748,14.3970238 C11.8300377,14.7966458 11.1960253,14.8101668 10.7970986,14.427204 L9.5128579,13.1943549 C9.11444327,12.8118837 9.10151859,12.1788506 9.48398981,11.780436 C9.86646103,11.3820214 10.4994941,11.3690967 10.8979087,11.7515679 L11.4594438,12.290632 L13.8320367,9.8101295 Z",id:"Line-6"}))))),productPreview:wp.element.createElement("svg",{width:"72px",height:"72px",viewBox:"0 0 72 72",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets",transform:"translate(-625.000000, -811.000000)",fill:"#AAAAAA"},wp.element.createElement("g",{id:"Group-2",transform:"translate(571.000000, 756.000000)"},wp.element.createElement("g",{id:"product-preview",transform:"translate(54.000000, 55.000000)"},wp.element.createElement("path",{d:"M6,25 L6,69 L66,69 L66,25 L6,25 Z M4,23 L68,23 L68,71 L4,71 L4,23 Z",id:"Rectangle-2-Copy-2","fill-rule":"nonzero"}),wp.element.createElement("path",{d:"M36.5,23.5 L65.836706,23.5 L67.2237665,22.8226349 L55.0328393,7.34740904 L39.8812213,0.895706316 L40.7501329,7.5 L17.0403124,7.5 L5.04031242,22.5 L6.32093727,22.5 L17.5209373,8.5 L36.5,8.5 L36.5,23.5 Z M42.9573255,16.6099474 L41.1011835,2.50206036 L54.4056315,8.16722056 L66.5284549,23.5566573 L42.9573255,16.6099474 Z",id:"Combined-Shape",stroke:"#AAAAAA"}),wp.element.createElement("path",{d:"M29.8056641,41.53125 C29.9375,38.2060547 32.2080078,35.6865234 36.4560547,35.6865234 C40.3232422,35.6865234 42.9306641,37.9863281 42.9306641,41.1210938 C42.9306641,43.3916016 41.7880859,44.9882812 39.8544922,46.1455078 C37.9648438,47.2587891 37.4228516,48.0351562 37.4228516,49.5439453 L37.4228516,50.4375 L34.390625,50.4375 L34.3759766,49.265625 C34.3027344,47.2001953 35.1962891,45.8818359 37.203125,44.6806641 C38.9755859,43.6113281 39.6054688,42.7617188 39.6054688,41.2529297 C39.6054688,39.5976562 38.3017578,38.3818359 36.2949219,38.3818359 C34.2734375,38.3818359 32.9697266,39.5976562 32.8378906,41.53125 L29.8056641,41.53125 Z M35.9287109,57.2197266 C34.859375,57.2197266 34.0097656,56.3994141 34.0097656,55.3300781 C34.0097656,54.2607422 34.859375,53.4404297 35.9287109,53.4404297 C37.0273438,53.4404297 37.8623047,54.2607422 37.8623047,55.3300781 C37.8623047,56.3994141 37.0273438,57.2197266 35.9287109,57.2197266 Z",id:"?"})))))),filters:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd","stroke-linecap":"square"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-354.000000, -500.000000)",stroke:"#555D66","stroke-width":"2"},wp.element.createElement("g",{id:"filter-icon",transform:"translate(354.000000, 500.000000)"},wp.element.createElement("path",{d:"M3,6 L21,6",id:"Line-5"}),wp.element.createElement("path",{d:"M7,12 L17,12",id:"Line-5"}),wp.element.createElement("path",{d:"M10,18 L14,18",id:"Line-5"}))))),cartPage:wp.element.createElement("svg",{width:"24px",height:"24px",viewBox:"0 0 24 24",version:"1.1"},wp.element.createElement("g",{id:"Typography",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},wp.element.createElement("g",{id:"gutenberg-widgets-icons",transform:"translate(-470.000000, -500.000000)",fill:"#555D66"},wp.element.createElement("g",{id:"cart-icon",transform:"translate(470.000000, 500.000000)"},wp.element.createElement("g",{id:"Group-6",transform:"translate(2.000000, 3.000000)"},wp.element.createElement("path",{d:"M2.5269723,1 L0,1 C-0.55228475,1 -1,0.55228475 -1,-1.11022302e-16 C-1,-0.55228475 -0.55228475,-1 0,-1 L3.33333333,-1 C3.80393835,-1 4.21086155,-0.671872981 4.31061146,-0.211960997 L6.74215205,10.9990234 L16.2517453,10.9990234 L17.6754416,6 L17.0067139,6 C16.4544291,6 16.0067139,5.55228475 16.0067139,5 C16.0067139,4.44771525 16.4544291,4 17.0067139,4 L19,4 C19.6640252,4 20.143636,4.63527258 19.9617572,5.27390353 L17.968471,12.272927 C17.8460922,12.7026358 17.4535094,12.9990234 17.0067139,12.9990234 L5.93579102,12.9990234 C5.465186,12.9990234 5.0582628,12.6708964 4.95851289,12.2109844 L2.5269723,1 Z",id:"Path-3","fill-rule":"nonzero"}),wp.element.createElement("path",{d:"M13.6266547,1.30878828 C14.0084012,0.909679249 14.6414097,0.895604177 15.0405188,1.27735072 C15.4396278,1.65909727 15.4537029,2.29210579 15.0719563,2.69121482 L11.0068929,6.89568259 C10.6246557,7.29530459 9.99064332,7.30882561 9.59171662,6.92586281 L7.61584318,5.00113813 C7.21742856,4.61866691 7.20450388,3.98563386 7.5869751,3.58721924 C7.96944632,3.18880462 8.60247937,3.17587994 9.00089399,3.55835116 L10.2540618,4.78929076 L13.6266547,1.30878828 Z",id:"Line-6","fill-rule":"nonzero"}),wp.element.createElement("circle",{id:"Oval-2",cx:"7",cy:"17",r:"2"}),wp.element.createElement("circle",{id:"Oval-2",cx:"16",cy:"17",r:"2"}))))))}},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=t.attributes,o=function(e,t,o,l){return wp.element.createElement(g,{label:o},wp.element.createElement(u,{className:"ec-store-control-button-group"},l.map(function(o){return wp.element.createElement(m,{isDefault:!0,isButton:!0,isPrimary:r[t]===o.value,onClick:function(){return e.setAttributes(n({},t,o.value))}},o.title)})))},l=function(e,t,r){return wp.element.createElement(h,{label:r,checked:e.attributes[t],onChange:function(){return e.setAttributes(n({},t,!e.attributes[t]))}})},a=function(e,t,r,o){return wp.element.createElement(g,{label:r},wp.element.createElement("select",{className:"ec-store-control-select",onChange:function(r){e.setAttributes(n({},t,r.target.value))}},o.map(function(r){return wp.element.createElement("option",{value:r.value,selected:e.attributes[t]==r.value},r.title)})))},i=function(e,t,r){return wp.element.createElement(g,{label:r},wp.element.createElement("input",{type:"text",value:e.attributes[t],onChange:function(r){e.setAttributes(n({},t,r.target.value))}}))},c=function(e,t,r,o){return wp.element.createElement(g,{label:r},wp.element.createElement(w,{controls:o.map(function(r){return{icon:s.a[r.icon],title:r.title,isActive:e.attributes[t]===r.value,className:"ecwid-toolbar-icon",onClick:function(){return e.setAttributes(n({},t,r.value))}}})}))};return{buttonGroup:function(r){var n=e[r];return o(t,n.name,n.title,n.values)},toggle:function(r){var n=e[r];return l(t,n.name,n.title)},select:function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=e[r];return a(t,o.name,n||o.title,o.values)},textbox:function(r){var n=e[r];return builtTextbox(t,n.name,n.title)},toolbar:function(r){var n=e[r];return c(t,n.name,n.title,n.values)},color:function(r){return wp.element.createElement(p.a,{props:t,name:r,title:e[r].title})},defaultCategoryId:function(r){var n=e[r];return n.values&&n.values.length>1?a(t,n.name,n.title,n.values):i(t,n.name,n.title)}}}function l(e){return wp.element.createElement("div",{className:"ec-store-inspector-subheader-row"},wp.element.createElement("label",{className:"ec-store-inspector-subheader"},e))}function a(e,t){for(var r=e.props,n=t.split(" "),o=r.clientId,l="#ec-store-block-"+o,a=jQuery(l).data("ec-store-block-stored-properties"),i=!1,c={},s=0;s<n.length;s++){var p=n[s];a&&r.attributes[p]==a[p]||(i=!0),c[p]=r.attributes[p]}return jQuery(l).data("ec-store-block-stored-properties",c),i}function i(e){var t=e.props,r=e.attributes,n=t.clientId,o=t.attributes.show_categories,l=t.attributes.show_search,i="undefined"===typeof e.render||e.render,c="ec-store-block-"+n,s="";t.attributes.default_category_id?s="defaultCategoryId="+t.attributes.default_category_id:t.attributes.default_product_id&&(s="defaultProductId="+t.attributes.default_product_id);var p="ec-store-generic-block ec-store-dynamic-block";i&&document.getElementById(c)&&document.getElementById(c).getAttribute("data-ec-store-rendered")||(p+=" ec-store-block"),o&&(p+=" ec-store-with-categories"),l&&(p+=" ec-store-with-search");var d=a(e,"default_product_id default_category_id show_search show_categories");return i&&d&&(document.getElementById(c)&&document.getElementById(c).removeAttribute("data-ec-store-rendered"),"undefined"!=typeof EcwidGutenberg&&setTimeout(function(){EcwidGutenberg.refresh()})),"undefined"!=typeof window.ec&&(window.ec.config.chameleon.colors=[],Object.keys(r).map(function(e){var n=r[e],o="undefined"!==typeof t.attributes[n.name]?t.attributes[n.name]:r.default;-1!==e.indexOf("chameleon")?o&&(window.ec.config.chameleon.colors["color-"+e.substr(16)]=o):window.ec.storefront[n.name]=o})),"undefined"!=typeof Ecwid&&Ecwid.refreshConfig&&Ecwid.refreshConfig(),wp.element.createElement("div",{className:p,"data-ec-store-widget":"productbrowser","data-ec-store-id":n,"data-ec-store-args":s,"data-ec-store-with-search":l,"data-ec-store-with-categories":o,id:c},wp.element.createElement("div",{className:"ec-store-block-header"},e.icon,e.title),wp.element.createElement("div",{className:"ec-store-block-content"},e.children),e.showDemoButton&&wp.element.createElement("div",null,wp.element.createElement("a",{className:"button button-primary",href:"admin.php?page=ec-store"},__("Set up your store","ecwid-shopping-cart"))))}function c(e){var t=EcwidGutenbergParams.imagesUrl+e.src;return wp.element.createElement("img",{src:t})}r.d(t,"a",function(){return o}),r.d(t,"c",function(){return l}),r.d(t,"b",function(){return c}),r.d(t,"d",function(){return i});var s=r(0),p=r(6),d=wp.components,u=d.ButtonGroup,m=d.Button,g=d.BaseControl,w=d.Toolbar,h=d.ToggleControl,__=wp.i18n.__},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=(r(3),r(7),r(10),r(13),r(16),r(19),r(22),r(25),r(28),r(31),r(0));wp.blocks.updateCategory("ec-store",{icon:n.a.ecwid})},function(e,t,r){"use strict";var n=r(4),o=(r.n(n),r(5)),l=(r.n(o),r(0)),a=r(1),i=wp.i18n,__=i.__,c=(i._x,wp.blocks.registerBlockType),s=wp.editor.InspectorControls,p=wp.components,d=p.PanelBody,u=(p.PanelRow,p.ToggleControl,p.ButtonGroup,p.Button,p.BaseControl),m=(p.Toolbar,p.ColorPalette,p.ColorIndicator,wp.compose.withState,EcwidGutenbergParams.blockParams["ecwid/store-block"]);c("ecwid/store-block",{title:__("Store Home Page","ecwid-shopping-cart"),icon:l.a.store,category:"ec-store",attributes:m.attributes,description:__("Add storefront (product listing)","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,multiple:!1},edit:function(e){function t(e,t){return wp.element.createElement(u,{label:e},wp.element.createElement("div",{dangerouslySetInnerHTML:{__html:t}}))}if(Object.keys(e.attributes).length<=1)for(var r in m.attributes)if(m.attributes.hasOwnProperty(r)){var n=m.attributes[r];e.attributes[n.name]=n.default}var o=e.attributes;e.setAttributes({widgets:""});var i=wp.element.createElement(a.d,{props:e,icon:l.a.store,title:__("Store Home Page","ecwid-shopping-cart"),showDemoButton:m.isDemoStore},wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product1"}),wp.element.createElement("div",{className:"ec-store-product2"}),wp.element.createElement("div",{className:"ec-store-product3"})),wp.element.createElement("div",{className:"ec-store-products"},wp.element.createElement("div",{className:"ec-store-product4"}),wp.element.createElement("div",{className:"ec-store-product5"}),wp.element.createElement("div",{className:"ec-store-product6"}))),c=t("",__('To improve the look and feel of your store and manage your storefront appearance here, please enable the \u201cNext-gen look and feel of the product list on the storefront\u201d option in your store dashboard (\u201c<a href="admin.php?page=ec-store&ec-store-page=whatsnew">Settings \u2192 What\u2019s New</a>\u201d).',"ecwid-shopping-cart")),p=t(__("Display cart icon","ecwid-shopping-cart"),m.customizeMinicartText),g=(t("",__('To improve the look and feel of your product page and manage its appearance here, please enable the \u201cNext-gen look and feel of the product page on the storefront\u201d option in your store dashboard (\u201c<a href="admin.php?page=ec-store&ec-store-page=whatsnew">Settings \u2192 What\u2019s New</a>\u201d).',"ecwid-shopping-cart")),m.isNewProductList),w=m.isNewDetailsPage,h=m.attributes.default_category_id&&m.attributes.default_category_id.values&&m.attributes.default_category_id.values.length>0,_=Object(a.a)(m.attributes,e);return[i,wp.element.createElement(s,null,h&&wp.element.createElement(d,{title:__("Category List Appearance","ecwid-shopping-cart"),initialOpen:!1},g&&[_.select("product_list_category_title_behavior"),"SHOW_TEXT_ONLY"!==o.product_list_category_title_behavior&&[_.buttonGroup("product_list_category_image_size"),_.toolbar("product_list_category_image_aspect_ratio")]],!g&&c),wp.element.createElement(d,{title:__("Product List Appearance","ecwid-shopping-cart"),initialOpen:!1},g&&[_.toggle("product_list_show_product_images"),o.product_list_show_product_images&&[_.buttonGroup("product_list_image_size"),_.toolbar("product_list_image_aspect_ratio")],_.toolbar("product_list_product_info_layout"),_.select("product_list_title_behavior"),_.select("product_list_price_behavior"),_.select("product_list_sku_behavior"),_.select("product_list_buybutton_behavior"),_.toggle("product_list_show_additional_image_on_hover"),_.toggle("product_list_show_frame")],!g&&c),wp.element.createElement(d,{title:__("Product Page Appearance","ecwid-shopping-cart"),initialOpen:!1},w&&[_.select("product_details_layout"),("TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT"===o.product_details_layout||"TWO_COLUMNS_SIDEBAR_ON_THE_LEFT"===o.product_details_layout)&&_.toggle("show_description_under_image"),_.toolbar("product_details_gallery_layout"),Object(a.c)(__("Product sidebar content","ecwid-shopping-cart")),_.toggle("product_details_show_product_name"),_.toggle("product_details_show_breadcrumbs"),_.toggle("product_details_show_product_sku"),_.toggle("product_details_show_product_price"),_.toggle("product_details_show_qty"),_.toggle("product_details_show_number_of_items_in_stock"),_.toggle("product_details_show_in_stock_label"),_.toggle("product_details_show_wholesale_prices"),_.toggle("product_details_show_share_buttons")],!w&&c),h&&wp.element.createElement(d,{title:__("Store Front Page","ecwid-shopping-cart"),initialOpen:!1},_.defaultCategoryId("default_category_id")),wp.element.createElement(d,{title:__("Store Navigation","ecwid-shopping-cart"),initialOpen:!1},_.toggle("show_categories"),_.toggle("show_search"),_.toggle("show_breadcrumbs"),g&&_.toggle("show_footer_menu"),_.toggle("show_signin_link"),_.toggle("product_list_show_sort_viewas_options"),p),wp.element.createElement(d,{title:__("Color settings","ecwid-shopping-cart"),initialOpen:!1},_.color("chameleon_color_button"),_.color("chameleon_color_foreground"),_.color("chameleon_color_price"),_.color("chameleon_color_link"),_.color("chameleon_color_background")))]},save:function(e){var t=["productbrowser"];e.attributes.show_categories&&(t[t.length]="categories"),e.attributes.show_search&&(t[t.length]="search");var r={widgets:t.join(" "),default_category_id:"undefined"!==typeof e.attributes.default_category_id?e.attributes.default_category_id:0};return new wp.shortcode({tag:m.shortcodeName,attrs:r,type:"single"}).string()},deprecated:[{attributes:{widgets:{type:"string"},categories_per_row:{type:"integer"},grid:{type:"string"},list:{type:"integer"},table:{type:"integer"},default_category_id:{type:"integer"},default_product_id:{type:"integer"},category_view:{type:"string"},search_view:{type:"string"},minicart_layout:{type:"string"}},save:function(e){return null}},{attributes:{widgets:{type:"string",default:"productbrowser"},default_category_id:{type:"integer",default:0}},migrate:function(e){return{widgets:e.widgets,default_category_id:e.default_category_id}},save:function(e){for(var t={},r=["widgets","default_category_id"],n=0;n<r.length;n++)t[r[n]]=e.attributes[r[n]];return t.default_product_id=0,new wp.shortcode({tag:m.shortcodeName,attrs:t,type:"single"}).string()}},{save:function(e){return"[ecwid]"}},{save:function(e){return'[ecwid widgets="productbrowser" default_category_id="0" default_product_id="0"]'}},{save:function(e){return'[ecwid widgets="productbrowser" default_category_id="0"]'}}],transforms:{from:[{type:"shortcode",tag:["ecwid","ec_store"],attributes:{default_category_id:{type:"integer",shortcode:function(e){return e.default_category_id}},show_categories:{type:"boolean",shortcode:function(e){return-1!==e.named.widgets.indexOf("categories")}},show_search:{type:"boolean",shortcode:function(e){return-1!==e.named.widgets.indexOf("search")}}},priority:10}]}})},function(e,t){},function(e,t){},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e){function t(e){l(function(t){return{manual:"manual",color:e}}),d.setAttributes(n({},s,e))}var r=e.manual,o=e.color,l=e.setState,s=arguments[0].name,d=arguments[0].props,u=arguments[0].title,m=null===r&&null!==d.attributes[s]&&""!==d.attributes[s]||"manual"===r;m?null!==o&&d.setAttributes(n({},s,o)):d.setAttributes(n({},s,null));var g=d.attributes[s],w=wp.element.createElement("span",null,u,null!==g&&wp.element.createElement(c,{colorValue:d.attributes[s]}));return wp.element.createElement(a,{label:w,className:"ec-store-color-picker"},wp.element.createElement("select",{className:"ec-store-control-select",onChange:function(e){return l(function(e){return{manual:event.target.value,color:e.color}})}},wp.element.createElement("option",{value:"auto",selected:!m},__("Detect automatically","ecwid-shopping-cart")),wp.element.createElement("option",{value:"manual",selected:m},__("Set manually","ecwid-shopping-cart"))),m&&wp.element.createElement(i,{value:g,colors:p,onChange:t}))}r.d(t,"a",function(){return d});var l=wp.components,a=l.BaseControl,i=l.ColorPalette,c=l.ColorIndicator,s=wp.compose.withState,__=wp.i18n.__,p=[{name:__("Pale pink"),slug:"pale-pink",color:"#f78da7"},{name:__("Vivid red"),slug:"vivid-red",color:"#cf2e2e"},{name:__("Luminous vivid orange"),slug:"luminous-vivid-orange",color:"#ff6900"},{name:__("Luminous vivid amber"),slug:"luminous-vivid-amber",color:"#fcb900"},{name:__("Light green cyan"),slug:"light-green-cyan",color:"#7bdcb5"},{name:__("Vivid green cyan"),slug:"vivid-green-cyan",color:"#00d084"},{name:__("Pale cyan blue"),slug:"pale-cyan-blue",color:"#8ed1fc"},{name:__("Vivid cyan blue"),slug:"vivid-cyan-blue",color:"#0693e3"},{name:__("Very light gray"),slug:"very-light-gray",color:"#eeeeee"},{name:__("Cyan bluish gray"),slug:"cyan-bluish-gray",color:"#abb8c3"},{name:__("Very dark gray"),slug:"very-dark-gray",color:"#313131"}],d=s({manual:null,color:null})(o)},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var o=r(8),l=(r.n(o),r(9)),a=(r.n(l),r(0));if(!EcwidGutenbergParams.isDemoStore){var i=wp.i18n,__=i.__,_x=i._x,c=wp.blocks.registerBlockType,s=wp.editor.InspectorControls,p=wp.components,d=p.PanelBody,u=p.ToggleControl;wp.compose.withState,wp.element.Fragment;c("ecwid/product-block",{title:__("Product Card Small","ecwid-shopping-cart"),icon:a.a.product,category:"ec-store",attributes:{id:{type:"integer"},show_picture:{type:"boolean",default:!0},show_title:{type:"boolean",default:!0},show_price:{type:"boolean",default:!0},show_options:{type:"boolean",default:!0},show_qty:{type:"boolean",default:!1},show_addtobag:{type:"boolean",default:!0},show_price_on_button:{type:"boolean",default:!0},show_border:{type:"boolean",default:!0},center_align:{type:"boolean",default:!0}},description:__("Display product with a buy button","ecwid-shopping-cart"),alignWide:!1,supports:{customClassName:!1,className:!1,html:!1,align:!0,isPrivate:!EcwidGutenbergParams.isApiAvailable},edit:function(e){function t(e,t,r){return wp.element.createElement(u,{label:r,checked:e.attributes[t],onChange:function(){return e.setAttributes(n({},t,!e.attributes[t]))}})}function r(e){ecwid_open_product_popup({saveCallback:l,props:e})}var o=e.attributes,l=function(e){var t={id:e.newProps.product.id};EcwidGutenbergParams.products[e.newProps.product.id]={name:e.newProps.product.name,imageUrl:e.newProps.product.thumb},e.originalProps.setAttributes(t)};return[wp.element.createElement("div",{className:"ec-store-block ec-store-block-product"},EcwidGutenbergParams.products&&o.id&&EcwidGutenbergParams.products[o.id]&&wp.element.createElement("div",{className:"ec-store-block-image"},wp.element.createElement("img",{src:EcwidGutenbergParams.products[o.id].imageUrl})),EcwidGutenbergParams.products&&o.id&&EcwidGutenbergParams.products[o.id]&&wp.element.createElement("div",{className:"ec-store-product-title"},EcwidGutenbergParams.products[o.id].name),!o.id&&wp.element.createElement("div",{className:"ec-store-block-product-preview"},a.a.productPreview),!o.id&&wp.element.createElement("div",null,wp.element.createElement("button",{className:"button ec-store-block-button",onClick:function(){var t={saveCallback:l,props:e};ecwid_open_product_popup(t)}},EcwidGutenbergParams.chooseProduct))),wp.element.createElement(s,null,o.id&&wp.element.createElement("div",null,wp.element.createElement("div",{className:"ec-store-inspector-row"},wp.element.createElement("label",{className:"ec-store-inspector-subheader"},__("Displayed product","ecwid-shopping-cart"))),wp.element.createElement("div",{className:"ec-store-inspector-row"},EcwidGutenbergParams.products&&EcwidGutenbergParams.products[o.id]&&wp.element.createElement("label",null,EcwidGutenbergParams.products[o.id].name),wp.element.createElement("button",{className:"button",onClick:function(){return r(e)}},__("Change","ecwid-shopping-cart")))),!o.id&&wp.element.createElement("div",{className:"ec-store-inspector-row"},wp.element.createElement("button",{className:"button",onClick:function(){return r(e)}},__("Choose product","ecwid-shopping-cart"))),wp.element.createElement(d,{title:_x("Content","gutenberg-product-block","ecwid-shopping-cart"),initialOpen:!1},t(e,"show_picture",__("Picture","ecwid-shopping-cart")),t(e,"show_title",__("Title","ecwid-shopping-cart")),t(e,"show_price",__("Price","ecwid-shopping-cart")),t(e,"show_options",__("Options","ecwid-shopping-cart")),t(e,"show_qty",__("Quantity","ecwid-shopping-cart")),t(e,"show_addtobag",__("\xabBuy now\xbb button","ecwid-shopping-cart"))),wp.element.createElement(d,{title:__("Appearance","ecwid-shopping-cart"),initialOpen:!1},t(e,"show_price_on_button",__("Show price inside the \xabBuy now\xbb button","ecwid-shopping-cart")),t(e,"show_border",__("Add border","ecwid-shopping-cart")),t(e,"center_align",__("Center align on a page","ecwid-shopping-cart"))))]},save:function(e){return!1}})}},function(e,t){},function(e,t){},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var o=r(11),l=(r.n(o),r(12)),a=(r.n(l),r(0));if(!EcwidGutenbergParams.isDemoStore){var i=wp.i18n,__=i.__,c=(i._x,wp.blocks),s=(c.BlockControls,c.registerBlockType),p=wp.editor.InspectorControls,d=wp.components,u=d.PanelBody,m=d.ToggleControl;wp.compose.withState,wp.element.Fragment;s("ec-store/buynow",{title:__("Buy Now Button","ecwid-shopping-cart"),icon:a.a.button,category:"ec-store",attributes:{id:{type:"integer"},show_price_on_button:{type:"boolean",default:!0},center_align:{type:"boolean",default:!0}},description:__("Display a buy button","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,align:!0,alignWide:!1,isPrivate:!EcwidGutenbergParams.isApiAvailable},edit:function(e){function t(e,t,r){return wp.element.createElement(m,{label:r,checked:e.attributes[t],onChange:function(){return e.setAttributes(n({},t,!e.attributes[t]))}})}function r(e){ecwid_open_product_popup({saveCallback:l,props:e})}var o=e.attributes,l=function(e){var t={id:e.newProps.id};EcwidGutenbergParams.products[e.newProps.id]={name:e.newProps.product.name,imageUrl:e.newProps.product.thumb},e.originalProps.setAttributes(t)};return[wp.element.createElement("div",{className:"ec-store-block ec-store-block-buynow"},!o.id&&wp.element.createElement("div",null,wp.element.createElement("div",{className:"image"}),wp.element.createElement("div",{className:"button-container"},wp.element.createElement("button",{className:"button ec-store-block-button",onClick:function(){var t={saveCallback:l,props:e};ecwid_open_product_popup(t)}},EcwidGutenbergParams.chooseProduct))),o.id&&wp.element.createElement("div",{className:"image"})),wp.element.createElement(p,null,o.id&&wp.element.createElement("div",null,wp.element.createElement("div",{className:"ec-store-inspector-row"},wp.element.createElement("label",{className:"ec-store-inspector-subheader"},__("Linked product","ecwid-shopping-cart"))),wp.element.createElement("div",{className:"ec-store-inspector-row"},EcwidGutenbergParams.products&&EcwidGutenbergParams.products[o.id]&&wp.element.createElement("label",null,EcwidGutenbergParams.products[o.id].name),wp.element.createElement("button",{className:"button",onClick:function(){return r(e)}},__("Change","ecwid-shopping-cart")))),!o.id&&wp.element.createElement("div",{className:"ec-store-inspector-row"},wp.element.createElement("button",{className:"button",onClick:function(){return r(e)}},__("Choose product","ecwid-shopping-cart"))),wp.element.createElement("br",null),wp.element.createElement(u,{title:__("Appearance","ecwid-shopping-cart"),initialOpen:!1},t(e,"show_price_on_button",__("Show price inside the \xabBuy now\xbb button","ecwid-shopping-cart")),t(e,"center_align",__("Center align on a page","ecwid-shopping-cart"))))]},save:function(e){return!1}})}},function(e,t){},function(e,t){},function(e,t,r){"use strict";var n=r(14),o=(r.n(n),r(15)),l=(r.n(o),r(0));if(!EcwidGutenbergParams.isDemoStore){var a=wp.i18n,__=a.__;a._x;(0,wp.blocks.registerBlockType)("ec-store/search",{title:__("Product Search Box","ecwid-shopping-cart"),icon:l.a.search,category:"ec-store",description:__("Display search box","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,isPrivate:!EcwidGutenbergParams.isApiAvailable},edit:function(e){e.attributes;return[wp.element.createElement("div",{className:"ec-store-block ec-store-block-search"},wp.element.createElement("div",{class:"image"}))]},save:function(e){return!1}})}},function(e,t){},function(e,t){},function(e,t,r){"use strict";var n=r(17),o=(r.n(n),r(18)),l=(r.n(o),r(0));if(!EcwidGutenbergParams.isDemoStore){var a=wp.editor.InspectorControls,i=wp.i18n,__=i.__,c=(i._x,wp.blocks.registerBlockType),s=EcwidGutenbergParams.blockParams["ec-store/categories"];c("ec-store/categories",{title:__("Store Categories Menu","ecwid-shopping-cart"),icon:l.a.categories,category:"ec-store",description:__("Display categories navigation bar","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,isPrivate:!EcwidGutenbergParams.isApiAvailable},edit:function(e){var t=(e.attributes,wp.element.createElement("div",{className:"ec-store-block ec-store-block-categories"},wp.element.createElement("div",{className:"ec-store-block-header"},l.a.categories,__("Categories","ecwid-shopping-cart")))),r=__('The block is hidden because you don\'t have categories in your store. <a target="_blank" href="admin.php?page=ec-store-admin-category-id-0-mode-edit">Add categories.</a>',"ecwid-shopping-cart");return[t,wp.element.createElement(a,null,wp.element.createElement("div",{style:{height:"10px"}}),!s.has_categories&&wp.element.createElement("div",{dangerouslySetInnerHTML:{__html:r}}))]},save:function(e){return!1}})}},function(e,t){},function(e,t){},function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var o=r(20),l=(r.n(o),r(21)),a=(r.n(l),r(0));if(!EcwidGutenbergParams.isDemoStore){var i=wp.i18n,__=i.__,c=(i._x,wp.editor.InspectorControls),s=wp.components,p=s.PanelBody,d=s.BaseControl;(0,wp.blocks.registerBlockType)("ec-store/minicart",{title:__("Shopping Cart Icon","ecwid-shopping-cart"),icon:a.a.cart,category:"ec-store",description:__("Display shopping bag link and summary","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,isPrivate:!EcwidGutenbergParams.isApiAvailable,align:!0,alignWide:!1},attributes:EcwidGutenbergParams.minicartAttributes,edit:function(e){function t(e,t,r,o){return wp.element.createElement(d,{label:r},wp.element.createElement("select",{className:"ec-store-inspector-select",onChange:function(r){e.setAttributes(n({},t,r.target.value))}},o.map(function(r){return wp.element.createElement("option",{value:r.value,selected:e.attributes[t]==r.value},r.title)})))}function r(e,r,n){var o=EcwidGutenbergParams.minicartAttributes[r];return"undefined"===typeof n&&(n=o.type),t(e,o.name,o.title,o.values)}e.attributes;return[wp.element.createElement("div",{className:"ec-store-block ec-store-block-minicart"},wp.element.createElement("div",{className:"image"})),wp.element.createElement(c,null,wp.element.createElement(p,{title:__("Appearance","ecwid-shopping-cart"),initialOpen:!0},r(e,"layout","select"),r(e,"icon","select"),r(e,"fixed_shape","select")))]},save:function(e){return!1}})}},function(e,t){},function(e,t){},function(e,t,r){"use strict";var n=r(23),o=(r.n(n),r(24)),l=(r.n(o),r(0)),a=r(1),i=wp.i18n,__=i.__,c=(i._x,l.a,wp.blocks.registerBlockType),s=wp.editor.InspectorControls,p=wp.components,d=p.PanelBody,u=p.BaseControl,m=EcwidGutenbergParams.blockParams["ec-store/category-page"];c("ec-store/category-page",{title:__("Store Category Page","ecwid-shopping-cart"),icon:l.a.category,category:"ec-store",attributes:EcwidGutenbergStoreBlockParams.attributes,description:__("Display category page","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,multiple:!1},edit:function(e){function t(e,t){return wp.element.createElement(u,{label:e},wp.element.createElement("div",{dangerouslySetInnerHTML:{__html:t}}))}var r=e.attributes;e.setAttributes({widgets:""});var n=wp.element.createElement(a.d,{props:e,icon:l.a.category,title:__("Store Category Page","ecwid-shopping-cart"),showDemoButton:m.isDemoStore},wp.element.createElement("div",{className:"ec-store-category-products"},wp.element.createElement("div",{className:"ec-store-category-product1"}),wp.element.createElement("div",{className:"ec-store-category-product2"}),wp.element.createElement("div",{className:"ec-store-category-product3"})),wp.element.createElement("div",{className:"ec-store-category-products"},wp.element.createElement("div",{className:"ec-store-category-product4"}),wp.element.createElement("div",{className:"ec-store-category-product5"}),wp.element.createElement("div",{className:"ec-store-category-product6"}))),o=t("",__('To improve the look and feel of your store and manage your storefront appearance here, please enable the \u201cNext-gen look and feel of the product list on the storefront\u201d option in your store dashboard (\u201c<a href="admin.php?page=ec-store&ec-store-page=whatsnew">Settings \u2192 What\u2019s New</a>\u201d).',"ecwid-shopping-cart")),i=t(__("Display cart icon","ecwid-shopping-cart"),m.customizeMinicartText),c=m.isNewProductList,p=m.isNewDetailsPage,g=Object(a.a)(m.attributes,e);return[n,wp.element.createElement(s,null,wp.element.createElement("div",{style:{height:"10px"}}),!EcwidGutenbergParams.hasCategories&&wp.element.createElement("div",{style:{margin:"10px"}},wp.element.createElement("a",{href:"admin.php?page=ec-store-admin-category-id-0-mode-edit",target:"_blank",class:"button button-primary"},__("Add categories","ecwid-shopping-cart"))),EcwidGutenbergParams.hasCategories&&[!e.attributes.default_category_id&&g.select("default_category_id",__("Select category","ecwid-shopping-cart")),e.attributes.default_category_id&&g.select("default_category_id",__("Selected category","ecwid-shopping-cart"))],wp.element.createElement(d,{title:__("Category List Appearance","ecwid-shopping-cart"),initialOpen:!1},c&&[g.select("product_list_category_title_behavior"),"SHOW_TEXT_ONLY"!==r.product_list_category_title_behavior&&[g.buttonGroup("product_list_category_image_size"),g.toolbar("product_list_category_image_aspect_ratio")]],!c&&o),wp.element.createElement(d,{title:__("Product List Appearance","ecwid-shopping-cart"),initialOpen:!1},c&&[g.toggle("product_list_show_product_images"),r.product_list_show_product_images&&[g.buttonGroup("product_list_image_size"),g.toolbar("product_list_image_aspect_ratio")],g.toolbar("product_list_product_info_layout"),g.select("product_list_title_behavior"),g.select("product_list_price_behavior"),g.select("product_list_sku_behavior"),g.select("product_list_buybutton_behavior"),g.toggle("product_list_show_additional_image_on_hover"),g.toggle("product_list_show_frame")],!c&&o),wp.element.createElement(d,{title:__("Product Page Appearance","ecwid-shopping-cart"),initialOpen:!1},p&&[g.select("product_details_layout"),("TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT"===r.product_details_layout||"TWO_COLUMNS_SIDEBAR_ON_THE_LEFT"===r.product_details_layout)&&g.toggle("show_description_under_image"),g.toolbar("product_details_gallery_layout"),Object(a.c)(__("Product sidebar content","ecwid-shopping-cart")),g.toggle("product_details_show_product_name"),g.toggle("product_details_show_breadcrumbs"),g.toggle("product_details_show_product_sku"),g.toggle("product_details_show_product_price"),g.toggle("product_details_show_qty"),g.toggle("product_details_show_number_of_items_in_stock"),g.toggle("product_details_show_in_stock_label"),g.toggle("product_details_show_wholesale_prices"),g.toggle("product_details_show_share_buttons")],!p&&productDetailsMigrationWarning),wp.element.createElement(d,{title:__("Store Navigation","ecwid-shopping-cart"),initialOpen:!1},g.toggle("show_categories"),g.toggle("show_search"),g.toggle("show_breadcrumbs"),c&&g.toggle("show_footer_menu"),g.toggle("show_signin_link"),g.toggle("product_list_show_sort_viewas_options"),i),wp.element.createElement(d,{title:__("Color settings","ecwid-shopping-cart"),initialOpen:!1},g.color("chameleon_color_button"),g.color("chameleon_color_foreground"),g.color("chameleon_color_price"),g.color("chameleon_color_link"),g.color("chameleon_color_background")))]},save:function(e){return null}})},function(e,t){},function(e,t){},function(e,t,r){"use strict";var n=r(26),o=(r.n(n),r(27)),l=(r.n(o),r(0)),a=r(1),i=wp.i18n,__=i.__,c=(i._x,wp.blocks.registerBlockType),s=wp.editor.InspectorControls,p=wp.components,d=p.PanelBody,u=p.BaseControl,m=(wp.compose.withState,EcwidGutenbergParams.blockParams["ec-store/product-page"]);c("ec-store/product-page",{title:__("Product Card Large","ecwid-shopping-cart"),icon:l.a.product,category:"ec-store",attributes:m.attributes,description:__("Display product page with description and a buy button","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,multiple:!1},edit:function(e){function t(e){ecwid_open_product_popup({saveCallback:o,props:e})}function r(e,t){return wp.element.createElement(u,{label:e},wp.element.createElement("div",{dangerouslySetInnerHTML:{__html:t}}))}var n=e.attributes,o=function(e){var t={default_product_id:e.newProps.product.id};EcwidGutenbergParams.products[e.newProps.product.id]={name:e.newProps.product.name,imageUrl:e.newProps.product.thumb},e.originalProps.setAttributes(t)},i=wp.element.createElement(a.d,{props:e,icon:l.a.product,title:__("Product Card Large","ecwid-shopping-cart")},wp.element.createElement(a.b,{src:"product-page-preview.png"}),!n.default_product_id&&wp.element.createElement("div",{className:"button-container"},wp.element.createElement("button",{className:"button ec-store-block-button",onClick:function(){var t={saveCallback:o,props:e};ecwid_open_product_popup(t)}},EcwidGutenbergParams.chooseProduct))),c=r("",__('To improve the look and feel of your store and manage your storefront appearance here, please enable the \u201cNext-gen look and feel of the product list on the storefront\u201d option in your store dashboard (\u201c<a href="admin.php?page=ec-store&ec-store-page=whatsnew">Settings \u2192 What\u2019s New</a>\u201d).',"ecwid-shopping-cart")),p=(r("",__('To improve the look and feel of your product page and manage your its appearance here, please enable the \u201cNext-gen look and feel of the product page on the storefront\u201d option in your store dashboard (\u201c<a href="admin.php?page=ec-store&ec-store-page=whatsnew">Settings \u2192 What\u2019s New</a>\u201d).',"ecwid-shopping-cart")),m.isNewDetailsPage),g=Object(a.a)(m.attributes,e);return[i,wp.element.createElement(s,null,n.default_product_id>0&&wp.element.createElement("div",null,wp.element.createElement("div",{className:"ec-store-inspector-row"},wp.element.createElement("label",{className:"ec-store-inspector-subheader"},__("Linked product","ecwid-shopping-cart"))),wp.element.createElement("div",{className:"ec-store-inspector-row"},EcwidGutenbergParams.products&&EcwidGutenbergParams.products[n.default_product_id]&&wp.element.createElement("label",null,EcwidGutenbergParams.products[n.default_product_id].name),wp.element.createElement("button",{className:"button",onClick:function(){return t(e)}},__("Change","ecwid-shopping-cart")))),!n.default_product_id&&wp.element.createElement("div",{className:"ec-store-inspector-row"},wp.element.createElement("button",{className:"button",onClick:function(){return t(e)}},__("Choose product","ecwid-shopping-cart"))),wp.element.createElement(d,{title:__("Appearance","ecwid-shopping-cart"),initialOpen:!1},p&&[g.select("product_details_layout"),("TWO_COLUMNS_SIDEBAR_ON_THE_RIGHT"===n.product_details_layout||"TWO_COLUMNS_SIDEBAR_ON_THE_LEFT"===n.product_details_layout)&&g.toggle("show_description_under_image"),g.toolbar("product_details_gallery_layout"),Object(a.c)(__("Product sidebar content","ecwid-shopping-cart")),g.toggle("product_details_show_product_name"),g.toggle("product_details_show_breadcrumbs"),g.toggle("product_details_show_product_sku"),g.toggle("product_details_show_product_price"),g.toggle("product_details_show_qty"),g.toggle("product_details_show_number_of_items_in_stock"),g.toggle("product_details_show_in_stock_label"),g.toggle("product_details_show_wholesale_prices"),g.toggle("product_details_show_share_buttons")],!p&&c),wp.element.createElement(d,{title:__("Color settings","ecwid-shopping-cart"),initialOpen:!1},g.color("chameleon_color_button"),g.color("chameleon_color_foreground"),g.color("chameleon_color_price"),g.color("chameleon_color_link"),g.color("chameleon_color_background")))]},save:function(e){return null}})},function(e,t){},function(e,t){},function(e,t,r){"use strict";var n=r(29),o=(r.n(n),r(30)),l=(r.n(o),r(0)),a=r(1),i=wp.i18n,__=i.__,c=(i._x,wp.blocks.registerBlockType),s=wp.editor.InspectorControls,p=wp.components,d=p.PanelBody,u=(p.PanelRow,p.ToggleControl,p.ButtonGroup,p.Button,p.BaseControl),m=(p.Toolbar,p.ColorPalette,p.ColorIndicator,wp.compose.withState,EcwidGutenbergParams.blockParams["ec-store/filters-page"]);c("ec-store/filters-page",{title:__("Product Search and filters","ecwid-shopping-cart"),icon:l.a.filters,category:"ec-store",attributes:m.attributes,description:__("Display search page with filters on a side","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,multiple:!1},edit:function(e){function t(e,t){return wp.element.createElement(u,{label:e},wp.element.createElement("div",{dangerouslySetInnerHTML:{__html:t}}))}var r=e.attributes,n=wp.element.createElement(a.d,{props:e,icon:l.a.filters,title:__("Search and Filters","ecwid-shopping-cart")},wp.element.createElement(a.b,{src:"filter-preview.png"})),o=t("",__('You can enable filters in the store settings: (\u201c<a target="_blank" href="admin.php?page=ec-store-admin-product-filters-mode-main">Settings \u2192 Product Filters</a>\u201d).',"ecwid-shopping-cart")),i=t("",__('To improve the look and feel of your store and manage your storefront appearance here, please enable the \u201cNext-gen look and feel of the product list on the storefront\u201d option in your store dashboard (\u201c<a href="admin.php?page=ec-store&ec-store-page=whatsnew">Settings \u2192 What\u2019s New</a>\u201d).',"ecwid-shopping-cart")),c=m.isNewProductList,p=Object(a.a)(m.attributes,e);return[n,wp.element.createElement(s,null,wp.element.createElement(d,{title:__("Filters","ecwid-shopping-cart"),initialOpen:!1},!m.filtersEnabled&&o,m.filtersEnabled&&[p.select("product_filters_position_search_page")]),wp.element.createElement(d,{title:__("Product List Appearance","ecwid-shopping-cart"),initialOpen:!1},c&&[p.toggle("product_list_show_product_images"),r.product_list_show_product_images&&[p.buttonGroup("product_list_image_size"),p.toolbar("product_list_image_aspect_ratio")],p.toolbar("product_list_product_info_layout"),p.select("product_list_title_behavior"),p.select("product_list_price_behavior"),p.select("product_list_sku_behavior"),p.select("product_list_buybutton_behavior"),p.toggle("product_list_show_additional_image_on_hover"),p.toggle("product_list_show_frame")],!c&&i),wp.element.createElement(d,{title:__("Store Navigation","ecwid-shopping-cart"),initialOpen:!1},p.toggle("show_categories"),p.toggle("show_breadcrumbs"),c&&p.toggle("show_footer_menu"),p.toggle("show_signin_link"),p.toggle("product_list_show_sort_viewas_options")),wp.element.createElement(d,{title:__("Color settings","ecwid-shopping-cart"),initialOpen:!1},p.color("chameleon_color_button"),p.color("chameleon_color_foreground"),p.color("chameleon_color_price"),p.color("chameleon_color_link"),p.color("chameleon_color_background")))]},save:function(e){return null}})},function(e,t){},function(e,t){},function(e,t,r){"use strict";var n=r(32),o=(r.n(n),r(33)),l=(r.n(o),r(0)),a=r(1),i=wp.i18n,__=i.__,c=(i._x,wp.blocks.registerBlockType),s=(wp.editor.InspectorControls,wp.components),p=(s.PanelBody,s.PanelRow,s.ToggleControl,s.ButtonGroup,s.Button,s.BaseControl,s.Toolbar,s.ColorPalette,s.ColorIndicator,wp.compose.withState,EcwidGutenbergParams.blockParams["ec-store/cart-page"]);c("ec-store/cart-page",{title:__("Cart and Checkout","ecwid-shopping-cart"),icon:l.a.cartPage,category:"ec-store",attributes:p.attributes,description:__("Display shopping cart and checkout page","ecwid-shopping-cart"),supports:{customClassName:!1,className:!1,html:!1,multiple:!1},edit:function(e){e.attributes;return[wp.element.createElement(a.d,{props:e,icon:l.a.cartPage,title:__("Cart and Checkout","ecwid-shopping-cart")},wp.element.createElement(a.b,{src:"cart-page-preview.png"}))]},save:function(e){return null}})},function(e,t){},function(e,t){}]);
js/landing.js DELETED
@@ -1,50 +0,0 @@
1
- hide_on_loading = '.create-store-button, .create-store-have-account-question';
2
- invisible_on_loading = '.create-store-have-account-link';
3
- show_on_loading = '.create-store-loading, .create-store-loading-note';
4
-
5
- hide_on_success = '.create-store-loading, .create-store-loading-note';
6
- show_on_success = '.create-store-success, .create-store-success-note';
7
-
8
-
9
- jQuery(document).ready(function(){
10
-
11
- jQuery('.create-store-button').click(function() {
12
-
13
- if (ecwidParams.isWL) {
14
- location.href = ecwidParams.registerLink;
15
- return;
16
- }
17
-
18
-
19
- var $context = jQuery(this).closest('.ecwid-button');
20
- jQuery(hide_on_loading + ', ' + invisible_on_loading, $context).fadeTo(150, .01).promise().done(function() {
21
- jQuery(hide_on_loading, $context).hide();
22
- jQuery(invisible_on_loading, $context).css('visibility', 'hidden');
23
-
24
- jQuery(show_on_loading, $context).fadeIn(300);
25
- })
26
-
27
- jQuery.ajax(ajaxurl + '?action=ecwid_create_store',
28
- {
29
- success: function(result) {
30
- var html = result;
31
- jQuery(hide_on_success, $context).fadeTo(150, .01).promise().done(function() {
32
- jQuery(hide_on_success, $context).hide();
33
-
34
- jQuery(show_on_success, $context).fadeIn(300);
35
- setTimeout(function() {
36
- location.href="admin.php?page=ec-store";
37
- }, 1000);
38
- })
39
- },
40
- error: function() {
41
- window.location.href = ecwidParams.registerLink;
42
- }
43
- }
44
- );
45
- });
46
-
47
- });
48
- switch_to_success = function() {
49
-
50
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/welcome-page.js ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function(){
2
+
3
+ jQuery('.ec-create-store-button').click(function() {
4
+
5
+ if (ecwidParams.isWL) {
6
+ location.href = ecwidParams.registerLink;
7
+ return;
8
+ }
9
+
10
+ jQuery('.ec-create-store-button').addClass('btn--loading');
11
+ jQuery('.ec-connect-store').addClass('disabled');
12
+
13
+ jQuery.ajax(ajaxurl + '?action=ecwid_create_store',
14
+ {
15
+ success: function(result) {
16
+ jQuery('.ec-create-store-note').hide();
17
+ jQuery('.ec-create-store-success-note').show();
18
+
19
+ setTimeout(function() {
20
+ location.href="admin.php?page=ec-store";
21
+ }, 1000);
22
+ },
23
+ error: function() {
24
+ window.location.href = ecwidParams.registerLink;
25
+ }
26
+ }
27
+ );
28
+ });
29
+
30
+ });
lib/ecwid_api_v3.php CHANGED
@@ -137,6 +137,10 @@ class Ecwid_Api_V3
137
  return self::set_api_status( self::API_STATUS_ERROR_TLS );
138
  }
139
 
 
 
 
 
140
  return self::set_api_status( self::API_STATUS_ERROR_OTHER );
141
  }
142
 
@@ -638,8 +642,7 @@ class Ecwid_Api_V3
638
  'merchant' => array(
639
  'email' => $admin_email,
640
  'name' => $admin_name,
641
- 'password' => wp_generate_password(8),
642
- 'ip' => in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1')) ? '35.197.29.131' : $_SERVER['REMOTE_ADDR']
643
  ),
644
  'affiliatePartner' => array(
645
  'source' => 'wporg'
@@ -665,6 +668,10 @@ class Ecwid_Api_V3
665
  ),
666
  );
667
 
 
 
 
 
668
  $ref = apply_filters( 'ecwid_get_new_store_ref_id', '' );
669
 
670
  if ($ref) {
137
  return self::set_api_status( self::API_STATUS_ERROR_TLS );
138
  }
139
 
140
+ if( ecwid_is_demo_store() ) {
141
+ return self::set_api_status( self::API_STATUS_OK );
142
+ }
143
+
144
  return self::set_api_status( self::API_STATUS_ERROR_OTHER );
145
  }
146
 
642
  'merchant' => array(
643
  'email' => $admin_email,
644
  'name' => $admin_name,
645
+ 'password' => wp_generate_password(8)
 
646
  ),
647
  'affiliatePartner' => array(
648
  'source' => 'wporg'
668
  ),
669
  );
670
 
671
+ if( !in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1')) ) {
672
+ $params['merchant']['ip'] = $_SERVER['REMOTE_ADDR'];
673
+ }
674
+
675
  $ref = apply_filters( 'ecwid_get_new_store_ref_id', '' );
676
 
677
  if ($ref) {
readme.txt CHANGED
@@ -2,8 +2,10 @@
2
  Contributors: Ecwid
3
  Tags: ecommerce, e-commerce, storefront, online store, sell
4
  Requires at least: 3.7
5
- Tested up to: 5.3
6
- Stable tag: 6.8.11
 
 
7
 
8
  Powerful, easy to use ecommerce shopping cart. Sell on Facebook and Instagram. iPhone & Android apps. Superb support. Free plan available.
9
 
@@ -67,9 +69,12 @@ Ecwid offers a free plan that’s always available with no hidden setup charges
67
 
68
  * [www.ecwid.com](https://ecwid.to/ecwid-wp-site "Ecwid site")
69
 
70
- = International Keywords =
71
 
72
- магазин, catalogo de productos, katalog produktów, wtyczka ecommerce, plugin ecommerce, plugin de comercio electrónico, le catalogue des produits, productcatalogus, витрина, produktkatalog, каталог продукции, sklep, boutique, tienda, winkel, Geschäft
 
 
 
73
 
74
 
75
  == Installation ==
@@ -153,9 +158,29 @@ You can add the store categories menu to your site menu to help your customers e
153
  You can use Ecwid’s built-in import tools to copy your store products from any other shopping cart to Ecwid. Find more details in the [Import-Export article in the Ecwid shopping cart help center]( https://support.ecwid.com/hc/en-us/articles/360000049040-Migrating-to-Ecwid-from-WooCommerce).
154
 
155
 
156
- * [Ecwid Help Center](http://help.ecwid.com/?source=wporg-plugin-site "Ecwid Help")
157
 
158
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
159
  = 6.8.11 - Dec 30, 2019 =
160
  - Fixed a PHP error message (“Class 'Ecwid_Import_Page' not found“) for PHP versions older 5.5. If your ecommerce site is running on an outdated PHP version, this update might fix a error message for you. Please update your PHP as soon as possible (or ask your hoster to do that for you) — it’s much more secure to use the latest versions of software on your server.
161
 
@@ -258,7 +283,7 @@ You can use Ecwid’s built-in import tools to copy your store products from any
258
  - **Added compatibility with the Enfold theme page builder (Avia Layout Builder)**. We learned that Ecwid didn't work well with the Avia page builder which is a part of the Enfold theme. Enfold users might notice it was difficult to add Ecwid blocks to a page. We fixed that — now Ecwid should work fine with Enfold theme.
259
  - **Added Mega Menu plugin compatibility**. Added fixes and layout improvements to make the Ecwid e-commerce plugin compatible with the Mega Menu WordPress plugin. If you use the Mega Menu plugin, you might notice layout issues on your store page. We fixed that. If you find any trouble in how Ecwid works with your theme or plugin, please let us know.
260
  - Minor fixes for the "Import products from WooCommerce to Ecwid" import tool.
261
- - Ecwid is constantly updated with new features and tools which are of course available to WordPress users. One of the recent major updates is Dynamic AMP emails: we’ve collaborated with Google/Gmail to launch dynamic email for e-commerce merchants. It's available for the Ecwid plugin users now and you will be able to use it without dealing with custom code or any external plugin. Check it out in our [blog](https://www.ecwid.com/blog/e-commerce-email).
262
 
263
  = 6.4.15 - Mar 19, 2019 =
264
  - Fixed generation of sitemap for Yoast SEO plugin
2
  Contributors: Ecwid
3
  Tags: ecommerce, e-commerce, storefront, online store, sell
4
  Requires at least: 3.7
5
+ Tested up to: 5.4
6
+ Stable tag: 6.9.2
7
+ License: GPLv2 or later
8
+ License URI: https://www.gnu.org/licenses/gpl-2.0.html
9
 
10
  Powerful, easy to use ecommerce shopping cart. Sell on Facebook and Instagram. iPhone & Android apps. Superb support. Free plan available.
11
 
69
 
70
  * [www.ecwid.com](https://ecwid.to/ecwid-wp-site "Ecwid site")
71
 
72
+ ### Terms of usage
73
 
74
+ The plugin uses the Ecwid ecommerce cloud services (www.ecwid.com). Your store data is securely hosted with Ecwid under the terms and conditions listed here:
75
+
76
+ * [Term of Service](https://www.ecwid.com/terms-of-service)
77
+ * [Privacy Policy](https://www.ecwid.com/privacy-policy)
78
 
79
 
80
  == Installation ==
158
  You can use Ecwid’s built-in import tools to copy your store products from any other shopping cart to Ecwid. Find more details in the [Import-Export article in the Ecwid shopping cart help center]( https://support.ecwid.com/hc/en-us/articles/360000049040-Migrating-to-Ecwid-from-WooCommerce).
159
 
160
 
161
+ * [Ecwid Help Center](http://help.ecwid.com "Ecwid Help")
162
 
163
  == Changelog ==
164
+ = 6.9.2 - Apr 06, 2020 =
165
+ - **Integration with the RankMath SEO plugin.** The “RankMath” plugin is a tool to set SEO meta tags on site pages and to generate a sitemaps. It conflicted with the Ecwid SEO functions: SEO tags and sitemaps generated by Ecwid did not work well with those generated by RankMath. It’s now fixed so if you use the plugin, everything should work fine and Google will index your products pages properly.
166
+ - Improved compatibility with WPBakery editor and UrbanGo Listing theme.
167
+ - Improvements for the "Import from WooCommerce" tool.
168
+
169
+ = 6.9.1 - Feb 21, 2020 =
170
+ - Fixed a PHP error message ("Fatal error: Uncaught ArgumentCountError ..."). This error is reproduced when the hook "apply_filters ('the_title', string $title, int $id)" with one parameter is called in the code. According to the documentation, for this hook you need to pass two parameters. We added an additional check to eliminate the error.
171
+
172
+ = 6.9 - Feb 20, 2020 =
173
+ - **New Storefront Settings page in the WordPress admin panel (WordPress admin > Ecwid > Storefront)**. The storefront page on your site is what your customers see when they want to visit your shop. That's the home of your ecommerce store. In this major update, we made it easier for you to manage that page — the new "Storefront" section in your dashboard has everything you need to do that. Navigate to the WordPress admin > Ecwid > Storefront and manage store navigation, adjust the store URL (slug), add store widgets, create additional ecommerce pages, adjust appearance and more. Read below to find more features introduced on the new Storefront settings page.
174
+ - **New Storefront Settings Page: Design and content.** personalize your storefront appearance and edit the content of the store page to better reflect your brand and stay connected with your customers.
175
+ - **New Storefront Settings Page: Navigation.** Help customers find your products on your ecommerce site with the new Navigation section on the Storefront settings page. Show your store on the site home page. Customize store page address. Add store page to the site menu. Feature your products in the sidebar. Display the shopping cart icon on site pages.
176
+ - **New Storefront Settings Page: Additional store pages.** Create additional ecommerce pages on your site to feature specific products and categories, highlight product filters, add your store to other site pages and more.
177
+ - **Revamped signup/connect page design.** The plugin welcome page is displayed for the new users. We refreshed the design of that page to make it easier for beginners to start selling online.
178
+ - **A few fixes for compatibility with WPML.** WPML is a popular plugin for multilingual sites. Ecwid supports full-featured multilingual online stores. In this update, we fixed a problem where a direct link to an online store page didn't open in a non-default language in WPML.
179
+ - **Improvements of the store appearance in Jevelin, Bridge and New Shop eCommerce themes.** Even though Ecwid is compatible with every WordPress theme by design, some slight fixes and improvements are sometimes needed to make storefront look better. That's why we are always monitoring how Ecwid pages look and behave in WordPress e-commerce themes.
180
+ - **Fixes for Gutenberg's "Store home page" block.** Ecwid adds ten ecommerce blocks to Gutenberg. One of the blocks — the store home page — had an issue with the default settings when being added to a new page. We fixed it.
181
+ - Minor fix for the shortcode button styles in the page editor in Twenty Twenty theme.
182
+ - Minor fixes and improvements.
183
+
184
  = 6.8.11 - Dec 30, 2019 =
185
  - Fixed a PHP error message (“Class 'Ecwid_Import_Page' not found“) for PHP versions older 5.5. If your ecommerce site is running on an outdated PHP version, this update might fix a error message for you. Please update your PHP as soon as possible (or ask your hoster to do that for you) — it’s much more secure to use the latest versions of software on your server.
186
 
283
  - **Added compatibility with the Enfold theme page builder (Avia Layout Builder)**. We learned that Ecwid didn't work well with the Avia page builder which is a part of the Enfold theme. Enfold users might notice it was difficult to add Ecwid blocks to a page. We fixed that — now Ecwid should work fine with Enfold theme.
284
  - **Added Mega Menu plugin compatibility**. Added fixes and layout improvements to make the Ecwid e-commerce plugin compatible with the Mega Menu WordPress plugin. If you use the Mega Menu plugin, you might notice layout issues on your store page. We fixed that. If you find any trouble in how Ecwid works with your theme or plugin, please let us know.
285
  - Minor fixes for the "Import products from WooCommerce to Ecwid" import tool.
286
+ - Ecwid is constantly updated with new features and tools which are of course available to WordPress users. One of the recent major updates is Dynamic AMP emails: we’ve collaborated with Google/Gmail to launch dynamic email for e-commerce merchants. It's available for the Ecwid plugin users now and you will be able to use it without dealing with custom code or any external plugin. Check it out in our [blog](https://www.ecwid.com/blog/e-commerce-email.html).
287
 
288
  = 6.4.15 - Mar 19, 2019 =
289
  - Fixed generation of sitemap for Yoast SEO plugin
templates/admin-params.php CHANGED
@@ -1,41 +1,56 @@
1
  <h2>Online store hidden parameters</h2>
2
 
3
  <div style="max-width: 800px">
4
- <b style="color: red">WARNING: ADVANCED CONFIGURATION AHEAD!</b> Changing these settings may significantly affect the plugin functionality, including admin settings and storefront. You should only continue if you are sure of what you are doing.
5
- <br />
6
- <br />
7
  Having a problem working with the Online store plugin? Visit our <a target="_blank" href="https://support.ecwid.com">Help center</a> if you haven't yet.
8
  </div>
9
  <br />
 
10
  <form method="POST" type="multipart/form-data" action="admin-post.php?action=<?php echo ecwid_get_update_params_action(); ?>">
11
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce( ecwid_get_update_params_action() ); ?>" />
12
-
13
- <?php foreach ( ecwid_get_update_params_options() as $key => $option ): ?>
14
- <div><?php echo $key; ?>:
15
- <span>
16
- <?php if ( @$option['type'] == 'bool' ): ?>
17
- <select name="option[<?php echo $key; ?>]">
18
- <option value=""<?php if (get_option($key) == ''):?> selected="selected"<?php endif; ?>>off</option>
19
- <option value="Y"<?php if (get_option($key) ):?> selected="selected"<?php endif; ?>>on</option>
20
- </select>
21
- <?php elseif ( @$option['type'] == 'string'): ?>
22
- <input type="text" name="option[<?php echo $key; ?>]" value="<?php echo get_option( $key ); ?>">
23
- <?php elseif ( @$option['type'] == 'html'): ?>
24
- <textarea name="option[<?php echo $key; ?>]" style="width:500px"><?php echo htmlentities( get_option( $key ) ); ?></textarea>
25
- <?php elseif ( @$option['values'] ): ?>
26
- <select name="option[<?php echo $key; ?>]">
27
- <?php foreach ( @$option['values'] as $value ): ?>
28
- <option value="<?php echo $value; ?>"<?php if ( $value == get_option($key)): ?> selected="selected"<?php endif; ?>><?php echo $value; ?></option>
29
- <?php endforeach; ?>
30
- </select>
31
- <?php endif; ?>
32
-
33
- </span>
34
 
35
- <?php echo get_option($key); ?>
36
- </div>
37
- <?php endforeach; ?>
38
- <button class="btn btn-primary">submit</button>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  </form>
40
 
41
  <br />
1
  <h2>Online store hidden parameters</h2>
2
 
3
  <div style="max-width: 800px">
4
+ <b style="color: red">WARNING: ADVANCED CONFIGURATION AHEAD!</b> Changing these settings may significantly affect the plugin functionality, including admin settings and storefront. You should only continue if you are sure of what you are doing.
5
+ <br />
6
+ <br />
7
  Having a problem working with the Online store plugin? Visit our <a target="_blank" href="https://support.ecwid.com">Help center</a> if you haven't yet.
8
  </div>
9
  <br />
10
+
11
  <form method="POST" type="multipart/form-data" action="admin-post.php?action=<?php echo ecwid_get_update_params_action(); ?>">
12
+
13
+ <input type="hidden" name="nonce" value="<?php echo wp_create_nonce( ecwid_get_update_params_action() ); ?>" />
14
+
15
+ <style type="text/css">
16
+ #ec-params-table { border-collapse: collapse; border-spacing: 0; margin-bottom: 5px; }
17
+ #ec-params-table td { padding: 3px; }
18
+ #ec-params-table tr:hover { background-color: lightblue; }
19
+ #ec-params-table select { min-width: 70px; }
20
+ </style>
21
+
22
+ <table id="ec-params-table">
 
 
 
 
 
 
 
 
 
 
 
 
23
 
24
+ <?php foreach ( ecwid_get_update_params_options() as $key => $option ): ?>
25
+ <tr style="padding: 0 0 5px;">
26
+ <td><?php echo $key; ?>: </td>
27
+ <td>
28
+ <?php if ( @$option['type'] == 'bool' ): ?>
29
+ <select name="option[<?php echo $key; ?>]">
30
+ <option value=""<?php if (get_option($key) == ''):?> selected="selected"<?php endif; ?>>off</option>
31
+ <option value="Y"<?php if (get_option($key) ):?> selected="selected"<?php endif; ?>>on</option>
32
+ </select>
33
+ <?php elseif ( @$option['type'] == 'string'): ?>
34
+ <input type="text" name="option[<?php echo $key; ?>]" value="<?php echo get_option( $key ); ?>">
35
+ <?php elseif ( @$option['type'] == 'html'): ?>
36
+ <textarea name="option[<?php echo $key; ?>]" style="width:500px"><?php echo htmlentities( get_option( $key ) ); ?></textarea>
37
+ <?php elseif ( @$option['values'] ): ?>
38
+ <select name="option[<?php echo $key; ?>]">
39
+ <?php foreach ( @$option['values'] as $value ): ?>
40
+ <option value="<?php echo $value; ?>"<?php if ( $value == get_option($key)): ?> selected="selected"<?php endif; ?>><?php echo $value; ?></option>
41
+ <?php endforeach; ?>
42
+ </select>
43
+ <?php endif; ?>
44
+
45
+ <?php echo get_option($key); ?>
46
+
47
+ </td>
48
+ </tr>
49
+ <?php endforeach; ?>
50
+
51
+ </table>
52
+
53
+ <button class="btn btn-primary">Save</button>
54
  </form>
55
 
56
  <br />
templates/admin/landing.tpl.php DELETED
@@ -1,172 +0,0 @@
1
- <?php
2
-
3
- $connection_error = isset( $_GET['connection_error'] );
4
- $register = !$connection_error && ! isset( $_GET['connect'] );
5
-
6
- ?>
7
-
8
- <script type='text/javascript'>//<![CDATA[
9
- document.body.className += ' ecwid-no-padding';
10
- //]]>
11
- </script>
12
- <div class="ecwid-landing <?php echo $register ? 'register' : 'connect'; echo $connection_error ? ' conn-error': ''; ?>">
13
- <div class="ecwid-thank">
14
- <h1>
15
- <?php printf( __( 'Welcome to %s!', 'ecwid-shopping-cart'), Ecwid_Config::get_brand() ); ?>
16
- <span><?php printf( __( 'Thank you for choosing %s to build your online store. The first step to sell successfully online is to set up your store! Let’s get started and add a store to your website in a few simple steps.', 'ecwid-shopping-cart'), Ecwid_Config::get_brand() ); ?></span>
17
- </h1>
18
-
19
- <div class="ecwid-button">
20
-
21
- <button class="create-store-button btn btn-primary btn-large">
22
- <?php _e( 'Create Store', 'ecwid-shopping-cart' ); ?>
23
- </button>
24
- <button class="create-store-loading btn btn-primary btn-large btn-loading">
25
- <div class="loader">
26
- <div class="ecwid-spinner spin-right">
27
- <svg width="60px" height="60px" viewBox="0 0 60 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
28
- <path class="loader-outer" d="M30,60 C46.5685425,60 60,46.5685425 60,30 C60,13.4314575 46.5685425,0 30,0 C13.4314575,0 0,13.4314575 0,30 C0,46.5685425 13.4314575,60 30,60 L30,60 Z"></path>
29
- <path class="loader-background" d="M30,56 C44.3594035,56 56,44.3594035 56,30 C56,15.6405965 44.3594035,4 30,4 C15.6405965,4 4,15.6405965 4,30 C4,44.3594035 15.6405965,56 30,56 L30,56 Z" fill="#FFFFFF"></path>
30
- <path class="loader-inner" d="M12.0224719,32.0224719 C10.9078652,32.0224719 10,31.1146067 10,30 C10,18.9707865 18.9707865,10 30,10 C31.1146067,10 32.0224719,10.9078652 32.0224719,12.0224719 C32.0224719,13.1370787 31.1146067,14.0449438 30,14.0449438 C21.2,14.0449438 14.0449438,21.2 14.0449438,30 C14.0449438,31.1146067 13.1370787,32.0224719 12.0224719,32.0224719 L12.0224719,32.0224719 Z M30,50 C28.8853933,50 27.9775281,49.0921348 27.9775281,47.9775281 C27.9775281,46.8629213 28.8853933,45.9550562 30,45.9550562 C38.8,45.9550562 45.9550562,38.8 45.9550562,30 C45.9550562,28.8853933 46.8629213,27.9775281 47.9775281,27.9775281 C49.0921348,27.9775281 50,28.8853933 50,30 C50,41.0292135 41.0292135,50 30,50 L30,50 Z" fill="#231F20"></path>
31
- </svg>
32
- </div>
33
- </div>
34
- </button>
35
-
36
- <button class="create-store-success btn btn-large btn-success btn-icon">
37
- <i class="icon-check"></i>
38
- <?php _e('Store is created', 'ecwid-shopping-cart'); ?>
39
- </button>
40
-
41
- <div class="create-store-loading-note ecwid-button-description">
42
- <?php _e('Creating store', 'ecwid-shopping-cart'); ?>
43
- </div>
44
-
45
- <div class="create-store-success-note ecwid-button-description">
46
- <?php _e('Preparing your store dashboard', 'ecwid-shopping-cart'); ?>
47
- </div>
48
-
49
- <div class="button-description-mobile">
50
- <?php _e('Free registration, No credit card required', 'ecwid-shopping-cart'); ?>
51
- </div>
52
- <div class="button-description-mobile on-error ecwid-connection-error">
53
- <?php printf( __( 'Connection error: please click the button again and give permissions for this plugin<br /> to show your %s store on this site.', 'ecwid-shopping-cart' ), Ecwid_Config::get_brand() ); ?>
54
- </div>
55
- <div class="create-store-have-account ecwid-button-description">
56
- <span class="create-store-have-account-question"><?php printf( __( 'Already have %s account?', 'ecwid-shopping-cart'), Ecwid_Config::get_brand() ); ?></span>
57
- <a class="create-store-have-account-link" href="admin-post.php?action=ec_connect"><?php _e('Connect your store to this site', 'ecwid-shopping-cart'); ?></a>
58
- </div>
59
- <div class="button-description-mobile">
60
- <?php printf( __( 'You will be asked to log in to your %s Control Panel<br />and give permissions to show your store on this site', 'ecwid-shopping-cart'), Ecwid_Config::get_brand() ); ?>
61
- </div>
62
- <div class="button-description-mobile">
63
- <h3><?php _e('Get ready to sell online', 'ecwid-shopping-cart'); ?></h3>
64
- </div>
65
- </div>
66
- <div class="ecwid-thank-background">
67
- <div class="ecwid-thank-background-tablet"><img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/tablet-iphone.png"></div>
68
- </div>
69
- </div>
70
- <div class="ecwid-description">
71
- <div class="ecwid-description-inner">
72
- <div class="ecwid-description-image"><img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/ecwid-description-image.jpg"></div>
73
- <div class="ecwid-description-text">
74
- <h2><?php _e( 'Sell Everywhere', 'ecwid-shopping-cart'); ?></h2>
75
- <p><?php _e('Start selling on your WordPress site. Then mirror your shop on your Facebook page, blog and marketplaces like Google Shopping, Yahoo and Shopping.com.', 'ecwid-shopping-cart'); ?></p>
76
- <p><?php printf( __( 'Use %s\'s mobile-POS to swipe credit cards and sell on the go. Your orders and inventory are always synchronized with your online store.', 'ecwid-shopping-cart'), Ecwid_Config::get_brand() ); ?></p>
77
- </div>
78
- </div>
79
- </div>
80
- <div class="ecwid-features">
81
- <div class="ecwid-features-inner">
82
- <h2><?php _e('Features', 'ecwid-shopping-cart'); ?></h2>
83
- <div class="ecwid-features-top">
84
- <div class="ecwid-features-top-item">
85
- <div class="ecwid-features-top-item-image">
86
- <img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/wordpress.svg">
87
- </div>
88
- <div class="ecwid-features-top-item-text">
89
- <h3><?php _e('Compatible with your theme', 'ecwid-shopping-cart'); ?></h3>
90
- <p><?php printf( __( '%s is compatible with your<br>“%s” WordPress theme<br>out of the box.', 'ecwid-shopping-cart' ), Ecwid_Config::get_brand(), ecwid_get_theme_name() ); ?></p>
91
- </div>
92
- </div>
93
- <div class="ecwid-features-top-item">
94
- <div class="ecwid-features-top-item-image">
95
- <img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/gift.svg" class="gift">
96
- </div>
97
- <div class="ecwid-features-top-item-text">
98
- <h3><?php _e('Free and always up to date', 'ecwid-shopping-cart'); ?></h3>
99
- <p><?php _e('Free plan always available with tons of features<br>at no additional cost. Updates are seamless, automatic<br>and free of charge.', 'ecwid-shopping-cart'); ?></p>
100
- </div>
101
- </div>
102
- </div>
103
- <div class="ecwid-features-bottom">
104
- <div class="ecwid-features-bottom-item">
105
- <div class="ecwid-features-bottom-item-image">
106
- <img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/responsive-grow.svg">
107
- </div>
108
- <div class="ecwid-features-bottom-item-text">
109
- <h3><?php _e('Responsive design', 'ecwid-shopping-cart'); ?></h3>
110
- <p><?php _e('Your store looks perfect<br />on all devices', 'ecwid-shopping-cart'); ?></p>
111
- </div>
112
- </div>
113
- <div class="ecwid-features-bottom-item">
114
- <div class="ecwid-features-bottom-item-image">
115
- <img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/secure-pci.svg" class="secure">
116
- </div>
117
- <div class="ecwid-features-bottom-item-text">
118
- <h3><?php _e('PCI DSS Certified', 'ecwid-shopping-cart'); ?></h3>
119
- <p><?php _e('Secure checkout with over 40<br />payment options', 'ecwid-shopping-cart'); ?></p>
120
- </div>
121
- </div>
122
- <div class="ecwid-features-bottom-item">
123
- <div class="ecwid-features-bottom-item-image">
124
- <img src="<?php echo ECWID_PLUGIN_URL; ?>images/landing/global.svg">
125
- </div>
126
- <div class="ecwid-features-bottom-item-text">
127
- <h3><?php _e('Global Reach', 'ecwid-shopping-cart'); ?></h3>
128
- <p><?php _e('Over 1 million merchants in 175 countries', 'ecwid-shopping-cart'); ?></p>
129
- </div>
130
- </div>
131
- </div>
132
- </div>
133
- </div>
134
- <div class="ecwid-start">
135
- <h2><?php _e('Start selling <br>on your WordPress <nobr>site for free</nobr>', 'ecwid-shopping-cart'); ?>
136
- </h2>
137
- <div class="ecwid-button">
138
- <button class="create-store-button btn btn-primary btn-large">
139
- <?php _e( 'Create Store', 'ecwid-shopping-cart'); ?>
140
- </button>
141
- <button class="create-store-loading btn btn-primary btn-large btn-loading">
142
- <div class="loader">
143
- <div class="ecwid-spinner spin-right">
144
- <svg width="60px" height="60px" viewBox="0 0 60 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
145
- <path class="loader-outer" d="M30,60 C46.5685425,60 60,46.5685425 60,30 C60,13.4314575 46.5685425,0 30,0 C13.4314575,0 0,13.4314575 0,30 C0,46.5685425 13.4314575,60 30,60 L30,60 Z"></path>
146
- <path class="loader-background" d="M30,56 C44.3594035,56 56,44.3594035 56,30 C56,15.6405965 44.3594035,4 30,4 C15.6405965,4 4,15.6405965 4,30 C4,44.3594035 15.6405965,56 30,56 L30,56 Z" fill="#FFFFFF"></path>
147
- <path class="loader-inner" d="M12.0224719,32.0224719 C10.9078652,32.0224719 10,31.1146067 10,30 C10,18.9707865 18.9707865,10 30,10 C31.1146067,10 32.0224719,10.9078652 32.0224719,12.0224719 C32.0224719,13.1370787 31.1146067,14.0449438 30,14.0449438 C21.2,14.0449438 14.0449438,21.2 14.0449438,30 C14.0449438,31.1146067 13.1370787,32.0224719 12.0224719,32.0224719 L12.0224719,32.0224719 Z M30,50 C28.8853933,50 27.9775281,49.0921348 27.9775281,47.9775281 C27.9775281,46.8629213 28.8853933,45.9550562 30,45.9550562 C38.8,45.9550562 45.9550562,38.8 45.9550562,30 C45.9550562,28.8853933 46.8629213,27.9775281 47.9775281,27.9775281 C49.0921348,27.9775281 50,28.8853933 50,30 C50,41.0292135 41.0292135,50 30,50 L30,50 Z" fill="#231F20"></path>
148
- </svg>
149
- </div>
150
- </div>
151
- </button>
152
-
153
- <button class="create-store-success btn btn-large btn-success btn-icon">
154
- <i class="icon-check"></i>
155
- <?php _e('Store is created', 'ecwid-shopping-cart'); ?>
156
- </button>
157
-
158
- <div class="create-store-loading-note ecwid-button-description">
159
- <?php _e('Creating store', 'ecwid-shopping-cart'); ?>
160
- </div>
161
-
162
- <div class="create-store-success-note ecwid-button-description">
163
- <?php _e('Preparing your store dashboard', 'ecwid-shopping-cart'); ?>
164
- </div>
165
-
166
- <div class="ecwid-button-description">
167
- <?php printf( __( 'Already have %s account?', 'ecwid-shopping-cart'), Ecwid_Config::get_brand() ); ?>
168
- <a href="admin-post.php?action=ec_connect"><?php _e('Connect your store to this site', 'ecwid-shopping-cart'); ?></a>
169
- </div>
170
- </div>
171
- </div>
172
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
templates/admin/simple-connect.tpl.php DELETED
@@ -1,60 +0,0 @@
1
- <?php
2
- $no_oauth = @$_GET['oauth'] == 'no';
3
- $connection_error = isset( $_GET['connection_error'] );
4
-
5
- $connect_url = 'admin-post.php?action=ec_connect';
6
- ?>
7
-
8
- <div class="wrap ecwid-admin ecwid-connect<?php if ($no_oauth): ?> no-oauth<?php else: ?> with-oauth<?php endif; ?>">
9
- <div class="ec-store-box">
10
- <?php require ECWID_PLUGIN_DIR . 'templates/admin-head.php'; ?>
11
-
12
- <div class="greeting-image">
13
- <img src="<?php echo(esc_attr(ECWID_PLUGIN_URL)); ?>/images/store_inprogress.png" width="142" />
14
- </div>
15
-
16
- <div class="greeting-message mobile-br">
17
- <?php _e( 'Connect your store<br /> to this WordPress site', 'ecwid-shopping-cart' ); ?>
18
- </div>
19
-
20
- <div class="connect-store-id no-oauth">
21
- <input type="text" id="ecwid-store-id" placeholder="<?php _e('Enter your Store ID', 'ecwid-shopping-cart'); ?>" />
22
- </div>
23
- <div class="connect-button">
24
-
25
- <a href="<?php echo $connect_url; ?>" class="with-oauth"><?php _e( 'Connect', 'ecwid-shopping-cart' ); ?></a>
26
- <a id="ecwid-connect-no-oauth" href="admin-post.php?action=ec_connect" class="no-oauth" style="white-space: nowrap; width:auto"><?php _e( 'Save and connect', 'ecwid-shopping-cart' ); ?></a>
27
- </div>
28
-
29
- <?php if (!$connection_error): ?>
30
-
31
- <div class="note initial with-oauth">
32
- <?php printf( __( 'To display your store on this site, you need to allow WordPress to access your %1$s products. Please press connect to provide permission.', 'ecwid-shopping-cart' ), Ecwid_Config::get_brand() ); ?>
33
- </div>
34
-
35
- <?php else: ?>
36
-
37
- <div class="note auth-error">
38
- <span>
39
- <?php _e( 'Connection error - after clicking button you need to login and accept permissions to use our plugin. Please, try again.', 'ecwid-shopping-cart' ); ?>
40
- </span>
41
- </div>
42
- <?php endif; ?>
43
-
44
- <?php if ($no_oauth): ?>
45
- <h4 class="no-oauth where-to-find-store-id" style="text-align: center"><?php _e('Where to find your Store ID:', 'ecwid-shopping-cart'); ?></h4>
46
- <div class="note no-oauth">
47
- <?php printf( __( 'Store ID is a unique identifier of your %1$s account. You can find it in your %1$s control panel: open the <a %2$s>Dashboard page</a> and find the "<b>Store ID: NNNNNNN</b>" text, where <b>NNNNNNN</b> is your Store&nbsp;ID.', 'ecwid-shopping-cart'), Ecwid_Config::get_brand(), 'href="https://' . Ecwid_Config::get_cpanel_domain() . '/cp/CP.html?source=wporg#dashboard" target="_blank"' ); ?>
48
- </div>
49
- <?php endif; ?>
50
-
51
- <?php if ( !Ecwid_Config::is_no_reg_wl() ): ?>
52
- <div class="create-account-link">
53
- <a target="_blank" href="<?php echo esc_attr(ecwid_get_register_link()); ?>">
54
- <?php printf( __( "Don't have an %s account? Create one now.", 'ecwid-shopping-cart' ), Ecwid_Config::get_brand() ); ?>
55
- </a>
56
- </div>
57
- <?php endif; ?>
58
- </div>
59
- <?php require ECWID_PLUGIN_DIR . 'templates/admin-footer.php'; ?>
60
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
templates/admin/simple-dashboard.php CHANGED
@@ -52,7 +52,7 @@
52
  <?php if ( Ecwid_Api_V3::is_available() && ecwid_get_admin_sso_url(time(), '') ): ?>
53
  href="admin-post.php?action=ecwid-do-sso"
54
  <?php else: ?>
55
- href="//<?php echo Ecwid_Config::get_cpanel_domain(); ?>/cp?source=wporg"
56
  <?php endif; ?>
57
 
58
  ><?php _e('Open control panel', 'ecwid-shopping-cart'); ?></a>
52
  <?php if ( Ecwid_Api_V3::is_available() && ecwid_get_admin_sso_url(time(), '') ): ?>
53
  href="admin-post.php?action=ecwid-do-sso"
54
  <?php else: ?>
55
+ href="//<?php echo Ecwid_Config::get_cpanel_domain(); ?>/cp"
56
  <?php endif; ?>
57
 
58
  ><?php _e('Open control panel', 'ecwid-shopping-cart'); ?></a>
templates/admin/simple-reconnect.tpl.php DELETED
@@ -1,54 +0,0 @@
1
- <?php
2
-
3
- $connection_error = isset( $_GET['connection_error'] );
4
- global $ecwid_oauth;
5
-
6
- ?>
7
- <div class="wrap ecwid-admin ecwid-connect ecwid-reconnect">
8
- <div class="ec-store-box">
9
- <?php require ECWID_PLUGIN_DIR . 'templates/admin-head.php'; ?>
10
-
11
- <div class="greeting-image">
12
- <img src="<?php echo(esc_attr(ECWID_PLUGIN_URL)); ?>/images/store_inprogress.png" width="142" />
13
- </div>
14
-
15
- <div class="greeting-message mobile-br">
16
- <?php _e( 'Connect your store<br /> to this WordPress site', 'ecwid-shopping-cart' ); ?>
17
- </div>
18
-
19
- <?php if ($ecwid_oauth->get_reconnect_message()): ?>
20
- <div class="note reconnect-message">
21
- <?php echo $ecwid_oauth->get_reconnect_message(); ?>
22
- </div>
23
- <?php endif; ?>
24
-
25
- <div class="connect-button">
26
- <a href="admin-post.php?action=ec_connect&reconnect"><?php _e( 'Connect', 'ecwid-shopping-cart' ); ?></a>
27
- </div>
28
-
29
- <?php if ($connection_error && $ecwid_oauth->get_error() == 'cancelled'): ?>
30
-
31
-
32
- <div class="note auth-error">
33
- <span>
34
- <?php _e( 'Connection error - after clicking button you need to login and accept permissions to use our plugin. Please, try again.', 'ecwid-shopping-cart' ); ?>
35
- </span>
36
- </div>
37
-
38
- <?php elseif ($connection_error && $ecwid_oauth->get_error() == 'other'): ?>
39
-
40
- <div class="note auth-error">
41
- <span>
42
- <?php printf( __( 'Looks like your site does not support remote POST requests that are required for %s API to work. Please, contact your hosting provider to enable cURL.', 'ecwid-shopping-cart' ), Ecwid_Config::get_brand() ); ?>
43
- </span>
44
- </div>
45
-
46
- <?php else: ?>
47
-
48
- <div class="note">
49
- <?php printf( __( 'To sell using %1$s, you must allow WordPress to access the %1$s plugin. The connect button will direct you to your %1$s account where you can provide permission.', 'ecwid-shopping-cart' ), Ecwid_Config::get_brand() ); ?>
50
- </div>
51
- <?php endif; ?>
52
- </div>
53
- <?php require_once ECWID_PLUGIN_DIR . 'templates/admin-footer.php'; ?>
54
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
templates/admin/storefront/area-additional.php ADDED
@@ -0,0 +1,255 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="named-area" data-ec-state="publish draft">
2
+ <div class="named-area__header">
3
+ <div class="named-area__titles"><div class="named-area__title"><?php _e( 'Additional store pages', 'ecwid-shopping-cart'); ?></div></div>
4
+ <div class="named-area__description"><?php _e( 'Highlight products, categories, and other store pages by adding them to separate website pages.', 'ecwid-shopping-cart'); ?></div>
5
+ </div>
6
+ <div class="named-area__body">
7
+
8
+ <div class="a-card a-card--compact">
9
+ <div class="a-card__paddings">
10
+ <div class="iconable-block iconable-block--hide-in-mobile">
11
+ <div class="iconable-block__infographics">
12
+ <span class="iconable-block__icon">
13
+ <?php
14
+ ecwid_embed_svg( 'admin-storefront/icons/cart-checkout' );
15
+ ?>
16
+ </span>
17
+ </div>
18
+ <div class="iconable-block__content">
19
+ <div class="cta-block">
20
+ <div class="cta-block__central">
21
+ <div class="cta-block__title"><?php _e( 'Add cart and checkout page', 'ecwid-shopping-cart'); ?></div>
22
+ <div class="cta-block__content">
23
+ <?php _e( 'Customers go to the cart page to review products they’ve added to the cart and proceed to the checkout.', 'ecwid-shopping-cart'); ?>
24
+ </div>
25
+ </div>
26
+ <div class="cta-block__cta">
27
+ <a href="#" class="btn btn-default btn-medium" data-storefront-create-page="cart"><?php _e( 'Create Cart Page', 'ecwid-shopping-cart'); ?></a>
28
+ </div>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ </div>
34
+
35
+ <div class="a-card a-card--compact">
36
+ <div class="a-card__paddings">
37
+ <div class="iconable-block iconable-block--hide-in-mobile">
38
+ <div class="iconable-block__infographics">
39
+ <span class="iconable-block__icon">
40
+ <?php
41
+ ecwid_embed_svg( 'admin-storefront/icons/search-filters' );
42
+ ?>
43
+ </span>
44
+ </div>
45
+ <div class="iconable-block__content">
46
+ <div class="cta-block">
47
+ <div class="cta-block__central">
48
+ <div class="cta-block__title"><?php _e( 'Add a search and filters page', 'ecwid-shopping-cart'); ?></div>
49
+ <div class="cta-block__content">
50
+ <?php _e( 'Show customers that they can use a search and filters to find desired products faster.', 'ecwid-shopping-cart'); ?>
51
+ </div>
52
+ </div>
53
+ <div class="cta-block__cta">
54
+ <a href="#" class="btn btn-default btn-medium" data-storefront-create-page="search"><?php _e( 'Create Search Page', 'ecwid-shopping-cart'); ?></a>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ </div>
61
+
62
+ <div class="a-card a-card--compact">
63
+ <div class="a-card__paddings">
64
+ <div class="iconable-block iconable-block--hide-in-mobile">
65
+ <div class="iconable-block__infographics">
66
+ <span class="iconable-block__icon">
67
+ <?php
68
+ ecwid_embed_svg( 'admin-storefront/icons/category' );
69
+ ?>
70
+ </span>
71
+ </div>
72
+ <div class="iconable-block__content">
73
+ <div class="cta-block">
74
+ <div class="cta-block__central">
75
+ <div class="cta-block__title"><?php _e( 'Add a category page', 'ecwid-shopping-cart'); ?></div>
76
+ <div class="cta-block__content">
77
+ <?php
78
+ if( $categories && count($categories) > 0 && count($categories) <= 100 ) {
79
+ _e( 'Feature a specific store category on a separate page of your site.', 'ecwid-shopping-cart');
80
+ } else {
81
+ _e( 'Feature a specific store category on a separate page of your site.', 'ecwid-shopping-cart');
82
+ }
83
+ ?>
84
+ </div>
85
+ </div>
86
+ <div class="cta-block__cta">
87
+
88
+ <?php if( $categories && count($categories) > 0 && count($categories) <= 100 ) { ?>
89
+ <div class="btn-group dropdown-toggle drop-right">
90
+ <button data-storefront-create-page="category" type="button" class="btn btn-default btn-medium" aria-hidden="true" style="display: none;"></button>
91
+ <div class="btn btn-default btn-dropdown btn-medium list-dropdown-no-general-text">
92
+ <span class="btn-dropdown-container">
93
+ <span class="actions"><?php _e( 'Pick Category', 'ecwid-shopping-cart'); ?></span>
94
+ </span>
95
+ <span class="icon-arr-down"></span>
96
+ </div>
97
+ <div class="list-dropdown list-dropdown-medium list-dropdown-scroll">
98
+ <ul>
99
+ <?php foreach( $categories as $category ) {?>
100
+ <li
101
+ data-storefront-create-page="category"
102
+ data-storefront-item-id="<?php echo $category->id?>"
103
+ ><a><?php echo $category->name?></a></li>
104
+ <?php } ?>
105
+ </ul>
106
+ </div>
107
+ </div>
108
+ <?php } else {?>
109
+ <a href="#" class="btn btn-default btn-medium" data-storefront-create-page="category"><?php _e( 'Create Category Page', 'ecwid-shopping-cart'); ?></a>
110
+ <?php } ?>
111
+
112
+ </div>
113
+ </div>
114
+ </div>
115
+ </div>
116
+ </div>
117
+ </div>
118
+
119
+ <div class="a-card a-card--compact">
120
+ <div class="a-card__paddings">
121
+ <div class="iconable-block iconable-block--hide-in-mobile">
122
+ <div class="iconable-block__infographics">
123
+ <span class="iconable-block__icon">
124
+ <?php
125
+ ecwid_embed_svg( 'admin-storefront/icons/product' );
126
+ ?>
127
+ </span>
128
+ </div>
129
+ <div class="iconable-block__content">
130
+ <div class="cta-block">
131
+ <div class="cta-block__central">
132
+ <div class="cta-block__title"><?php _e( 'Add a product page', 'ecwid-shopping-cart'); ?></div>
133
+ <div class="cta-block__content">
134
+ <?php
135
+ if( $products_total > 0 && $products_total <= 100 ) {
136
+ _e( 'Create a landing page featuring one of your products.', 'ecwid-shopping-cart');
137
+ } else {
138
+ _e( 'Create a landing page featuring one of your products.', 'ecwid-shopping-cart');
139
+ }
140
+ ?>
141
+ </div>
142
+ </div>
143
+ <div class="cta-block__cta">
144
+
145
+ <?php if( $products_total > 0 && $products_total <= 100 ) { ?>
146
+ <div class="btn-group dropdown-toggle drop-right">
147
+ <button data-storefront-create-page="category" type="button" class="btn btn-default btn-medium" aria-hidden="true" style="display: none;"></button>
148
+ <div class="btn btn-default btn-dropdown btn-medium list-dropdown-no-general-text">
149
+ <span class="btn-dropdown-container">
150
+ <span class="actions"><?php _e( 'Pick Product', 'ecwid-shopping-cart'); ?></span>
151
+ </span>
152
+ <span class="icon-arr-down"></span>
153
+ </div>
154
+ <div class="list-dropdown list-dropdown-medium list-dropdown-scroll">
155
+ <ul>
156
+ <?php foreach( $products as $product ) {?>
157
+ <li
158
+ data-storefront-create-page="product"
159
+ data-storefront-item-id="<?php echo $product->id?>"
160
+ ><a><?php echo $product->name?></a></li>
161
+ <?php } ?>
162
+ </ul>
163
+ </div>
164
+ </div>
165
+ <?php } else {?>
166
+ <a href="#" class="btn btn-default btn-medium" data-storefront-create-page="product"><?php _e( 'Create Product Page', 'ecwid-shopping-cart'); ?></a>
167
+ <?php } ?>
168
+
169
+ </div>
170
+ </div>
171
+ </div>
172
+ </div>
173
+ </div>
174
+ </div>
175
+
176
+ <div class="a-card a-card--compact">
177
+ <div class="a-card__paddings">
178
+ <div class="iconable-block iconable-block--hide-in-mobile">
179
+ <div class="iconable-block__infographics">
180
+ <span class="iconable-block__icon">
181
+ <?php
182
+ ecwid_embed_svg( 'admin-storefront/icons/add-another-page' );
183
+ ?>
184
+ </span>
185
+ </div>
186
+ <div class="iconable-block__content">
187
+ <div class="cta-block">
188
+ <div class="cta-block__central">
189
+ <div class="cta-block__title"><?php _e( 'Add your store to other site pages', 'ecwid-shopping-cart'); ?></div>
190
+ <div class="cta-block__content">
191
+ <?php
192
+ echo sprintf(
193
+ __( 'You can add the entire storefront, categories, products, or "Buy now" buttons to other pages on your site. To do that, open a page in the editor and add an appropriate %s block.', 'ecwid-shopping-cart'),
194
+ Ecwid_Config::get_brand()
195
+ );
196
+ ?>
197
+ </div>
198
+ </div>
199
+ <div class="cta-block__cta">
200
+ <a href="<?php echo admin_url( 'edit.php?post_type=page' ); ?>" target="_blank" class="btn btn-default btn-medium"><?php _e( 'Go to Pages', 'ecwid-shopping-cart'); ?></a>
201
+ </div>
202
+ </div>
203
+ </div>
204
+ </div>
205
+ </div>
206
+ </div>
207
+
208
+ <?php if( $store_pages ) { ?>
209
+ <div class="a-card a-card--compact">
210
+ <div class="a-card__paddings">
211
+ <div class="iconable-block iconable-block--hide-in-mobile">
212
+ <div class="iconable-block__infographics">
213
+ <span class="iconable-block__icon">
214
+ <?php
215
+ ecwid_embed_svg( 'admin-storefront/icons/choose-main-page' );
216
+ ?>
217
+ </span>
218
+ </div>
219
+ <div class="iconable-block__content">
220
+ <div class="cta-block">
221
+ <div class="cta-block__central">
222
+ <div class="cta-block__title"><?php _e( 'Choose the main store page', 'ecwid-shopping-cart'); ?></div>
223
+ <div class="cta-block__content">
224
+ <?php _e( 'Your store is added to several pages on the site. Choose the main page. Customers are directed to the main store page when they click on the cart icon, store links in the site menu, and products in the sidebar.', 'ecwid-shopping-cart'); ?>
225
+ </div>
226
+ <div class="cta-block__content">
227
+
228
+ <div class="fieldset fieldset--select fieldset--no-label">
229
+ <div class="field field--medium field--filled">
230
+ <select class="field__select" data-storefront-save-main-page="1">
231
+ <?php foreach ( $store_pages as $id ): ?>
232
+ <option
233
+ value="<?php echo $id; ?>"
234
+ <?php if ( $id == $page_id ): ?>
235
+ selected="selected"
236
+ <?php endif; ?>
237
+ ><?php esc_html_e( get_post( $id )->post_title ); ?></option>
238
+ <?php endforeach; ?>
239
+ </select>
240
+ <span class="field__arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 26" focusable="false"><path d="M7.85 10l5.02 4.9 5.27-4.9c.65-.66 1.71-.66 2.36 0 .65.67.65 1.74 0 2.4l-6.45 6.1c-.33.33-.76.5-1.18.5-.43 0-.86-.17-1.18-.5l-6.21-6.1c-.65-.66-.65-1.74 0-2.41.66-.65 1.72-.65 2.37.01z"></path></svg></span>
241
+ </div>
242
+ </div>
243
+
244
+ </div>
245
+ </div>
246
+ <div class="cta-block__cta"></div>
247
+ </div>
248
+ </div>
249
+ </div>
250
+ </div>
251
+ </div>
252
+ <?php } ?>
253
+
254
+ </div>
255
+ </div>
templates/admin/storefront/area-design.php ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="named-area" data-ec-state="publish draft">
2
+ <div class="named-area__header">
3
+ <div class="named-area__titles"><div class="named-area__title"><?php _e( 'Design and content', 'ecwid-shopping-cart'); ?></div></div>
4
+ <div class="named-area__description"><?php _e( 'Personalize your storefront\'s appearance and edit the content on the store page to reflect your brand and stay connected with your customers.', 'ecwid-shopping-cart'); ?></div>
5
+ </div>
6
+ <div class="named-area__body">
7
+
8
+ <div class="a-card a-card--compact">
9
+ <div class="a-card__paddings">
10
+ <div class="iconable-block">
11
+ <div class="iconable-block__infographics">
12
+ <span class="iconable-block__icon">
13
+ <?php
14
+ ecwid_embed_svg( 'admin-storefront/icons/site-appearance' );
15
+ ?>
16
+ </span>
17
+ </div>
18
+ <div class="iconable-block__content">
19
+ <div class="cta-block">
20
+ <div class="cta-block__central">
21
+ <div class="cta-block__title"><?php _e( 'Store appearance', 'ecwid-shopping-cart'); ?></div>
22
+ <div class="cta-block__content">
23
+ <?php
24
+ if( self::is_gutenberg_active() ) {
25
+ _e( 'Adjust your store design to fit your business needs.', 'ecwid-shopping-cart');
26
+ } else {
27
+ _e( 'Adjust your store design to fit your business needs.', 'ecwid-shopping-cart');
28
+ }
29
+ ?>
30
+ </div>
31
+ </div>
32
+ <div class="cta-block__cta">
33
+ <a href="<?php echo $design_edit_link;?>" target="_blank" class="btn btn-default btn-medium"><?php _e( 'Edit', 'ecwid-shopping-cart'); ?></a>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </div>
40
+
41
+ <div class="a-card a-card--compact">
42
+ <div class="a-card__paddings">
43
+ <div class="iconable-block">
44
+ <div class="iconable-block__infographics">
45
+ <span class="iconable-block__icon">
46
+ <?php
47
+ ecwid_embed_svg( 'admin-storefront/icons/site-content' );
48
+ ?>
49
+ </span>
50
+ </div>
51
+ <div class="iconable-block__content">
52
+ <div class="cta-block">
53
+ <div class="cta-block__central">
54
+ <div class="cta-block__title"><?php _e( 'Store page content', 'ecwid-shopping-cart'); ?></div>
55
+ <div class="cta-block__content"><?php _e( 'Along with the store catalog, you can add other widgets and texts to the store page.', 'ecwid-shopping-cart'); ?></div>
56
+ </div>
57
+ <div class="cta-block__cta">
58
+ <a href="<?php echo $page_edit_link; ?>" target="_blank" class="btn btn-default btn-medium">
59
+ <?php _e( 'Edit', 'ecwid-shopping-cart'); ?>
60
+ </a>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ </div>
67
+
68
+
69
+ </div>
70
+ </div>
templates/admin/storefront/area-navigation.php ADDED
@@ -0,0 +1,229 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="named-area" data-ec-state="publish draft">
2
+ <div class="named-area__header">
3
+ <div class="named-area__titles"><div class="named-area__title"><?php _e( 'Navigation', 'ecwid-shopping-cart'); ?></div></div>
4
+ <div class="named-area__description"><?php _e( 'Help customers find your store on the website.', 'ecwid-shopping-cart'); ?></div>
5
+ </div>
6
+ <div class="named-area__body">
7
+
8
+ <div class="a-card a-card--compact" data-ec-storefront-disabled-card="draft">
9
+ <div class="a-card__paddings">
10
+ <div class="iconable-block iconable-block--hide-in-mobile">
11
+ <div class="iconable-block__infographics">
12
+ <span class="iconable-block__icon">
13
+ <?php
14
+ ecwid_embed_svg( 'admin-storefront/icons/store-on-home-page' );
15
+ ?>
16
+ </span>
17
+ </div>
18
+ <div class="iconable-block__content">
19
+ <div class="cta-block">
20
+ <div class="cta-block__central">
21
+ <div class="cta-block__title"><?php _e( 'Show your store on the home page', 'ecwid-shopping-cart'); ?></div>
22
+ <div class="cta-block__content">
23
+ <?php
24
+ require __DIR__ . '/draft-message.php';
25
+ ?>
26
+
27
+ <div><?php
28
+ echo sprintf(
29
+ __( 'Add your storefront to the website home page to make it more prominent. You can also tweak the site home page settings in <a href="%s" target="_blank">WordPress Settings > Reading</a>', 'ecwid-shopping-cart'),
30
+ admin_url( 'options-reading.php' )
31
+ );
32
+ ?></div>
33
+ </div>
34
+ </div>
35
+ <div class="cta-block__cta">
36
+ <label class="checkbox big">
37
+ <input name="" type="checkbox" <?php if($store_on_front){?>checked=""<?php }?> data-storefront-checkbox="store_on_front">
38
+ <div data-on="enabled" data-off="disabled">
39
+ <div></div>
40
+ </div>
41
+ <span class="checkbox__on-text-placeholder">enabled</span>
42
+ <span class="checkbox__off-text-placeholder">disabled</span>
43
+ </label>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+
51
+ <?php if( Ecwid_Seo_Links::is_feature_available() ) {?>
52
+
53
+ <div class="a-card a-card--normal" data-storefront-card="change-link-form" style="display: none;">
54
+ <div class="a-card__paddings">
55
+ <div class="form-area">
56
+ <div class="form-area__title"><?php _e( 'Customize store page address', 'ecwid-shopping-cart'); ?></div>
57
+ <div class="form-area__content">
58
+ <div class="fieldsets-batch">
59
+ <?php
60
+ _e( 'A slug is the last part of a URL. You can create a custom slug for your store page. It’s better to keep it short since customers and search engines prefer short URLs. For example, use "/shop" or "/products".', 'ecwid-shopping-cart');
61
+ ?>
62
+ </div>
63
+ <div class="fieldsets-batch">
64
+ <div class="fieldset fieldset--no-label fieldset--with-prefix">
65
+ <div class="fieldset__field-wrapper">
66
+ <div class="field field--medium">
67
+ <label class="field__label"></label>
68
+ <input type="text" class="field__input" maxlength="64" name="post_name" value="<?php echo $page_slug; ?>" data-ec-store-slug-input="1">
69
+ <div class="field__placeholder"><?php _e( 'URL Slug', 'ecwid-shopping-cart' ); ?></div>
70
+ </div>
71
+ <div class="fieldset__field-prefix"><?php echo get_site_url();?>/</div>
72
+ </div>
73
+ <div class="field__error" aria-hidden="true" style="display: none;"></div>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ <div class="form-area__action">
78
+ <button type="button" class="btn btn-primary btn-medium" data-storefront-save-slug><?php _e( 'Save', 'ecwid-shopping-cart' ); ?></button>
79
+ <button type="button" class="btn btn-link btn-medium" data-storefront-show-card="change-link"><?php _e( 'Cancel', 'ecwid-shopping-cart' ); ?></button>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </div>
84
+
85
+ <div class="a-card a-card--compact" data-storefront-card="change-link" data-ec-storefront-disabled-card="draft">
86
+ <div class="a-card__paddings">
87
+ <div class="iconable-block iconable-block--hide-in-mobile">
88
+ <div class="iconable-block__infographics">
89
+ <span class="iconable-block__icon">
90
+ <?php
91
+ ecwid_embed_svg( 'admin-storefront/icons/customize-page-link' );
92
+ ?>
93
+ </span>
94
+ </div>
95
+ <div class="iconable-block__content">
96
+ <div class="cta-block">
97
+ <div class="cta-block__central">
98
+ <div class="cta-block__title"><?php _e( 'Customize store page address', 'ecwid-shopping-cart'); ?></div>
99
+
100
+ <div class="cta-block__content" data-ec-state="publish">
101
+ <b><?php echo sprintf(
102
+ __( 'Current URL slug: /<span data-ec-store-slug>%s</span>', 'ecwid-shopping-cart' ),
103
+ $page_slug
104
+ );
105
+ ?></b>
106
+ </div>
107
+
108
+ <div class="cta-block__content">
109
+ <?php
110
+ require __DIR__ . '/draft-message.php';
111
+ ?>
112
+ <?php
113
+ _e( 'A slug is the last part of a URL. You can create a custom slug for your store page. It’s better to keep it short since customers and search engines prefer short URLs. For example, use "/shop" or "/products".', 'ecwid-shopping-cart');
114
+ ?>
115
+ </div>
116
+ </div>
117
+ <div class="cta-block__cta">
118
+ <a href="<?php echo $page_edit_link; ?>" target="_blank" class="btn btn-default btn-medium" data-storefront-show-card="change-link-form"><?php _e( 'Edit URL Slug', 'ecwid-shopping-cart'); ?></a>
119
+ </div>
120
+ </div>
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </div>
125
+ <?php } ?>
126
+
127
+
128
+ <div class="a-card a-card--compact" data-ec-storefront-disabled-card="draft">
129
+ <div class="a-card__paddings">
130
+ <div class="iconable-block iconable-block--hide-in-mobile">
131
+ <div class="iconable-block__infographics">
132
+ <span class="iconable-block__icon">
133
+ <?php
134
+ ecwid_embed_svg( 'admin-storefront/icons/add-page-to-menu' );
135
+ ?>
136
+ </span>
137
+ </div>
138
+ <div class="iconable-block__content">
139
+ <div class="cta-block">
140
+ <div class="cta-block__central">
141
+ <div class="cta-block__title"><?php _e( 'Add store page to the site menu', 'ecwid-shopping-cart'); ?></div>
142
+ <div class="cta-block__content">
143
+ <?php
144
+ require __DIR__ . '/draft-message.php';
145
+ ?>
146
+
147
+ <div><?php _e( 'Make your store accessible from the site menu so your customers can easily find it.', 'ecwid-shopping-cart'); ?></div>
148
+ </div>
149
+ </div>
150
+ <div class="cta-block__cta">
151
+ <a href="<?php echo admin_url('nav-menus.php'); ?>" target="_blank" class="btn btn-default btn-medium"><?php _e( 'Add Store Page to Menu', 'ecwid-shopping-cart'); ?></a>
152
+ </div>
153
+ </div>
154
+ </div>
155
+ </div>
156
+ </div>
157
+ </div>
158
+
159
+
160
+ <div class="a-card a-card--compact">
161
+ <div class="a-card__paddings">
162
+ <div class="iconable-block iconable-block--hide-in-mobile">
163
+ <div class="iconable-block__infographics">
164
+ <span class="iconable-block__icon">
165
+ <?php
166
+ ecwid_embed_svg( 'admin-storefront/icons/feature-sidebar' );
167
+ ?>
168
+ </span>
169
+ </div>
170
+ <div class="iconable-block__content">
171
+ <div class="cta-block">
172
+ <div class="cta-block__central">
173
+ <div class="cta-block__title"><?php _e( 'Feature your products in the sidebar', 'ecwid-shopping-cart'); ?></div>
174
+ <div class="cta-block__content">
175
+ <?php _e( 'Highlight your best sellers or new products in the website sidebar.', 'ecwid-shopping-cart'); ?>
176
+ </div>
177
+ </div>
178
+ <div class="cta-block__cta">
179
+ <a href="<?php echo admin_url( 'widgets.php?highlight-ec-widgets=1' );?>" target="_blank" class="btn btn-default btn-medium"><?php _e( 'Manage Sidebar', 'ecwid-shopping-cart'); ?></a>
180
+ </div>
181
+ </div>
182
+ </div>
183
+ </div>
184
+ </div>
185
+ </div>
186
+
187
+ <?php if( class_exists( 'Ecwid_Floating_Minicart' ) ) {?>
188
+ <div class="a-card a-card--compact">
189
+ <div class="a-card__paddings">
190
+ <div class="iconable-block iconable-block--hide-in-mobile">
191
+ <div class="iconable-block__infographics">
192
+ <span class="iconable-block__icon">
193
+ <?php
194
+ ecwid_embed_svg( 'admin-storefront/icons/show-shopping-cart-icon' );
195
+ ?>
196
+ </span>
197
+ </div>
198
+ <div class="iconable-block__content">
199
+ <div class="cta-block">
200
+ <div class="cta-block__central">
201
+ <div class="cta-block__title"><?php _e( 'Display the shopping cart icon on site pages', 'ecwid-shopping-cart'); ?></div>
202
+ <div class="cta-block__content">
203
+ <?php
204
+ echo sprintf(
205
+ __( 'The shopping cart icon shows the number of items in the cart and helps customers proceed to the checkout. Additionally, you can <a href="%s" target="_blank">adjust the cart icon appearance</a>.', 'ecwid-shopping-cart'),
206
+ $customizer_minicart_link
207
+ );
208
+ ?>
209
+ </div>
210
+ </div>
211
+ <div class="cta-block__cta">
212
+ <label class="checkbox big">
213
+ <input name="" type="checkbox" <?php if(!$minicart_hide) {?>checked=""<?php } ?> data-storefront-checkbox="display_cart_icon">
214
+ <div data-on="enabled" data-off="disabled">
215
+ <div></div>
216
+ </div>
217
+ <span class="checkbox__on-text-placeholder">enabled</span>
218
+ <span class="checkbox__off-text-placeholder">disabled</span>
219
+ </label>
220
+ </div>
221
+ </div>
222
+ </div>
223
+ </div>
224
+ </div>
225
+ </div>
226
+ <?php } ?>
227
+
228
+ </div>
229
+ </div>
templates/admin/storefront/area-promo.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="named-area" data-ec-state="demo no-pages">
2
+ <div class="named-area__header">
3
+ <div class="named-area__titles"><div class="named-area__title"><?php _e( "What's next?" , 'ecwid-shopping-cart'); ?></div></div>
4
+ <div class="named-area__description">
5
+ <?php
6
+ echo sprintf(
7
+ __( 'Add your %s store to the website and start selling in minutes.', 'ecwid-shopping-cart'),
8
+ Ecwid_Config::get_brand()
9
+ );
10
+ ?>
11
+ </div>
12
+ </div>
13
+ <div class="named-area__body">
14
+
15
+ <div class="a-card a-card--compact">
16
+ <div class="a-card__paddings">
17
+ <div class="promo-row">
18
+ <div class="promo-row__content">
19
+ <ul class="titled-items-list titled-items-list--ordered">
20
+ <li class="titled-items-list__item titled-item">
21
+ <div class="titled-item__title"><?php _e( "Customize store appearance" , 'ecwid-shopping-cart'); ?></div>
22
+ <div class="titled-item__content"><?php _e( "Customize your store’s appearance to fit your business needs. Give your store the exact look and feel that reflects your brand." , 'ecwid-shopping-cart'); ?></div>
23
+ </li>
24
+ <li class="titled-items-list__item titled-item">
25
+ <div class="titled-item__title"><?php _e( "Change store content" , 'ecwid-shopping-cart'); ?></div>
26
+ <div class="titled-item__content"><?php _e( "Stay connected with your customers. Update the content of your store anytime to tell customers about ongoing promotions and what's new in your store." , 'ecwid-shopping-cart'); ?></div>
27
+ </li>
28
+ <li class="titled-items-list__item titled-item">
29
+ <div class="titled-item__title"><?php _e( "Promote your store" , 'ecwid-shopping-cart'); ?></div>
30
+ <div class="titled-item__content"><?php _e( "Help customers find your store on the site. Add the store link to the site menu, create additional store pages, and highlight store products on other site pages and in sidebars." , 'ecwid-shopping-cart'); ?></div>
31
+ </li>
32
+ </ul>
33
+ </div>
34
+ <div class="promo-row__image"><img src="<?php echo esc_attr( ECWID_PLUGIN_URL ); ?>/images/admin-storefront/customize-promo.png"></div>
35
+ </div>
36
+ </div>
37
+ </div>
38
+
39
+ </div>
40
+ </div>
templates/admin/storefront/area-status.php ADDED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="named-area">
2
+ <div class="named-area__header">
3
+ <div class="named-area__titles">
4
+ <div class="named-area__title"><?php _e('Store page on your site', 'ecwid-shopping-cart'); ?></div>
5
+
6
+ <div class="named-area__subtitle" data-ec-state="demo">
7
+ <?php _e( 'While your store is not connected, a demo store displays on your site. Check it to get the idea of how your store may look on the site.', 'ecwid-shopping-cart' ); ?>
8
+ </div>
9
+ <div class="named-area__subtitle" data-ec-state="no-pages">
10
+ <?php _e( 'To start selling, add a page to your site where the storefront will display.', 'ecwid-shopping-cart' ); ?>
11
+ </div>
12
+ </div>
13
+ </div>
14
+ <div class="named-area__body">
15
+ <div class="a-card a-card--normal">
16
+ <div class="a-card__paddings">
17
+ <div class="feature-element has-picture">
18
+ <div class="feature-element__core">
19
+ <div class="feature-element__data">
20
+
21
+ <div class="feature-element__title" data-ec-state="publish draft"><?php _e('Your store page', 'ecwid-shopping-cart'); ?></div>
22
+ <div class="feature-element__title" data-ec-state="demo">
23
+ <?php echo sprintf(
24
+ __('Connect your %s store', 'ecwid-shopping-cart'),
25
+ Ecwid_Config::get_brand()
26
+ );
27
+ ?>
28
+ </div>
29
+ <div class="feature-element__title" data-ec-state="no-pages"><?php _e('Add a store page', 'ecwid-shopping-cart'); ?></div>
30
+
31
+ <div class="feature-element__status" data-ec-state="publish draft">
32
+ <span class="feature-element__status-title success" data-ec-state="publish">
33
+ <?php _e('Status', 'ecwid-shopping-cart'); ?>:
34
+ </span>
35
+ <span class="feature-element__status-title error" data-ec-state="draft">
36
+ <?php _e('Status', 'ecwid-shopping-cart'); ?>:
37
+ </span>
38
+
39
+ <div class="feature-element__status-dropdown-container">
40
+
41
+ <div class="dropdown-menu text-default">
42
+
43
+ <div class="dropdown-menu__link">
44
+ <a class="iconable-link">
45
+ <div class="iconable-link__text" data-ec-state="publish"><?php _e( 'Published', 'ecwid-shopping-cart' ); ?></div>
46
+ <div class="iconable-link__text" data-ec-state="draft"><?php _e( 'Draft', 'ecwid-shopping-cart' ); ?></div>
47
+ &zwj;
48
+ <span class="iconable-link__icon">
49
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 28" focusable="false"><path d="M3.3 9.5l5.6 5.1 6-5.1c.8-.7 1.9-.7 2.6 0 .8.7.8 1.8 0 2.5l-7.2 6.4c-.5.4-1 .6-1.4.6s-1-.2-1.3-.5L.7 12.1c-.8-.7-.8-1.8 0-2.5.6-.8 1.9-.8 2.6-.1z"></path></svg>
50
+ </span>
51
+ </a>
52
+ </div>
53
+
54
+ <div class="list-dropdown list-dropdown-medium" style="display: none;" aria-hidden="true">
55
+ <ul data-ec-state="publish">
56
+ <?php self::render_dropdown_list_items( self::get_dropdown_items('publish', $page_data) ); ?>
57
+ </ul>
58
+
59
+ <ul data-ec-state="draft">
60
+ <?php self::render_dropdown_list_items( self::get_dropdown_items('draft', $page_data) ); ?>
61
+ </ul>
62
+ </div>
63
+ </div>
64
+
65
+ <a class="iconable-link text-default simple-svg-loader" style="display: none;" aria-hidden="true">
66
+ <div class="iconable-link__text"><?php echo ucfirst($page_status); ?></div>
67
+ &zwj;
68
+ <span class="iconable-link__icon">
69
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" focusable="false"><path d="M14,27C6.83,27,1,21.17,1,14c0-1.56,0.27-3.08,0.81-4.52C2.1,8.7,2.96,8.31,3.74,8.59c0.78,0.29,1.17,1.15,0.88,1.93 C4.21,11.63,4,12.8,4,14c0,5.51,4.49,10,10,10c5.51,0,10-4.49,10-10c0-5.51-4.49-10-10-10c-0.83,0-1.5-0.67-1.5-1.5S13.17,1,14,1 c7.17,0,13,5.83,13,13C27,21.17,21.17,27,14,27z"></path></svg>
70
+ </span>
71
+ </a>
72
+ </div>
73
+ </div>
74
+
75
+ <div class="feature-element__status" data-ec-state="demo">
76
+ <a class="iconable-link iconable-link--append" href="<?php echo $page_link; ?>" target="_blank">
77
+ <span class="iconable-link__text"><?php _e( 'View demo store page', 'ecwid-shopping-cart' ); ?></span>
78
+ <span class="iconable-link__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28"><path d="M25.5 15.39c-.83 0-1.5.67-1.5 1.5v4.41c0 1.49-1.21 2.71-2.71 2.71H6.71A2.72 2.72 0 0 1 4 21.29V6.71C4 5.21 5.21 4 6.71 4h4.45c.83 0 1.5-.67 1.5-1.5S11.99 1 11.16 1H6.71C3.56 1 1 3.56 1 6.71v14.58C1 24.44 3.56 27 6.71 27h14.58c3.15 0 5.71-2.56 5.71-5.71v-4.41c0-.82-.67-1.49-1.5-1.49z"></path><path d="M25.05 1h-7.37c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5h4.2l-9.94 9.94a1.49 1.49 0 0 0 0 2.12c.29.29.68.44 1.06.44s.77-.15 1.06-.44L24 6.12v4.2c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V2.95C27 1.87 26.13 1 25.05 1z"></path></svg></span>
79
+ </a>
80
+ </div>
81
+
82
+
83
+ <div class="feature-element__content" data-ec-state="publish">
84
+ <div class="feature-element__text">
85
+ <?php
86
+ _e('Your store page is published. Customers can browse your store at ', 'ecwid-shopping-cart');
87
+
88
+ echo sprintf( '<a href="%s" target="_blank" data-ec-store-link="1">%s</a>', $page_link, urldecode($page_link) );
89
+ ?>
90
+ </div>
91
+ <div class="feature-element__action">
92
+ <a href="<?php echo $page_link;?>" class="feature-element__button btn btn-default btn-medium" target="_blank"><?php _e('View Store Page', 'ecwid-shopping-cart'); ?></a>
93
+ </div>
94
+ </div>
95
+
96
+ <div class="feature-element__content" data-ec-state="draft">
97
+ <div class="feature-element__text">
98
+ <p><?php _e('Your store page is currently in draft. Once you are ready, publish it to let customers browse the store and place orders.', 'ecwid-shopping-cart'); ?></p>
99
+ </div>
100
+ <div class="feature-element__action">
101
+ <a class="feature-element__button btn btn-primary btn-medium" data-storefront-status="1"><?php _e('Publish Store Page', 'ecwid-shopping-cart'); ?></a>
102
+ </div>
103
+ </div>
104
+
105
+ <div class="feature-element__content" data-ec-state="demo">
106
+ <div class="feature-element__text">
107
+ <p><?php
108
+ echo sprintf(
109
+ __('To show your storefront instead of the demo store, connect your existing %s account or create a new one.', 'ecwid-shopping-cart'),
110
+ Ecwid_Config::get_brand()
111
+ );
112
+ ?></p>
113
+ </div>
114
+ <div class="feature-element__action">
115
+ <a href="<?php echo admin_url('admin.php?page=ec-store&return-url=') . urlencode(self::get_relative_page_url());?>" class="feature-element__button btn btn-primary btn-medium"><?php _e('Set Up Your Store', 'ecwid-shopping-cart'); ?></a>
116
+ </div>
117
+ </div>
118
+
119
+ <div class="feature-element__content" data-ec-state="no-pages">
120
+ <div class="feature-element__text">
121
+ <p><?php _e('Your store is not added to any page on your site. To let customers browse your store and place orders, create a page where the store will display.', 'ecwid-shopping-cart'); ?></p>
122
+ </div>
123
+ <div class="feature-element__action">
124
+ <a class="feature-element__button btn btn-primary btn-medium" data-storefront-create-page="store"><?php _e('Create Store Page', 'ecwid-shopping-cart'); ?></a>
125
+ </div>
126
+ </div>
127
+ </div>
128
+
129
+ <div class="feature-element__picture">
130
+ <img src="<?php echo esc_attr( ECWID_PLUGIN_URL ); ?>/images/admin-storefront/store-default.png" data-ec-state="publish"/>
131
+ <img src="<?php echo esc_attr( ECWID_PLUGIN_URL ); ?>/images/admin-storefront/store-draft.png" data-ec-state="draft"/>
132
+ <img src="<?php echo esc_attr( ECWID_PLUGIN_URL ); ?>/images/admin-storefront/store-create.png" data-ec-state="demo no-pages"/>
133
+ </div>
134
+ </div>
135
+ </div>
136
+ </div>
137
+ </div>
138
+ </div>
139
+ </div>
templates/admin/storefront/draft-message.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <div class="text-default warning" data-ec-state="draft">
2
+ <b><?php _e( 'Publish the page to use this option', 'ecwid-shopping-cart' );?></b>
3
+ </div>
templates/admin/storefront/main.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="ec-storefront-settings" class="settings-page" data-ec-storefront-status="<?php echo $page_status; ?>" >
2
+ <div class="settings-page__header">
3
+ <div class="settings-page__titles settings-page__titles--left">
4
+ <h1 class="settings-page__title"><?php _e('Your Storefront', 'ecwid-shopping-cart'); ?></h1>
5
+ <div class="settings-page__subtitle"></div>
6
+ </div>
7
+
8
+ <?php
9
+ if( $need_show_draft_warning ) {
10
+ ?>
11
+ <div class="a-card a-card--compact a-card--warning" data-ec-state="draft">
12
+ <div class="a-card__paddings">
13
+ <div class="iconable-block iconable-block--hide-in-mobile iconable-block--warning">
14
+ <div class="iconable-block__infographics">
15
+ <span class="iconable-block__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 70 70" focusable="false"><path d="M34.5 67C16.58 67 2 52.42 2 34.5S16.58 2 34.5 2 67 16.58 67 34.5 52.42 67 34.5 67zm0-62C18.23 5 5 18.23 5 34.5S18.23 64 34.5 64 64 50.77 64 34.5 50.77 5 34.5 5z"></path><path d="M34.5 49c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5zM35.5 38.57h-2l-1-14c0-1.17.89-2.07 2-2.07s2 .9 2 2l-1 14.07z"></path></svg></span>
16
+ </div>
17
+ <div class="iconable-block__content">
18
+ <div class="cta-block">
19
+ <div class="cta-block__central">
20
+ <div class="cta-block__title"><?php _e('The store is not visible on your site', 'ecwid-shopping-cart'); ?></div>
21
+ <div class="cta-block__content"><?php _e('Customers can’t see your store page because it’s in draft. Publish the page to make it available for your customers.', 'ecwid-shopping-cart'); ?></div>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ <?php
29
+ }
30
+ ?>
31
+
32
+ <?php require self::$templates_dir . '/area-status.php'; ?>
33
+
34
+ <?php require self::$templates_dir . '/area-design.php'; ?>
35
+
36
+ <?php require self::$templates_dir . '/area-navigation.php'; ?>
37
+
38
+ <?php require self::$templates_dir . '/area-additional.php'; ?>
39
+
40
+ <?php require self::$templates_dir . '/area-promo.php'; ?>
41
+
42
+ </div>
43
+
44
+ </div>
45
+
templates/admin/welcome-connect.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="ec-form">
2
+ <div class="ec-button">
3
+ <form action="<?php echo $connect_url; ?>" method="post">
4
+ <button type="submit" class="btn btn--large btn--orange"><?php _e( 'Connect Your Store', 'ecwid-shopping-cart' ); ?></button>
5
+ </form>
6
+ </div>
7
+ <?php if ( !Ecwid_Config::is_no_reg_wl() ) { ?>
8
+ <a target="_blank" href="<?php echo esc_attr(ecwid_get_register_link()); ?>"><?php _e( 'Create store', 'ecwid-shopping-cart' ); ?>&nbsp;&rsaquo;</a>
9
+ <?php } ?>
10
+ </div>
11
+
12
+ <?php
13
+ if( !$connection_error ) {
14
+
15
+ $note = sprintf(
16
+ __( 'To display your store on this site, you need to allow WordPress to access your %1$s products. Please press connect to provide permission.', 'ecwid-shopping-cart' ),
17
+ Ecwid_Config::get_brand()
18
+ );
19
+
20
+ echo $this->get_welcome_page_note( $note );
21
+
22
+ } else {
23
+
24
+ $error_note = __( 'Connection error - after clicking button you need to login and accept permissions to use our plugin. Please, try again.', 'ecwid-shopping-cart' );
25
+
26
+ $oauth_error = $ecwid_oauth->get_error();
27
+
28
+ if( !empty($oauth_error) ) {
29
+ if ($ecwid_oauth->get_error() == 'other') {
30
+
31
+ $error_note = sprintf( __( 'Looks like your site does not support remote POST requests that are required for %s API to work. Please, contact your hosting provider to enable cURL.', 'ecwid-shopping-cart' ), Ecwid_Config::get_brand() );
32
+ } else {
33
+
34
+ $error_note = sprintf( __( 'To sell using %1$s, you must allow WordPress to access the %1$s plugin. The connect button will direct you to your %1$s account where you can provide permission.', 'ecwid-shopping-cart' ), Ecwid_Config::get_brand() );
35
+ }
36
+ }
37
+
38
+ echo $this->get_welcome_page_note( $error_note, 'ec-connection-error' );
39
+ }
40
+
41
+ if( $ecwid_oauth->get_reconnect_message() ) {
42
+ echo $this->get_welcome_page_note( $ecwid_oauth->get_reconnect_message() );
43
+ }
44
+
45
+ ?>
templates/admin/welcome-create.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="ec-form">
2
+ <div class="ec-button">
3
+
4
+ <button type="button" class="ec-create-store-button btn btn--large btn--orange"><?php _e( 'Create Store', 'ecwid-shopping-cart' ); ?></button>
5
+
6
+ </div>
7
+ <a href="<?php echo $connect_url; ?>" class="ec-connect-store"><?php _e( 'Connect your store', 'ecwid-shopping-cart' ); ?>&nbsp;&rsaquo;</a>
8
+ </div>
9
+
10
+ <div class="ec-note ec-create-store-note">
11
+ &nbsp;
12
+ </div>
13
+
14
+ <div class="ec-note ec-create-store-success-note">
15
+ <?php _e('Your store has been created. Preparing your store dashboard ...', 'ecwid-shopping-cart'); ?>
16
+ </div>
templates/admin/welcome-no_oauth.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="form-block">
2
+ <div class="form-block__input">
3
+ <input type="input" id="ecwid-store-id" class="form-block__element" placeholder="<?php _e( 'Enter your Store ID', 'ecwid-shopping-cart' ); ?>" value="" size="32" />
4
+ </div>
5
+ <div class="form-block__group-append">
6
+ <button id="ecwid-connect-no-oauth" data-href="admin-post.php?action=ec_connect" class="btn btn--orange btn--medium btn--no-animate form-block__btn form-block__element" type="button"><?php _e( 'Connect', 'ecwid-shopping-cart' ); ?></button>
7
+ </div>
8
+ </div>
9
+ <div class="ec-note">
10
+ <?php echo sprintf(
11
+ __( 'Store ID is a unique identifier of your %1$s account. You can find it in your %1$s control panel on the <a %2$s>Dashboard page</a>.', 'ecwid-shopping-cart' ),
12
+ Ecwid_Config::get_brand(),
13
+ 'href="https://' . Ecwid_Config::get_cpanel_domain() . '/cp/CP.html?partner=wporg#dashboard" target="_blank"'
14
+ ); ?>
15
+ </div>
templates/admin/welcome-page.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="ec-page ec-page--welcome calypso-page">
2
+ <div class="ec-page__body">
3
+ <div class="ec-content">
4
+ <div class="ec-logo">
5
+ <?php
6
+ if( !Ecwid_Config::is_wl() ) {
7
+ ecwid_embed_svg( 'ec-logo' );
8
+ }
9
+ ?>
10
+ </div>
11
+ <h2>
12
+ <?php _e( 'Add an Online Store to Your Website', 'ecwid-shopping-cart' ); ?>
13
+ </h2>
14
+
15
+ <?php if( $state == 'create' || $state == 'connect' ) { ?>
16
+
17
+ <div class="ec-subheading">
18
+ <p>
19
+ <?php echo sprintf(
20
+ __( 'Create a new store or connect an existing one, if you already have an %s account. The plugin will guide you through store setup and help publish it on your website.', 'ecwid-shopping-cart' ),
21
+ Ecwid_Config::get_brand()
22
+ ); ?>
23
+ </p>
24
+ </div>
25
+
26
+ <?php } ?>
27
+
28
+ <?php if( $state == 'no_oauth' ) { ?>
29
+
30
+ <div class="ec-subheading">
31
+ <p>
32
+ <?php echo sprintf(
33
+ __( 'To add your store to your website, put your %1$s Store ID in the field below. If you don\'t have an %1$s account yet, create one for free on the <a %2$s>%1$s website</a>.', 'ecwid-shopping-cart' ),
34
+ Ecwid_Config::get_brand(),
35
+ 'href="' . esc_attr(ecwid_get_register_link()) . '" target="_blank"'
36
+ ); ?>
37
+ </p>
38
+ </div>
39
+
40
+ <?php } ?>
41
+
42
+ <?php
43
+ if( $state == 'create' ) {
44
+ require_once ECWID_ADMIN_TEMPLATES_DIR . '/welcome-create.php';
45
+ }
46
+
47
+ if( $state == 'connect' ) {
48
+ require_once ECWID_ADMIN_TEMPLATES_DIR . '/welcome-connect.php';
49
+ }
50
+
51
+ if( $state == 'no_oauth' ) {
52
+ require_once ECWID_ADMIN_TEMPLATES_DIR . '/welcome-no_oauth.php';
53
+ }
54
+ ?>
55
+
56
+ </div>
57
+
58
+ <?php if( !Ecwid_Config::is_wl() ) { ?>
59
+ <div class="ec-poweredby">
60
+ <?php echo sprintf(
61
+ __( 'Provided by <a %s>%s</a>', 'ecwid-shopping-cart' ),
62
+ 'href="https://www.ecwid.com?partner=wporg" target="_blank"',
63
+ 'ecwid.com'
64
+ ); ?>
65
+ </div>
66
+ <?php } ?>
67
+ </div>
68
+ </div>
templates/advanced-settings.php CHANGED
@@ -8,42 +8,6 @@
8
  <input type="hidden" name="settings_section" value="advanced" />
9
 
10
  <fieldset>
11
-
12
- <?php if ( Ecwid_Seo_Links::should_display_option() ): ?>
13
- <div class="pure-control-group checkbox">
14
- <div class="label">
15
- <label for="<?php echo Ecwid_Seo_Links::OPTION_ENABLED; ?>">
16
-
17
- <input
18
- id="<?php echo Ecwid_Seo_Links::OPTION_ENABLED; ?>"
19
- name="<?php echo Ecwid_Seo_Links::OPTION_ENABLED; ?>"
20
- type="checkbox"
21
- <?php if ( Ecwid_Seo_Links::is_enabled() ): ?>
22
- checked="checked"
23
- <?php endif; ?>
24
- value="Y"
25
- <?php if ( !Ecwid_Seo_Links::is_feature_available() ): ?>
26
- disabled="disabled"
27
- <?php endif; ?>
28
- />
29
- <?php _e('SEO friendly clean URLs', 'ecwid-shopping-cart'); ?>
30
- </label>
31
-
32
- <?php if ( Ecwid_Seo_Links::is_feature_available() ): ?>
33
- <div class="note">
34
- <?php _e( 'This enables new clean URLs format in your store. The new urls do not contain hash sign (\'#\'), so they look nicer and are better indexed by Google.', 'ecwid-shopping-cart' ); ?>
35
- </div>
36
- <?php else: ?>
37
- <div class="note">
38
- <?php printf( __( 'To enable clean URLs in your store, you will need to enable pretty permalinks in your WordPress site settings. Navigate to <a%s>Settings->Permalink</a> and enable the "Post name" permalink type.', 'ecwid-shopping-cart' ), ' href="' . admin_url( 'options-permalink.php' ) . '"'); ?>
39
- </div>
40
- <?php endif; ?>
41
-
42
- </div>
43
- </div>
44
-
45
- <hr />
46
- <?php endif; ?>
47
 
48
  <div class="pure-control-group checkbox">
49
  <div class="label">
@@ -93,131 +57,37 @@
93
  </div>
94
  </div>
95
 
96
- <?php if ( get_option( 'ecwid_use_chameleon' ) ): ?>
97
-
98
- <hr />
99
-
100
- <div class="pure-control-group checkbox">
101
- <div class="label">
102
- <label for="ecwid_use_chameleon">
103
-
104
- <input
105
- id="ecwid_use_chameleon"
106
- name="ecwid_use_chameleon"
107
- type="checkbox"
108
- <?php if (get_option('ecwid_use_chameleon')): ?>
109
- checked="checked"
110
- <?php endif; ?>
111
- />
112
- <?php _e('Chameleon skin', 'ecwid-shopping-cart'); ?>
113
- </label>
114
-
115
- <div class="note">
116
- <?php printf( __( 'Automatic adjustment of your store design to your WordPress theme. Whatever WordPress theme you use, %s will detect predominant colors and font and use them in your product catalog.', 'ecwid-shopping-cart'), Ecwid_Config::get_brand() ); ?>
117
- </div>
118
- <div class="note grayed-links">
119
- <?php echo sprintf(__( 'Please note this functionality is in beta. So if you run into difficulties or find problems with Chameleon, please <a %s>let us know</a>.', 'ecwid-shopping-cart'), ' target="_blank" href="' . esc_html__( Ecwid_Config::get_contact_us_url(), 'ecwid-shopping-cart' ) . '"' ); ?>
120
- </div>
121
- </div>
122
- <?php endif; ?>
123
  <hr />
124
 
125
- <?php if ( count ( Ecwid_Store_Page::get_store_pages_array_for_selector() ) > 1 ): ?>
126
- <div class="pure-control-group">
127
  <div class="label">
128
- <label for="<?php echo Ecwid_Store_Page::OPTION_MAIN_STORE_PAGE_ID; ?>">
129
- <?php _e('Main storefront page', 'ecwid-shopping-cart'); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  </label>
131
- <select id="<?php echo Ecwid_Store_Page::OPTION_MAIN_STORE_PAGE_ID; ?>" name="<?php echo Ecwid_Store_Page::OPTION_MAIN_STORE_PAGE_ID; ?>">
132
- <?php foreach ( Ecwid_Store_Page::get_store_pages_array_for_selector() as $id ): ?>
133
- <option
134
- value="<?php echo $id; ?>"
135
- <?php if ( $id == Ecwid_Store_Page::get_current_store_page_id() ): ?>
136
- selected="selected"
137
- <?php endif; ?>
138
- ><?php esc_html_e( get_post( $id )->post_title ); ?></option>
139
- <?php endforeach; ?>
140
- </select>
141
-
142
 
143
  <div class="note">
144
- <?php _e( 'You have your storefront added to several pages on your site. You can choose the main storefront page here the store navigation menus and sidebar widgets will open it.', 'ecwid-shopping-cart' ); ?>
145
  </div>
146
  </div>
147
  </div>
148
- <hr />
149
-
150
- <?php endif; ?>
151
-
152
-
153
- <div class="pure-control-group checkbox">
154
- <div class="label">
155
- <label for="<?php echo Ecwid_Products::OPTION_ENABLED; ?>">
156
-
157
- <input
158
- id="<?php echo Ecwid_Products::OPTION_ENABLED; ?>"
159
- name="<?php echo Ecwid_Products::OPTION_ENABLED; ?>"
160
- type="checkbox"
161
- <?php if ( Ecwid_Products::is_enabled() ): ?>
162
- checked="checked"
163
- <?php endif; ?>
164
- value="Y"
165
- <?php if ( !Ecwid_Products::is_feature_available() ): ?>
166
- disabled="disabled"
167
- <?php endif; ?>
168
- />
169
- <?php _e('Integration with search on your site', 'ecwid-shopping-cart'); ?>
170
- </label>
171
-
172
- <div class="note">
173
- <?php echo sprintf( __( '%s stores your products data in a secure cloud storage. The product pages are displayed on the fly when a customer browses your store. So, basically, the products are not stored on the site, that\'s why the site search doesn\'t find product pages while looking through site pages and posts. This option enables a local storage mode: the products will be stored both in the cloud and on your site. The site search results will list product pages as well as regular pages/posts of your site.', 'ecwid-shopping-cart' ), Ecwid_Config::get_brand() ); ?>
174
- </div>
175
- </div>
176
- </div>
177
-
178
- <?php ecwid_sync_do_page(); ?>
179
-
180
- <hr />
181
-
182
-
183
- <div class="pure-control-group checkbox">
184
- <div class="label">
185
-
186
- <input type="hidden" name="<?php echo Ecwid_Static_Page::OPTION_IS_ENABLED; ?>" value="<?php echo Ecwid_Static_Page::OPTION_VALUE_DISABLED; ?>" />
187
-
188
- <label for="<?php echo Ecwid_Static_Page::OPTION_IS_ENABLED; ?>">
189
-
190
- <input
191
- id="<?php echo Ecwid_Static_Page::OPTION_IS_ENABLED; ?>"
192
- name="<?php echo Ecwid_Static_Page::OPTION_IS_ENABLED; ?>"
193
- type="checkbox"
194
-
195
- <?php if ( get_option( Ecwid_Static_Page::OPTION_IS_ENABLED ) == Ecwid_Static_Page::OPTION_VALUE_ENABLED || Ecwid_Static_Page::is_enabled_static_home_page() ): ?>
196
- checked="checked"
197
- <?php endif; ?>
198
-
199
- <?php if ( !Ecwid_Static_Page::is_feature_available() ): ?>
200
- disabled="disabled"
201
- <?php endif; ?>
202
-
203
- value="Y"
204
- />
205
- <?php _e('Cache and speed up the store home page <sup>new</sup>', 'ecwid-shopping-cart'); ?>
206
- </label>
207
-
208
- <?php if ( Ecwid_Static_Page::is_feature_available() ): ?>
209
- <div class="note">
210
- <?php echo __( 'This caches your store home page on your site to make it load way faster for your customers.', 'ecwid-shopping-cart' ); ?>
211
- </div>
212
- <?php else: ?>
213
- <div class="note">
214
- <?php printf(
215
- __( 'To use this functionality, please enable the "Next-gen look and feel of the product list on the storefront" option in your store dashboard ("<a%s>Settings → What\'s New</a>").', 'ecwid-shopping-cart' ), ' href="' . admin_url( 'admin.php?page=ec-store&ec-store-page=whatsnew' ) . '"' ); ?>
216
- </div>
217
- <?php endif; ?>
218
 
219
- </div>
220
- </div>
221
 
222
  </fieldset>
223
 
8
  <input type="hidden" name="settings_section" value="advanced" />
9
 
10
  <fieldset>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
  <div class="pure-control-group checkbox">
13
  <div class="label">
57
  </div>
58
  </div>
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  <hr />
61
 
62
+ <?php if ( Ecwid_Products::is_enabled() ): ?>
63
+ <div class="pure-control-group checkbox">
64
  <div class="label">
65
+ <label for="<?php echo Ecwid_Products::OPTION_ENABLED; ?>">
66
+
67
+ <input
68
+ id="<?php echo Ecwid_Products::OPTION_ENABLED; ?>"
69
+ name="<?php echo Ecwid_Products::OPTION_ENABLED; ?>"
70
+ type="checkbox"
71
+ <?php if ( Ecwid_Products::is_enabled() ): ?>
72
+ checked="checked"
73
+ <?php endif; ?>
74
+ value="Y"
75
+ <?php if ( !Ecwid_Products::is_feature_available() ): ?>
76
+ disabled="disabled"
77
+ <?php endif; ?>
78
+ />
79
+ <?php _e('Integration with search on your site', 'ecwid-shopping-cart'); ?>
80
  </label>
 
 
 
 
 
 
 
 
 
 
 
81
 
82
  <div class="note">
83
+ <?php echo sprintf( __( '%s stores your products data in a secure cloud storage. The product pages are displayed on the fly when a customer browses your store. So, basically, the products are not stored on the site, that\'s why the site search doesn\'t find product pages while looking through site pages and posts. This option enables a local storage mode: the products will be stored both in the cloud and on your site. The site search results will list product pages as well as regular pages/posts of your site.', 'ecwid-shopping-cart' ), Ecwid_Config::get_brand() ); ?>
84
  </div>
85
  </div>
86
  </div>
87
+
88
+ <?php ecwid_sync_do_page(); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
 
90
+ <?php endif;?>
 
91
 
92
  </fieldset>
93
 
templates/ecwid-admin.php CHANGED
@@ -12,6 +12,20 @@
12
  //]]>
13
  </script>
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  <iframe seamless id="ecwid-frame" frameborder="0" width="100%" height="700" scrolling="no"></iframe>
16
 
17
  <?php require_once ECWID_PLUGIN_DIR . 'templates/admin-footer.php'; ?>
12
  //]]>
13
  </script>
14
 
15
+ <style type="text/css">
16
+ <?php if( isset($_GET['page']) && $_GET['page'] == 'ec-storefront-settings' ) {?>
17
+ #ecwid-frame { display: none; }
18
+ <?php } else { ?>
19
+ #ec-storefront-settings { display: none; }
20
+ <?php } ?>
21
+ </style>
22
+
23
+ <?php
24
+
25
+ Ecwid_Admin_Storefront_Page::do_page();
26
+
27
+ ?>
28
+
29
  <iframe seamless id="ecwid-frame" frameborder="0" width="100%" height="700" scrolling="no"></iframe>
30
 
31
  <?php require_once ECWID_PLUGIN_DIR . 'templates/admin-footer.php'; ?>
templates/importer/woo-main.tpl.php CHANGED
@@ -1,14 +1,3 @@
1
- <script type='text/javascript'>//<![CDATA[
2
- jQuery(document.body).addClass('ecwid-no-padding');
3
- jQuery(document.body).css({
4
- 'font-size': '13px'
5
- });
6
- jQuery('#wpbody').css({
7
- 'background-color': 'rgb(240, 242, 244)'
8
- });
9
- //]]>
10
- </script>
11
-
12
  <div class="settings-page">
13
  <div class="settings-page__header">
14
  <div class="settings-page__titles settings-page__titles--left">
 
 
 
 
 
 
 
 
 
 
 
1
  <div class="settings-page">
2
  <div class="settings-page__header">
3
  <div class="settings-page__titles settings-page__titles--left">