Version Description
- Released on 4 August 2022 =
- Fix: Layout style
Download this release
Release Info
Developer | yithemes |
Plugin | YITH WooCommerce Ajax Search |
Version | 1.22.1 |
Comparing to | |
See all releases |
Code changes from version 1.22.0 to 1.22.1
- assets/css/yith_wcas_ajax_search.css +8 -0
- init.php +2 -2
- languages/yith-woocommerce-ajax-search.pot +2 -2
- plugin-fw/assets/css/scss/yith-plugin-ui.scss +8 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/_animations.scss +92 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/_components.scss +12 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/_head_comment.scss +6 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/_tables.scss +56 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/_taxonomy.scss +52 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/_variables.scss +121 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/_wp-pages.scss +88 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/components/_action-button.scss +80 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/components/_boxed-row.scss +14 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/components/_buttons.scss +224 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/components/_confirm.scss +41 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/components/_list-table-blank-state.scss +25 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/components/_modal.scss +128 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/components/_tabs.scss +51 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/components/_tip-tip.scss +80 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/mixins/_buttons.scss +124 -0
- plugin-fw/assets/css/scss/yith-plugin-ui/mixins/_tables.scss +159 -0
- plugin-fw/assets/css/yith-bh-onboarding.css +170 -0
- plugin-fw/assets/images/bh-onboarding/check.svg +16 -0
- plugin-fw/assets/js/yit-plugin-panel.min.js +1 -1
- plugin-fw/assets/js/yith-bh-onboarding.js +65 -0
- plugin-fw/assets/js/yith-bh-onboarding.min.js +1 -0
- plugin-fw/includes/builders/gutenberg/src/common/actions-to-jquery-events.js +32 -0
- plugin-fw/includes/builders/gutenberg/src/common/ajaxFetch.js +42 -0
- plugin-fw/includes/builders/gutenberg/src/common/checkForDeps.js +46 -0
- plugin-fw/includes/builders/gutenberg/src/common/generateShortcode.js +42 -0
- plugin-fw/includes/builders/gutenberg/src/common/icons.js +12 -0
- plugin-fw/includes/builders/gutenberg/src/common/index.js +4 -0
- plugin-fw/includes/builders/gutenberg/src/components/color-palette-control/index.js +96 -0
- plugin-fw/includes/builders/gutenberg/src/components/color-palette-control/style.scss +9 -0
- plugin-fw/includes/builders/gutenberg/src/components/color-picker-control/index.js +53 -0
- plugin-fw/includes/builders/gutenberg/src/components/multiple-select-control/index.js +56 -0
- plugin-fw/includes/builders/gutenberg/src/components/multiple-select-control/multiple-select.js +186 -0
- plugin-fw/includes/builders/gutenberg/src/components/multiple-select-control/style.scss +135 -0
- plugin-fw/includes/builders/gutenberg/src/components/shortcode/index.js +152 -0
- plugin-fw/includes/builders/gutenberg/src/components/shortcode/style.scss +64 -0
- plugin-fw/includes/builders/gutenberg/src/edit.js +234 -0
- plugin-fw/includes/builders/gutenberg/src/index.js +53 -0
- plugin-fw/includes/class-yit-assets.php +10 -0
- plugin-fw/includes/class-yit-plugin-panel-woocommerce.php +11 -5
- plugin-fw/includes/class-yith-bh-onboarding.php +110 -0
- plugin-fw/init.php +2 -2
- plugin-fw/languages/yith-plugin-fw-el.mo +0 -0
- plugin-fw/languages/yith-plugin-fw-el.po +58 -43
- plugin-fw/languages/yith-plugin-fw-es_ES.mo +0 -0
- plugin-fw/languages/yith-plugin-fw-es_ES.po +61 -44
- plugin-fw/languages/yith-plugin-fw-it_IT.mo +0 -0
- plugin-fw/languages/yith-plugin-fw-it_IT.po +61 -44
- plugin-fw/languages/yith-plugin-fw-nl_NL.mo +0 -0
- plugin-fw/languages/yith-plugin-fw-nl_NL.po +59 -43
- plugin-fw/languages/yith-plugin-fw-ru_RU.mo +0 -0
- plugin-fw/languages/yith-plugin-fw-ru_RU.po +59 -43
- plugin-fw/languages/yith-plugin-fw-zh_CN.mo +0 -0
- plugin-fw/languages/yith-plugin-fw-zh_CN.po +61 -44
- plugin-fw/languages/yith-plugin-fw.pot +58 -43
- plugin-fw/templates/bh-onboarding/onboarding-tabs.php +75 -0
- plugin-fw/tests/bootstrap.php +167 -0
- plugin-fw/tests/framework/fixtures/panel-all-options.php +240 -0
- plugin-fw/tests/framework/helpers/class-yith-plugin-fw-panels-helper.php +83 -0
- plugin-fw/tests/framework/plugin-options/wc-panel-options.php +43 -0
- plugin-fw/tests/unit-tests/class-yith-plugin-fw-tests-plugin-panel-wc.php +49 -0
- plugin-fw/tools/local-env/docker/phpunit/Dockerfile +12 -0
- plugin-fw/tools/local-env/install-wp-tests.sh +154 -0
- plugin-fw/tools/local-env/mysql-init.sql +7 -0
- plugin-fw/tools/local-env/phpunit-config.ini +6 -0
- plugin-fw/tools/local-env/scripts/docker.js +6 -0
- plugin-fw/tools/local-env/scripts/install.js +15 -0
- plugin-fw/tools/local-env/scripts/start.js +7 -0
- plugin-fw/tools/local-env/yith-plugin-fw-loader.php +50 -0
- plugin-fw/yit-plugin.php +1 -0
- readme.txt +4 -1
assets/css/yith_wcas_ajax_search.css
CHANGED
@@ -30,3 +30,11 @@
|
|
30 |
.autocomplete-suggestion:hover {
|
31 |
background-color: #efefef;
|
32 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
.autocomplete-suggestion:hover {
|
31 |
background-color: #efefef;
|
32 |
}
|
33 |
+
|
34 |
+
form#yith-ajaxsearchform > div {
|
35 |
+
display: flex;
|
36 |
+
flex: auto;
|
37 |
+
flex-wrap: nowrap;
|
38 |
+
max-width: 100%;
|
39 |
+
gap: 10px;
|
40 |
+
}
|
init.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: YITH WooCommerce Ajax Search
|
4 |
* Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-ajax-search/
|
5 |
* Description: <code><strong>YITH WooCommerce Ajax Search</strong></code> is the plugin that allows you to search for a specific product by inserting a few characters. Thanks to <strong>Ajax Search</strong>, users can quickly find the contents they are interested in without wasting time among site pages. <a href="https://yithemes.com/" target="_blank">Get more plugins for your e-commerce shop on <strong>YITH</strong></a>.
|
6 |
-
* Version: 1.22.
|
7 |
* Author: YITH
|
8 |
* Author URI: https://yithemes.com/
|
9 |
* Text Domain: yith-woocommerce-ajax-search
|
@@ -75,7 +75,7 @@ register_activation_hook( __FILE__, 'yith_plugin_registration_hook' );
|
|
75 |
if ( defined( 'YITH_WCAS_VERSION' ) ) {
|
76 |
return;
|
77 |
} else {
|
78 |
-
define( 'YITH_WCAS_VERSION', '1.22.
|
79 |
}
|
80 |
|
81 |
if ( ! defined( 'YITH_WCAS_FREE_INIT' ) ) {
|
3 |
* Plugin Name: YITH WooCommerce Ajax Search
|
4 |
* Plugin URI: https://yithemes.com/themes/plugins/yith-woocommerce-ajax-search/
|
5 |
* Description: <code><strong>YITH WooCommerce Ajax Search</strong></code> is the plugin that allows you to search for a specific product by inserting a few characters. Thanks to <strong>Ajax Search</strong>, users can quickly find the contents they are interested in without wasting time among site pages. <a href="https://yithemes.com/" target="_blank">Get more plugins for your e-commerce shop on <strong>YITH</strong></a>.
|
6 |
+
* Version: 1.22.1
|
7 |
* Author: YITH
|
8 |
* Author URI: https://yithemes.com/
|
9 |
* Text Domain: yith-woocommerce-ajax-search
|
75 |
if ( defined( 'YITH_WCAS_VERSION' ) ) {
|
76 |
return;
|
77 |
} else {
|
78 |
+
define( 'YITH_WCAS_VERSION', '1.22.1' );
|
79 |
}
|
80 |
|
81 |
if ( ! defined( 'YITH_WCAS_FREE_INIT' ) ) {
|
languages/yith-woocommerce-ajax-search.pot
CHANGED
@@ -2,10 +2,10 @@
|
|
2 |
# This file is distributed under the same license as the YITH WooCommerce Ajax Search package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: YITH WooCommerce Ajax Search 1.22.
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://wordpress.org/support/plugin/yith-woocommerce-ajax-search\n"
|
8 |
-
"POT-Creation-Date: 2022-
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
2 |
# This file is distributed under the same license as the YITH WooCommerce Ajax Search package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: YITH WooCommerce Ajax Search 1.22.1\n"
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://wordpress.org/support/plugin/yith-woocommerce-ajax-search\n"
|
8 |
+
"POT-Creation-Date: 2022-08-04 09:34:23+00:00\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
plugin-fw/assets/css/scss/yith-plugin-ui.scss
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@import "yith-plugin-ui/head_comment";
|
2 |
+
|
3 |
+
@import "yith-plugin-ui/variables";
|
4 |
+
@import "yith-plugin-ui/wp-pages";
|
5 |
+
@import "yith-plugin-ui/taxonomy";
|
6 |
+
@import "yith-plugin-ui/components";
|
7 |
+
@import "yith-plugin-ui/tables";
|
8 |
+
@import "yith-plugin-ui/animations";
|
plugin-fw/assets/css/scss/yith-plugin-ui/_animations.scss
ADDED
@@ -0,0 +1,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* YITH Animations
|
3 |
+
*/
|
4 |
+
|
5 |
+
.yith-plugin-fw-animate__appear-from-bottom{
|
6 |
+
animation: yith-plugin-fw-appear-from-bottom .3s forwards;
|
7 |
+
}
|
8 |
+
|
9 |
+
.yith-plugin-fw-animate__appear-from-top{
|
10 |
+
animation: yith-plugin-fw-appear-from-top .3s forwards;
|
11 |
+
}
|
12 |
+
|
13 |
+
.yith-plugin-fw-animate__fade-in{
|
14 |
+
animation: yith-plugin-fw-fade-in .3s forwards;
|
15 |
+
}
|
16 |
+
|
17 |
+
|
18 |
+
@-webkit-keyframes yith-plugin-fw-appear-from-top {
|
19 |
+
from {
|
20 |
+
opacity: 0;
|
21 |
+
transform: translateY(-30%);
|
22 |
+
-webkit-transform: translateY(-30%);
|
23 |
+
}
|
24 |
+
|
25 |
+
to {
|
26 |
+
opacity: 1;
|
27 |
+
transform: translateY(0);
|
28 |
+
-webkit-transform: translateY(0);
|
29 |
+
}
|
30 |
+
}
|
31 |
+
|
32 |
+
@keyframes yith-plugin-fw-appear-from-top {
|
33 |
+
from {
|
34 |
+
opacity: 0;
|
35 |
+
transform: translateY(-30%);
|
36 |
+
-webkit-transform: translateY(-30%);
|
37 |
+
}
|
38 |
+
|
39 |
+
to {
|
40 |
+
opacity: 1;
|
41 |
+
transform: translateY(0);
|
42 |
+
-webkit-transform: translateY(0);
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
@-webkit-keyframes yith-plugin-fw-appear-from-bottom {
|
47 |
+
from {
|
48 |
+
opacity: 0;
|
49 |
+
transform: translateY(+30%);
|
50 |
+
-webkit-transform: translateY(+30%);
|
51 |
+
}
|
52 |
+
|
53 |
+
to {
|
54 |
+
opacity: 1;
|
55 |
+
transform: translateY(0);
|
56 |
+
-webkit-transform: translateY(0);
|
57 |
+
}
|
58 |
+
}
|
59 |
+
|
60 |
+
@keyframes yith-plugin-fw-appear-from-bottom {
|
61 |
+
from {
|
62 |
+
opacity: 0;
|
63 |
+
transform: translateY(+30%);
|
64 |
+
-webkit-transform: translateY(+30%);
|
65 |
+
}
|
66 |
+
|
67 |
+
to {
|
68 |
+
opacity: 1;
|
69 |
+
transform: translateY(0);
|
70 |
+
-webkit-transform: translateY(0);
|
71 |
+
}
|
72 |
+
}
|
73 |
+
|
74 |
+
@-webkit-keyframes yith-plugin-fw-fade-in {
|
75 |
+
from {
|
76 |
+
opacity: 0;
|
77 |
+
}
|
78 |
+
|
79 |
+
to {
|
80 |
+
opacity: 1;
|
81 |
+
}
|
82 |
+
}
|
83 |
+
|
84 |
+
@keyframes yith-plugin-fw-fade-in {
|
85 |
+
from {
|
86 |
+
opacity: 0;
|
87 |
+
}
|
88 |
+
|
89 |
+
to {
|
90 |
+
opacity: 1;
|
91 |
+
}
|
92 |
+
}
|
plugin-fw/assets/css/scss/yith-plugin-ui/_components.scss
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* YITH Plugin UI - Components
|
3 |
+
*/
|
4 |
+
|
5 |
+
@import "components/action-button";
|
6 |
+
@import "components/buttons";
|
7 |
+
@import "components/boxed-row";
|
8 |
+
@import "components/confirm";
|
9 |
+
@import "components/list-table-blank-state";
|
10 |
+
@import "components/modal";
|
11 |
+
@import "components/tip-tip";
|
12 |
+
@import "components/tabs";
|
plugin-fw/assets/css/scss/yith-plugin-ui/_head_comment.scss
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* YITH Plugin UI style
|
3 |
+
*
|
4 |
+
* IMPORTANT: This file is automatically generated through SCSS files.
|
5 |
+
* Please don't edit it manually!
|
6 |
+
*/
|
plugin-fw/assets/css/scss/yith-plugin-ui/_tables.scss
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* YITH Plugin UI - Post Type Style
|
3 |
+
*/
|
4 |
+
|
5 |
+
@import "mixins/tables";
|
6 |
+
|
7 |
+
table.yith-plugin-fw__classic-table {
|
8 |
+
@include classic-table;
|
9 |
+
|
10 |
+
&.wp-list-table{
|
11 |
+
@include wp-table-commons;
|
12 |
+
}
|
13 |
+
}
|
14 |
+
|
15 |
+
table.yith-plugin-fw__boxed-table {
|
16 |
+
@include boxed-table;
|
17 |
+
|
18 |
+
&.wp-list-table{
|
19 |
+
@include wp-table-commons;
|
20 |
+
}
|
21 |
+
}
|
22 |
+
|
23 |
+
// WP List Tables
|
24 |
+
.yith-plugin-ui--classic-wp-list-style, .yith-plugin-ui #plugin-fw-wc .yith-plugin-ui--classic-wp-list-style {
|
25 |
+
|
26 |
+
table.wp-list-table {
|
27 |
+
@include classic-table;
|
28 |
+
|
29 |
+
@include wp-table-commons;
|
30 |
+
}
|
31 |
+
|
32 |
+
.tablenav.bottom {
|
33 |
+
display: none;
|
34 |
+
|
35 |
+
.yith-plugin-fw__list-table-blank-state {
|
36 |
+
display: flex;
|
37 |
+
}
|
38 |
+
}
|
39 |
+
}
|
40 |
+
|
41 |
+
.yith-plugin-ui--boxed-wp-list-style, .yith-plugin-ui #plugin-fw-wc .yith-plugin-ui--boxed-wp-list-style {
|
42 |
+
|
43 |
+
table.wp-list-table {
|
44 |
+
@include boxed-table;
|
45 |
+
|
46 |
+
@include wp-table-commons;
|
47 |
+
}
|
48 |
+
|
49 |
+
.tablenav.bottom {
|
50 |
+
display: none;
|
51 |
+
|
52 |
+
.yith-plugin-fw__list-table-blank-state {
|
53 |
+
display: flex;
|
54 |
+
}
|
55 |
+
}
|
56 |
+
}
|
plugin-fw/assets/css/scss/yith-plugin-ui/_taxonomy.scss
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* YITH Plugin UI - Taxonomy Style
|
3 |
+
*/
|
4 |
+
|
5 |
+
.yith-plugin-ui.yith-plugin-ui--taxonomy-type, .yith-plugin-ui--taxonomy-type {
|
6 |
+
|
7 |
+
// List
|
8 |
+
|
9 |
+
#col-container {
|
10 |
+
display: flex;
|
11 |
+
}
|
12 |
+
|
13 |
+
#col-left {
|
14 |
+
padding: 20px;
|
15 |
+
background: #f1f1f1;
|
16 |
+
border-radius: 8px;
|
17 |
+
box-sizing: border-box;
|
18 |
+
margin-right: 15px;
|
19 |
+
}
|
20 |
+
|
21 |
+
#col-right {
|
22 |
+
flex: 1;
|
23 |
+
}
|
24 |
+
|
25 |
+
h2 {
|
26 |
+
border: none;
|
27 |
+
padding: 0;
|
28 |
+
font-size: 14px;
|
29 |
+
background: transparent;
|
30 |
+
}
|
31 |
+
|
32 |
+
// Edit Tax
|
33 |
+
.wrap h1 {
|
34 |
+
color: #2a8db0;
|
35 |
+
font-size: 16px;
|
36 |
+
font-weight: 600;
|
37 |
+
}
|
38 |
+
}
|
39 |
+
|
40 |
+
@media screen and (max-width: 782px) {
|
41 |
+
.yith-plugin-ui.yith-plugin-ui--taxonomy-type {
|
42 |
+
#col-container {
|
43 |
+
display: block;
|
44 |
+
}
|
45 |
+
|
46 |
+
#col-left, #col-right {
|
47 |
+
float: none;
|
48 |
+
width: 100%;
|
49 |
+
}
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
plugin-fw/assets/css/scss/yith-plugin-ui/_variables.scss
ADDED
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* YITH CSS Variables
|
3 |
+
*/
|
4 |
+
|
5 |
+
$content_bg: #ffffff; // Content Background.
|
6 |
+
$content_text: #3c434a; // Content Text.
|
7 |
+
|
8 |
+
$primary: #00799f; // Primary color, for buttons
|
9 |
+
$primary_hover: #0094c4; // Primary hover color, for buttons
|
10 |
+
$primary_focus: #bddce6; // Primary focus color, for buttons
|
11 |
+
$primary_text: #ffffff; // Text on primary color bg
|
12 |
+
|
13 |
+
$delete: #c41d04; // color for delete buttons
|
14 |
+
$delete_hover: lighten($delete, 5%); // color for delete buttons - hover
|
15 |
+
$delete_text: #ffffff; // Text on delete buttons
|
16 |
+
$delete_focus: #f0d2cd; // Delete focus color, for buttons
|
17 |
+
|
18 |
+
// Outline is used to stylize Secondary buttons.
|
19 |
+
$outline_text: #0087b3; // outline button - text color
|
20 |
+
$outline_border: #0094c4; // outline button - border color
|
21 |
+
$outline_bg: rgba(255, 255, 255, 0); // outline button - background color
|
22 |
+
$outline_bg_hover: rgba(157, 198, 205, .2); // outline button - background color on hover
|
23 |
+
$outline_border_hover: #007ba3; // outline button - border color on hover
|
24 |
+
$outline_focus: #dfeef2; // Outline focus color, for buttons
|
25 |
+
|
26 |
+
$delete_outline_text: $delete; // Delete-outline button - text color
|
27 |
+
$delete_outline_border: $delete; // Delete-outline button - border color
|
28 |
+
$delete_outline_bg: rgba(205, 157, 157, 0); // Delete-outline button - background color
|
29 |
+
$delete_outline_bg_hover: rgba(232, 184, 184, 0.15); // Delete-outline button - background color on hover
|
30 |
+
$delete_outline_border_hover: #db2b11; // Delete-outline button - border color on hover
|
31 |
+
$delete_outline_focus: #ffe9e7; // Delete-outline focus color, for buttons
|
32 |
+
|
33 |
+
$update: #94aa09; // Update button - background
|
34 |
+
$update_hover: darken($update, 5%); // Update button - hover
|
35 |
+
$update_text: #ffffff; // Text on update button background
|
36 |
+
$update_focus: #e7eccc; // Text on update button background
|
37 |
+
|
38 |
+
$accent: #98aa36;
|
39 |
+
|
40 |
+
$light_bg: #f5fafc;
|
41 |
+
$light_border_color: #d7e3e7;
|
42 |
+
$light_shadow: rgba(145, 191, 227, 0.11);
|
43 |
+
$light_accent: #0073aa;
|
44 |
+
|
45 |
+
$success: #98aa36;
|
46 |
+
$success_light: lighten($success, 30%);
|
47 |
+
$success_lighter: lighten($success, 43%);
|
48 |
+
$success_lightest: lighten($success, 50%);
|
49 |
+
|
50 |
+
|
51 |
+
$table_row_highlight: #f0f6fb;
|
52 |
+
$table_row_striped: #f6f7f7;
|
53 |
+
$table_border_light: #eff0f0;
|
54 |
+
|
55 |
+
$field_border_color: #d8d8d8;
|
56 |
+
$field_border_weight: 1px;
|
57 |
+
$field_border: $field_border_weight solid $field_border_color;
|
58 |
+
|
59 |
+
$link: #0079b0; // Link Color.
|
60 |
+
|
61 |
+
// Extra variables: these will be not converted to CSS Variables
|
62 |
+
$wp_menu_size: 160px;
|
63 |
+
$wp_menu_folded_size: 36px;
|
64 |
+
$wp_menu_mobile_size: 190px;
|
65 |
+
$wp_top_bar_size: 32px;
|
66 |
+
$wp_top_bar_mobile_size: 46px;
|
67 |
+
|
68 |
+
// export vars as CSS vars
|
69 |
+
:root {
|
70 |
+
--yith-content-bg: #{$content_bg};
|
71 |
+
--yith-content-text: #{$content_text};
|
72 |
+
--yith-primary: #{$primary};
|
73 |
+
--yith-primary-hover: #{$primary_hover};
|
74 |
+
--yith-primary-focus: #{$primary_focus};
|
75 |
+
--yith-primary-text: #{$primary_text};
|
76 |
+
|
77 |
+
--yith-delete: #{$delete};
|
78 |
+
--yith-delete-hover: #{$delete_hover};
|
79 |
+
--yith-delete-text: #{$delete_text};
|
80 |
+
--yith-delete-focus: #{$delete_focus};
|
81 |
+
|
82 |
+
--yith-update: #{$update};
|
83 |
+
--yith-update-hover: #{$update_hover};
|
84 |
+
--yith-update-text: #{$update_text};
|
85 |
+
--yith-update-focus: #{$update_focus};
|
86 |
+
|
87 |
+
--yith-outline-text: #{$outline_text};
|
88 |
+
--yith-outline-border: #{$outline_border};
|
89 |
+
--yith-outline-bg: #{$outline_bg};
|
90 |
+
--yith-outline-bg-hover: #{$outline_bg_hover};
|
91 |
+
--yith-outline-border-hover: #{$outline_border_hover};
|
92 |
+
--yith-outline-focus: #{$outline_focus};
|
93 |
+
|
94 |
+
--yith-delete-outline-text: #{$delete_outline_text};
|
95 |
+
--yith-delete-outline-border: #{$delete_outline_border};
|
96 |
+
--yith-delete-outline-bg: #{$delete_outline_bg};
|
97 |
+
--yith-delete-outline-bg-hover: #{$delete_outline_bg_hover};
|
98 |
+
--yith-delete-outline-border-hover: #{$delete_outline_border_hover};
|
99 |
+
--yith-delete-outline-focus: #{$delete_outline_focus};
|
100 |
+
|
101 |
+
--yith-accent: #{$accent};
|
102 |
+
|
103 |
+
--yith-light-bg: #{$light_bg};
|
104 |
+
--yith-light-border-color: #{$light_border_color};
|
105 |
+
--yith-light-shadow: #{$light_shadow};
|
106 |
+
--yith-light-accent: #{$light_accent};
|
107 |
+
|
108 |
+
--yith-success: #{$success};
|
109 |
+
--yith-success-light: #{$success_light};
|
110 |
+
--yith-success-lighter: #{$success_lighter};
|
111 |
+
--yith-success-lightest: #{$success_lightest};
|
112 |
+
|
113 |
+
--yith-table-row-highlight: #{$table_row_highlight};
|
114 |
+
--yith-table-row-striped: #{$table_row_striped};
|
115 |
+
--yith-table-border-light: #{$table_border_light};
|
116 |
+
|
117 |
+
--yith-field-border-color: #{$field_border_color};
|
118 |
+
--yith-field-border-weight: #{$field_border_color};
|
119 |
+
--yith-field-border: #{$field_border};
|
120 |
+
--yith-link: #{$link};
|
121 |
+
}
|
plugin-fw/assets/css/scss/yith-plugin-ui/_wp-pages.scss
ADDED
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* YITH Plugin UI - WP Pages
|
3 |
+
*/
|
4 |
+
|
5 |
+
.yith-plugin-fw-wp-page-wrapper {
|
6 |
+
|
7 |
+
.yith-plugin-fw__back-to-wp-list__wrapper {
|
8 |
+
margin: -5px 0 15px;
|
9 |
+
|
10 |
+
.yith-plugin-fw__back-to-wp-list {
|
11 |
+
text-decoration: none;
|
12 |
+
font-weight: 600;
|
13 |
+
text-transform: uppercase;
|
14 |
+
color: var(--yith-link);
|
15 |
+
vertical-align: middle;
|
16 |
+
|
17 |
+
&:before {
|
18 |
+
content: "\e901";
|
19 |
+
font-family: yith-icon;
|
20 |
+
margin-right: 5px;
|
21 |
+
font-size: .8em;
|
22 |
+
vertical-align: middle;
|
23 |
+
}
|
24 |
+
}
|
25 |
+
}
|
26 |
+
|
27 |
+
.wrap div#message.updated {
|
28 |
+
display: none;
|
29 |
+
padding: 15px 40px 15px 45px;
|
30 |
+
margin: 15px 0 20px;
|
31 |
+
border-radius: 5px;
|
32 |
+
background: var(--yith-success-lightest);
|
33 |
+
border: 1px solid var(--yith-success-light);
|
34 |
+
font-weight: 600;
|
35 |
+
font-size: 14px;
|
36 |
+
text-align: left;
|
37 |
+
color: var(--yith-content-text);
|
38 |
+
box-shadow: 1px 1px 2px var(--yith-success-lighter);
|
39 |
+
|
40 |
+
|
41 |
+
&:before {
|
42 |
+
font-family: yith-icon;
|
43 |
+
content: "\e921";
|
44 |
+
position: absolute;
|
45 |
+
top: 50%;
|
46 |
+
left: 13px;
|
47 |
+
font-size: 21px;
|
48 |
+
font-weight: 400;
|
49 |
+
transform: translateY(-50%);
|
50 |
+
color: var(--yith-success);
|
51 |
+
}
|
52 |
+
|
53 |
+
p {
|
54 |
+
padding: 0;
|
55 |
+
margin: 0;
|
56 |
+
}
|
57 |
+
|
58 |
+
.notice-dismiss {
|
59 |
+
position: absolute;
|
60 |
+
top: 50%;
|
61 |
+
right: 10px;
|
62 |
+
transform: translateY(-50%);
|
63 |
+
border-radius: 50%;
|
64 |
+
color: var(--yith-success);
|
65 |
+
padding: 7px;
|
66 |
+
background: transparent;
|
67 |
+
box-shadow: 0 0 0 5px rgba(0, 0, 0, 0);
|
68 |
+
transition: all .3s ease-in-out;
|
69 |
+
|
70 |
+
&:before {
|
71 |
+
font-family: yith-icon;
|
72 |
+
content: "\e906";
|
73 |
+
font-weight: 600;
|
74 |
+
font-size: 12px;
|
75 |
+
color: inherit;
|
76 |
+
}
|
77 |
+
|
78 |
+
&:hover {
|
79 |
+
box-shadow: 0 0 0 0 var(--yith-success-lighter);
|
80 |
+
background: var(--yith-success-lighter);
|
81 |
+
}
|
82 |
+
|
83 |
+
&:hover:before, &:active:before, &:focus:before {
|
84 |
+
color: inherit;
|
85 |
+
}
|
86 |
+
}
|
87 |
+
}
|
88 |
+
}
|
plugin-fw/assets/css/scss/yith-plugin-ui/components/_action-button.scss
ADDED
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.yith-plugin-ui .yith-plugin-fw__action-button, .yith-plugin-fw__action-button {
|
2 |
+
height: 35px;
|
3 |
+
width: 35px;
|
4 |
+
background-color: var(--yith-content-bg);
|
5 |
+
display: inline-block;
|
6 |
+
border: 0;
|
7 |
+
border-radius: 50%;
|
8 |
+
transition: .3s;
|
9 |
+
cursor: pointer;
|
10 |
+
box-shadow: 0 2px 7px rgba(170, 198, 222, .5);
|
11 |
+
outline: none;
|
12 |
+
position: relative;
|
13 |
+
margin: 0 5px 5px 0;
|
14 |
+
vertical-align: middle;
|
15 |
+
|
16 |
+
.yith-plugin-fw__action-button__link {
|
17 |
+
height: 100%;
|
18 |
+
width: 100%;
|
19 |
+
display: inline-block;
|
20 |
+
}
|
21 |
+
|
22 |
+
.yith-plugin-fw__action-button__icon {
|
23 |
+
position: absolute;
|
24 |
+
color: var(--yith-link);
|
25 |
+
font-size: 17px;
|
26 |
+
top: 50%;
|
27 |
+
left: 50%;
|
28 |
+
transform: translateX(-50%) translateY(-50%);
|
29 |
+
}
|
30 |
+
|
31 |
+
&.yith-plugin-fw__action-button--trash-action .yith-plugin-fw__action-button__icon,
|
32 |
+
&.yith-plugin-fw__action-button--delete-action .yith-plugin-fw__action-button__icon {
|
33 |
+
color: #a10000;
|
34 |
+
}
|
35 |
+
|
36 |
+
.yith-plugin-fw__action-button__menu {
|
37 |
+
position: absolute;
|
38 |
+
display: none;
|
39 |
+
flex-direction: column;
|
40 |
+
width: max-content;
|
41 |
+
right: 0;
|
42 |
+
margin: 5px 0 0 0;
|
43 |
+
padding: 8px 0;
|
44 |
+
background: var(--yith-content-bg);
|
45 |
+
border-radius: 5px;
|
46 |
+
box-shadow: 0 2px 7px rgba(170, 198, 222, .5);
|
47 |
+
z-index: 10;
|
48 |
+
animation: yith-plugin-fw-appear-from-top .3s forwards;
|
49 |
+
}
|
50 |
+
|
51 |
+
.yith-plugin-fw__action-button__menu__item {
|
52 |
+
margin: 0;
|
53 |
+
display: block;
|
54 |
+
padding: 7px 25px;
|
55 |
+
color: var(--yith-content-text);
|
56 |
+
cursor: pointer;
|
57 |
+
text-decoration: none;
|
58 |
+
text-align: right;
|
59 |
+
|
60 |
+
&:hover {
|
61 |
+
color: var(--yith-link);
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
&.yith-plugin-fw__action-button--has-menu {
|
66 |
+
.yith-plugin-fw__action-button__icon {
|
67 |
+
color: var(--yith-content-text);
|
68 |
+
}
|
69 |
+
|
70 |
+
&.yith-plugin-fw__action-button--opened {
|
71 |
+
.yith-plugin-fw__action-button__icon {
|
72 |
+
color: var(--yith-link);
|
73 |
+
}
|
74 |
+
|
75 |
+
.yith-plugin-fw__action-button__menu {
|
76 |
+
display: flex;
|
77 |
+
}
|
78 |
+
}
|
79 |
+
}
|
80 |
+
}
|
plugin-fw/assets/css/scss/yith-plugin-ui/components/_boxed-row.scss
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
.yith-plugin-fw__boxed-row, .yith-plugin-fw__boxed-row--hover-highlight {
|
3 |
+
background: var(--yith-content-bg);
|
4 |
+
border-radius: 5px;
|
5 |
+
box-shadow: 0 0 0 1px var(--yith-light-border-color), 0 3px 11px 6px var(--yith-light-shadow);
|
6 |
+
transition: background-color .2s ease-in-out;
|
7 |
+
padding: 25px;
|
8 |
+
margin-bottom: 25px;
|
9 |
+
margin-top: 25px;
|
10 |
+
}
|
11 |
+
|
12 |
+
.yith-plugin-fw__boxed-row--hover-highlight:hover {
|
13 |
+
background: var(--yith-table-row-highlight);
|
14 |
+
}
|
plugin-fw/assets/css/scss/yith-plugin-ui/components/_buttons.scss
ADDED
@@ -0,0 +1,224 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@import "../mixins/buttons";
|
2 |
+
|
3 |
+
.yith-plugin-ui, .wp-core-ui .yith-plugin-ui {
|
4 |
+
|
5 |
+
// WordPress Buttons.
|
6 |
+
.button-primary, .button-secondary {
|
7 |
+
border-radius : 3px;
|
8 |
+
text-transform : none;
|
9 |
+
box-shadow : none;
|
10 |
+
border : 1px solid;
|
11 |
+
font-weight : 600;
|
12 |
+
padding : 0 12px;
|
13 |
+
outline : none;
|
14 |
+
height : auto;
|
15 |
+
transition : all ease 0.3s;
|
16 |
+
text-shadow : none;
|
17 |
+
display : inline-block;
|
18 |
+
text-decoration : none;
|
19 |
+
cursor : pointer;
|
20 |
+
white-space : nowrap;
|
21 |
+
|
22 |
+
&:focus {
|
23 |
+
outline : none;
|
24 |
+
box-shadow : none;
|
25 |
+
}
|
26 |
+
|
27 |
+
&.button-small {
|
28 |
+
padding : 0 8px;
|
29 |
+
}
|
30 |
+
}
|
31 |
+
|
32 |
+
.button-secondary {
|
33 |
+
@include button-secondary;
|
34 |
+
}
|
35 |
+
|
36 |
+
.button-primary {
|
37 |
+
@include button-primary;
|
38 |
+
}
|
39 |
+
|
40 |
+
.button.action,
|
41 |
+
#doaction,
|
42 |
+
#doaction2,
|
43 |
+
#post-query-submit,
|
44 |
+
#posts-filter #delete_all,
|
45 |
+
#search-submit,
|
46 |
+
.button.filter-button {
|
47 |
+
@include button;
|
48 |
+
@include button-secondary;
|
49 |
+
height : auto;
|
50 |
+
line-height : 33px;
|
51 |
+
border-radius : 8px;
|
52 |
+
padding : 0 15px;
|
53 |
+
font-weight : 600;
|
54 |
+
}
|
55 |
+
|
56 |
+
#posts-filter #delete_all {
|
57 |
+
@include button-delete-outline;
|
58 |
+
}
|
59 |
+
|
60 |
+
.tablenav .tablenav-pages .button,
|
61 |
+
.tablenav .tablenav-pages .tablenav-pages-navspan {
|
62 |
+
@include button-secondary;
|
63 |
+
}
|
64 |
+
|
65 |
+
@media screen and (max-width : 782px) {
|
66 |
+
.tablenav .tablenav-pages .button, .tablenav .tablenav-pages .tablenav-pages-navspan {
|
67 |
+
min-width : 44px;
|
68 |
+
padding : 12px 8px;
|
69 |
+
font-size : 18px;
|
70 |
+
line-height : 1;
|
71 |
+
}
|
72 |
+
}
|
73 |
+
|
74 |
+
// YITH Buttons.
|
75 |
+
.yith-plugin-fw__button, [class^="yith-plugin-fw__button--"], [class*=" yith-plugin-fw__button--"],
|
76 |
+
.yith-add-button, .yith-edit-button, .yith-update-button, .yith-remove-button, .yith-plugin-fw-upload-button, .yith-save-button, .yith-plugin-fw-select-all, .yith-plugin-fw-deselect-all, .yith-plugin-fw-upload-button-reset // Old buttons.
|
77 |
+
{
|
78 |
+
@include button;
|
79 |
+
}
|
80 |
+
|
81 |
+
.yith-plugin-fw__button--primary {
|
82 |
+
@include button-primary;
|
83 |
+
}
|
84 |
+
|
85 |
+
.yith-plugin-fw__button--secondary {
|
86 |
+
@include button-secondary;
|
87 |
+
}
|
88 |
+
|
89 |
+
.yith-plugin-fw__button--delete {
|
90 |
+
@include button-delete;
|
91 |
+
}
|
92 |
+
|
93 |
+
.yith-plugin-fw__button--add, .yith-add-button {
|
94 |
+
@include button-primary;
|
95 |
+
|
96 |
+
@include button-with-icon("\f115");
|
97 |
+
|
98 |
+
&:before {
|
99 |
+
display : inline-block;
|
100 |
+
margin : 0 10px 0 -5px;
|
101 |
+
font-size : .95em;
|
102 |
+
transition : transform .2s, margin .2s, font-size .2s;
|
103 |
+
transition-timing-function : ease-in-out;
|
104 |
+
}
|
105 |
+
|
106 |
+
&.closed {
|
107 |
+
@include button-secondary;
|
108 |
+
|
109 |
+
&:before {
|
110 |
+
font-size : 1.15em;
|
111 |
+
margin : 0 8px 0 -5px;
|
112 |
+
transform : rotate(-45deg);
|
113 |
+
}
|
114 |
+
}
|
115 |
+
}
|
116 |
+
|
117 |
+
.yith-plugin-fw__button--close {
|
118 |
+
@include button-secondary;
|
119 |
+
|
120 |
+
@include button-with-icon("\f117");
|
121 |
+
}
|
122 |
+
|
123 |
+
.yith-plugin-fw__button--edit, .yith-edit-button {
|
124 |
+
@include button-secondary;
|
125 |
+
|
126 |
+
@include button-with-icon("\e907");
|
127 |
+
}
|
128 |
+
|
129 |
+
.yith-plugin-fw__button--update, .yith-update-button {
|
130 |
+
@include button-update;
|
131 |
+
|
132 |
+
@include button-with-icon("\e90b");
|
133 |
+
}
|
134 |
+
|
135 |
+
.yith-plugin-fw__button--trash, .yith-remove-button {
|
136 |
+
@include button-delete;
|
137 |
+
|
138 |
+
@include button-with-icon("\e90d");
|
139 |
+
}
|
140 |
+
|
141 |
+
.yith-plugin-fw__button--upload, .yith-plugin-fw-upload-button {
|
142 |
+
@include button-primary;
|
143 |
+
|
144 |
+
@include button-with-icon("\e90c");
|
145 |
+
}
|
146 |
+
|
147 |
+
// Old buttons.
|
148 |
+
.yith-save-button {
|
149 |
+
@include button-primary;
|
150 |
+
}
|
151 |
+
|
152 |
+
.yith-plugin-fw-select-all,
|
153 |
+
.yith-plugin-fw-deselect-all,
|
154 |
+
.yith-plugin-fw-upload-button-reset {
|
155 |
+
@include button-secondary;
|
156 |
+
}
|
157 |
+
|
158 |
+
// with icons.
|
159 |
+
.button-secondary span.yith-icon {
|
160 |
+
margin-left : 0;
|
161 |
+
margin-right : 10px;
|
162 |
+
line-height : normal;
|
163 |
+
|
164 |
+
&:before {
|
165 |
+
color : inherit;
|
166 |
+
font-size : 15px;
|
167 |
+
font-weight : 400;
|
168 |
+
}
|
169 |
+
}
|
170 |
+
|
171 |
+
// With icon
|
172 |
+
.yith-plugin-fw__button--with-icon {
|
173 |
+
position : relative;
|
174 |
+
padding-left : 30px;
|
175 |
+
|
176 |
+
i {
|
177 |
+
position : absolute;
|
178 |
+
top : 50%;
|
179 |
+
left : 10px;
|
180 |
+
transform : translateY(-50%);
|
181 |
+
font-size : 1em;
|
182 |
+
font-weight : 400;
|
183 |
+
}
|
184 |
+
}
|
185 |
+
|
186 |
+
|
187 |
+
// Button Sizes
|
188 |
+
.yith-plugin-fw__button--xl, .button-xl {
|
189 |
+
padding : 0 20px;
|
190 |
+
font-size : 14px;
|
191 |
+
line-height : 38px;
|
192 |
+
|
193 |
+
&::before {
|
194 |
+
margin : 0 10px 0 -5px;
|
195 |
+
}
|
196 |
+
|
197 |
+
&.yith-plugin-fw__button--with-icon {
|
198 |
+
padding-left : 40px;
|
199 |
+
|
200 |
+
i {
|
201 |
+
left : 14px;
|
202 |
+
}
|
203 |
+
}
|
204 |
+
}
|
205 |
+
|
206 |
+
.yith-plugin-fw__button--xxl {
|
207 |
+
padding : 0 28px;
|
208 |
+
font-size : 16px;
|
209 |
+
line-height : 45px;
|
210 |
+
|
211 |
+
&::before {
|
212 |
+
margin : 0 15px 0 -10px;
|
213 |
+
}
|
214 |
+
|
215 |
+
&.yith-plugin-fw__button--with-icon {
|
216 |
+
padding-left : 45px;
|
217 |
+
|
218 |
+
i {
|
219 |
+
left : 15px;
|
220 |
+
}
|
221 |
+
}
|
222 |
+
}
|
223 |
+
}
|
224 |
+
|
plugin-fw/assets/css/scss/yith-plugin-ui/components/_confirm.scss
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@import "../mixins/buttons";
|
2 |
+
|
3 |
+
.yith-plugin-fw__confirm__wrap {
|
4 |
+
|
5 |
+
.yith-plugin-fw__confirm__message {
|
6 |
+
margin-bottom: 20px;
|
7 |
+
}
|
8 |
+
|
9 |
+
.yith-plugin-fw__confirm__footer {
|
10 |
+
text-align: right;
|
11 |
+
}
|
12 |
+
|
13 |
+
|
14 |
+
.yith-plugin-fw__confirm__button {
|
15 |
+
height: auto;
|
16 |
+
line-height: 33px;
|
17 |
+
border-radius: 4px;
|
18 |
+
padding: 0 20px;
|
19 |
+
font-weight: 600;
|
20 |
+
cursor: pointer;
|
21 |
+
display: inline-block;
|
22 |
+
margin-right: 10px;
|
23 |
+
white-space: nowrap;
|
24 |
+
|
25 |
+
&:last-child {
|
26 |
+
margin-right: 0;
|
27 |
+
}
|
28 |
+
|
29 |
+
&.yith-plugin-fw__confirm__button--cancel {
|
30 |
+
@include button-secondary;
|
31 |
+
}
|
32 |
+
|
33 |
+
&.yith-plugin-fw__confirm__button--confirm {
|
34 |
+
@include button-primary;
|
35 |
+
}
|
36 |
+
|
37 |
+
&.yith-plugin-fw__confirm__button--delete {
|
38 |
+
@include button-delete;
|
39 |
+
}
|
40 |
+
}
|
41 |
+
}
|
plugin-fw/assets/css/scss/yith-plugin-ui/components/_list-table-blank-state.scss
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.yith-plugin-fw__list-table-blank-state {
|
2 |
+
padding: 30px 30px 0;
|
3 |
+
text-align: center;
|
4 |
+
display: flex;
|
5 |
+
flex-direction: column;
|
6 |
+
|
7 |
+
& > * {
|
8 |
+
margin-bottom: 30px;
|
9 |
+
}
|
10 |
+
|
11 |
+
img.yith-plugin-fw__list-table-blank-state__icon {
|
12 |
+
width: 100px;
|
13 |
+
margin: 0 auto 30px;
|
14 |
+
}
|
15 |
+
|
16 |
+
i.yith-plugin-fw__list-table-blank-state__icon {
|
17 |
+
font-size: 65px;
|
18 |
+
margin: 0 auto 30px;
|
19 |
+
}
|
20 |
+
|
21 |
+
.yith-plugin-fw__list-table-blank-state__message {
|
22 |
+
font-size: 1.4em;
|
23 |
+
line-height: 1.5;
|
24 |
+
}
|
25 |
+
}
|
plugin-fw/assets/css/scss/yith-plugin-ui/components/_modal.scss
ADDED
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.yith-plugin-fw__modal__wrap {
|
2 |
+
display: flex;
|
3 |
+
align-items: center;
|
4 |
+
justify-content: center;
|
5 |
+
position: fixed;
|
6 |
+
top: 0;
|
7 |
+
left: 0;
|
8 |
+
width: 100%;
|
9 |
+
height: 100%;
|
10 |
+
z-index: 999999;
|
11 |
+
background: rgba(34, 59, 80, 0.7);
|
12 |
+
animation: yith-plugin-fw-fade-in .3s forwards;
|
13 |
+
box-sizing: border-box;
|
14 |
+
|
15 |
+
.yith-plugin-fw__modal__main {
|
16 |
+
position: relative;
|
17 |
+
background: #fff;
|
18 |
+
border-radius: 10px;
|
19 |
+
box-shadow: 1px 3px 16px rgba(0, 22, 59, .4);
|
20 |
+
animation: yith-plugin-fw-appear-from-top .3s forwards;
|
21 |
+
overflow: hidden;
|
22 |
+
max-width: calc(100% - 20px);
|
23 |
+
max-height: calc(100% - 20px);
|
24 |
+
display: flex;
|
25 |
+
flex-direction: column;
|
26 |
+
}
|
27 |
+
|
28 |
+
.yith-plugin-fw__modal__close {
|
29 |
+
position: absolute;
|
30 |
+
top: 0;
|
31 |
+
right: 0;
|
32 |
+
padding: 8px;
|
33 |
+
font-size: 14px;
|
34 |
+
font-weight: 600;
|
35 |
+
color: #aaa;
|
36 |
+
cursor: pointer;
|
37 |
+
|
38 |
+
&:hover {
|
39 |
+
color: #444;
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
.yith-plugin-fw__modal__title {
|
44 |
+
padding: 20px 25px;
|
45 |
+
font-size: 1.5em;
|
46 |
+
font-weight: 600;
|
47 |
+
line-height: 1.5em;
|
48 |
+
color: var(--yith-primary);
|
49 |
+
}
|
50 |
+
|
51 |
+
.yith-plugin-fw__modal__content {
|
52 |
+
padding: 0 25px 25px;
|
53 |
+
}
|
54 |
+
|
55 |
+
.yith-plugin-fw__modal__footer {
|
56 |
+
padding: 25px;
|
57 |
+
background: #f7f7f7;
|
58 |
+
}
|
59 |
+
|
60 |
+
&.yith-plugin-fw__modal__wrap--scroll-content {
|
61 |
+
.yith-plugin-fw__modal__content {
|
62 |
+
overflow-y: auto;
|
63 |
+
}
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
.yith-plugin-fw__modal--opened {
|
68 |
+
overflow: hidden;
|
69 |
+
}
|
70 |
+
|
71 |
+
// Allow seeing WP Menu.
|
72 |
+
|
73 |
+
.yith-plugin-fw__modal--allow-wp-menu {
|
74 |
+
.yith-plugin-fw__modal__wrap {
|
75 |
+
z-index: 99;
|
76 |
+
padding-left: $wp_menu_size;
|
77 |
+
padding-top: $wp_top_bar_size;
|
78 |
+
}
|
79 |
+
|
80 |
+
#adminmenuback {
|
81 |
+
z-index: 100;
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
@media only screen and (max-width: 960px) {
|
86 |
+
.folded {
|
87 |
+
.yith-plugin-fw__modal__wrap {
|
88 |
+
padding-left: $wp_menu_folded_size;
|
89 |
+
}
|
90 |
+
}
|
91 |
+
|
92 |
+
.auto-fold {
|
93 |
+
.yith-plugin-fw__modal--allow-wp-menu {
|
94 |
+
.yith-plugin-fw__modal__wrap {
|
95 |
+
padding-left: $wp_menu_folded_size;
|
96 |
+
}
|
97 |
+
}
|
98 |
+
}
|
99 |
+
}
|
100 |
+
|
101 |
+
@media screen and (max-width: 782px) {
|
102 |
+
.auto-fold {
|
103 |
+
.yith-plugin-fw__modal--allow-wp-menu {
|
104 |
+
.yith-plugin-fw__modal__wrap {
|
105 |
+
z-index: 999999;
|
106 |
+
width: 100%;
|
107 |
+
height: 100%;
|
108 |
+
padding-left: 0;
|
109 |
+
padding-top: 0;
|
110 |
+
}
|
111 |
+
}
|
112 |
+
|
113 |
+
.yith-plugin-fw__modal--allow-wp-menu-in-mobile {
|
114 |
+
.yith-plugin-fw__modal__wrap {
|
115 |
+
z-index: 99;
|
116 |
+
padding-top: $wp_top_bar_mobile_size;
|
117 |
+
}
|
118 |
+
|
119 |
+
&.wp-responsive-open {
|
120 |
+
.yith-plugin-fw__modal__wrap {
|
121 |
+
padding-left: $wp_menu_mobile_size;
|
122 |
+
}
|
123 |
+
}
|
124 |
+
}
|
125 |
+
|
126 |
+
|
127 |
+
}
|
128 |
+
}
|
plugin-fw/assets/css/scss/yith-plugin-ui/components/_tabs.scss
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.yith-plugin-ui .yith-plugin-fw__tabs {
|
2 |
+
background : transparent;
|
3 |
+
padding : 0;
|
4 |
+
margin : 0;
|
5 |
+
display : flex;
|
6 |
+
align-items : center;
|
7 |
+
border-bottom : 1px solid var(--yith-light-border-color);
|
8 |
+
flex-wrap : wrap;
|
9 |
+
|
10 |
+
.yith-plugin-fw__tab {
|
11 |
+
border : 0;
|
12 |
+
margin : 0;
|
13 |
+
display : block;
|
14 |
+
}
|
15 |
+
|
16 |
+
.yith-plugin-fw__tab__handler, a.yith-plugin-fw__tab__handler {
|
17 |
+
background : var(--yith-content-bg);
|
18 |
+
border : 0;
|
19 |
+
border-bottom : 3px solid transparent;
|
20 |
+
padding : 17px 20px 15px;
|
21 |
+
font-weight : 600;
|
22 |
+
color : inherit;
|
23 |
+
text-decoration : none;
|
24 |
+
display : block;
|
25 |
+
transition : all .2s ease-in-out;
|
26 |
+
opacity : .55;
|
27 |
+
|
28 |
+
&:hover {
|
29 |
+
opacity : 1;
|
30 |
+
background : var(--yith-light-bg);
|
31 |
+
color : var(--yith-light-accent);
|
32 |
+
}
|
33 |
+
}
|
34 |
+
|
35 |
+
.yith-plugin-fw__tab.yith-plugin-fw__tab--active .yith-plugin-fw__tab__handler,
|
36 |
+
.yith-plugin-fw__tab__handler.yith-plugin-fw__tab__handler--enabled {
|
37 |
+
opacity : 1;
|
38 |
+
color : var(--yith-light-accent);
|
39 |
+
border-color : var(--yith-light-accent);
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
.yith-plugin-ui .yith-plugin-fw__tab-panel {
|
44 |
+
padding : 20px;
|
45 |
+
|
46 |
+
&.yith-plugin-fw__tab-panel--outlined {
|
47 |
+
border-width : 0 1px 1px 1px;
|
48 |
+
border-style : solid;
|
49 |
+
border-color : var(--yith-light-border-color);
|
50 |
+
}
|
51 |
+
}
|
plugin-fw/assets/css/scss/yith-plugin-ui/components/_tip-tip.scss
ADDED
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@import "../mixins/buttons";
|
2 |
+
|
3 |
+
#tiptip_holder {
|
4 |
+
display: none;
|
5 |
+
pointer-events: none; /* Fix tip flashing when hover the edge */
|
6 |
+
z-index: 8675309;
|
7 |
+
position: absolute;
|
8 |
+
top: 0;
|
9 |
+
|
10 |
+
/*rtl:ignore*/
|
11 |
+
left: 0;
|
12 |
+
|
13 |
+
|
14 |
+
&.tip_top {
|
15 |
+
padding-bottom: 5px;
|
16 |
+
|
17 |
+
#tiptip_arrow_inner {
|
18 |
+
margin-top: -7px;
|
19 |
+
margin-left: -6px;
|
20 |
+
border-top-color: #333;
|
21 |
+
}
|
22 |
+
}
|
23 |
+
|
24 |
+
&.tip_bottom {
|
25 |
+
padding-top: 5px;
|
26 |
+
|
27 |
+
#tiptip_arrow_inner {
|
28 |
+
margin-top: -5px;
|
29 |
+
margin-left: -6px;
|
30 |
+
border-bottom-color: #333;
|
31 |
+
}
|
32 |
+
}
|
33 |
+
|
34 |
+
&.tip_right {
|
35 |
+
padding-left: 5px;
|
36 |
+
|
37 |
+
#tiptip_arrow_inner {
|
38 |
+
margin-top: -6px;
|
39 |
+
margin-left: -5px;
|
40 |
+
border-right-color: #333;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
&.tip_left {
|
45 |
+
padding-right: 5px;
|
46 |
+
|
47 |
+
#tiptip_arrow_inner {
|
48 |
+
margin-top: -6px;
|
49 |
+
margin-left: -7px;
|
50 |
+
border-left-color: #333;
|
51 |
+
}
|
52 |
+
}
|
53 |
+
|
54 |
+
|
55 |
+
#tiptip_content {
|
56 |
+
color: #fff;
|
57 |
+
font-size: 0.8em;
|
58 |
+
max-width: 150px;
|
59 |
+
background: #333;
|
60 |
+
text-align: center;
|
61 |
+
border-radius: 3px;
|
62 |
+
padding: 0.618em 1em;
|
63 |
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
64 |
+
|
65 |
+
code {
|
66 |
+
padding: 1px;
|
67 |
+
background: #888;
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
#tiptip_arrow,
|
72 |
+
#tiptip_arrow_inner {
|
73 |
+
position: absolute;
|
74 |
+
border-color: transparent;
|
75 |
+
border-style: solid;
|
76 |
+
border-width: 6px;
|
77 |
+
height: 0;
|
78 |
+
width: 0;
|
79 |
+
}
|
80 |
+
}
|
plugin-fw/assets/css/scss/yith-plugin-ui/mixins/_buttons.scss
ADDED
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@mixin button {
|
2 |
+
display: inline-block;
|
3 |
+
height: auto;
|
4 |
+
line-height: 30px;
|
5 |
+
border-radius: 4px;
|
6 |
+
padding: 0 17px;
|
7 |
+
font-weight: 600;
|
8 |
+
cursor: pointer;
|
9 |
+
transition: all .3s ease-in-out;
|
10 |
+
text-decoration: none;
|
11 |
+
white-space: nowrap;
|
12 |
+
|
13 |
+
&:focus {
|
14 |
+
outline: none;
|
15 |
+
box-shadow: none;
|
16 |
+
}
|
17 |
+
}
|
18 |
+
|
19 |
+
@mixin button-primary {
|
20 |
+
background: var(--yith-primary);
|
21 |
+
color: var(--yith-primary-text);
|
22 |
+
border: 1px solid var(--yith-primary);
|
23 |
+
|
24 |
+
&:focus {
|
25 |
+
background: var(--yith-primary);
|
26 |
+
color: var(--yith-primary-text);
|
27 |
+
border: 1px solid var(--yith-primary);
|
28 |
+
box-shadow: 0 0 0 3px var(--yith-primary-focus);
|
29 |
+
}
|
30 |
+
|
31 |
+
&:hover, &:active {
|
32 |
+
background: var(--yith-primary-hover);
|
33 |
+
color: var(--yith-primary-text);
|
34 |
+
border: 1px solid var(--yith-primary-hover);
|
35 |
+
}
|
36 |
+
}
|
37 |
+
|
38 |
+
@mixin button-secondary {
|
39 |
+
background: var(--yith-outline-bg);
|
40 |
+
border: 1px solid var(--yith-outline-border);
|
41 |
+
color: var(--yith-outline-text);
|
42 |
+
|
43 |
+
&:focus {
|
44 |
+
background: var(--yith-outline-bg);
|
45 |
+
border: 1px solid var(--yith-outline-border);
|
46 |
+
color: var(--yith-outline-text);
|
47 |
+
box-shadow: 0 0 0 3px var(--yith-outline-focus);
|
48 |
+
}
|
49 |
+
|
50 |
+
&:hover, &:active {
|
51 |
+
background: var(--yith-outline-bg-hover);
|
52 |
+
border-color: var(--yith-outline-border-hover);
|
53 |
+
color: var(--yith-outline-text);
|
54 |
+
}
|
55 |
+
}
|
56 |
+
|
57 |
+
@mixin button-update {
|
58 |
+
background: var(--yith-update);
|
59 |
+
color: var(--yith-update-text);
|
60 |
+
border: 1px solid var(--yith-update);
|
61 |
+
|
62 |
+
&:focus {
|
63 |
+
background: var(--yith-update);
|
64 |
+
color: var(--yith-update-text);
|
65 |
+
border: 1px solid var(--yith-update);
|
66 |
+
box-shadow: 0 0 0 3px var(--yith-update-focus);
|
67 |
+
}
|
68 |
+
|
69 |
+
&:hover, &:active {
|
70 |
+
background: var(--yith-update-hover);
|
71 |
+
color: var(--yith-update-text);
|
72 |
+
border: 1px solid var(--yith-update-hover);
|
73 |
+
}
|
74 |
+
}
|
75 |
+
|
76 |
+
@mixin button-delete {
|
77 |
+
background: var(--yith-delete);
|
78 |
+
color: var(--yith-delete-text);
|
79 |
+
border: 1px solid var(--yith-delete);
|
80 |
+
|
81 |
+
&:focus {
|
82 |
+
background: var(--yith-delete);
|
83 |
+
color: var(--yith-delete-text);
|
84 |
+
border: 1px solid var(--yith-delete);
|
85 |
+
box-shadow: 0 0 0 3px var(--yith-delete-focus);
|
86 |
+
}
|
87 |
+
|
88 |
+
&:hover, &:active {
|
89 |
+
background: var(--yith-delete-hover);
|
90 |
+
color: var(--yith-delete-text);
|
91 |
+
border: 1px solid var(--yith-delete-hover);
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
+
@mixin button-delete-outline {
|
96 |
+
background: var(--yith-delete-outline-bg);
|
97 |
+
border: 1px solid var(--yith-delete-outline-border);
|
98 |
+
color: var(--yith-delete-outline-text);
|
99 |
+
|
100 |
+
&:focus {
|
101 |
+
background: var(--yith-delete-outline-bg);
|
102 |
+
border: 1px solid var(--yith-delete-outline-border);
|
103 |
+
color: var(--yith-delete-outline-text);
|
104 |
+
box-shadow: 0 0 0 3px var(--yith-delete-outline-focus);
|
105 |
+
}
|
106 |
+
|
107 |
+
&:hover, &:active {
|
108 |
+
background: var(--yith-delete-outline-bg-hover);
|
109 |
+
border-color: var(--yith-delete-outline-border-hover);
|
110 |
+
color: var(--yith-delete-outline-text);
|
111 |
+
}
|
112 |
+
}
|
113 |
+
|
114 |
+
@mixin button-with-icon($icon) {
|
115 |
+
|
116 |
+
&:before {
|
117 |
+
font-family: yith-icon;
|
118 |
+
content: $icon;
|
119 |
+
margin: 0 8px 0 -5px;
|
120 |
+
font-size: 1.15em;
|
121 |
+
font-weight: 400;
|
122 |
+
vertical-align: top;
|
123 |
+
}
|
124 |
+
}
|
plugin-fw/assets/css/scss/yith-plugin-ui/mixins/_tables.scss
ADDED
@@ -0,0 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@mixin table-action-buttons {
|
2 |
+
|
3 |
+
thead th.column-actions, tfoot th.column-actions {
|
4 |
+
visibility: hidden;
|
5 |
+
}
|
6 |
+
|
7 |
+
th.column-actions, td.column-actions {
|
8 |
+
text-align: right;
|
9 |
+
}
|
10 |
+
|
11 |
+
.yith-plugin-fw__action-button:not(.yith-plugin-fw__action-button--visible) {
|
12 |
+
opacity: 0;
|
13 |
+
transition: .3s;
|
14 |
+
}
|
15 |
+
|
16 |
+
tbody tr:hover .yith-plugin-fw__action-button:not(.yith-plugin-fw__action-button--visible) {
|
17 |
+
opacity: 1;
|
18 |
+
}
|
19 |
+
}
|
20 |
+
|
21 |
+
@mixin wp-table-commons {
|
22 |
+
|
23 |
+
tfoot {
|
24 |
+
display: none;
|
25 |
+
}
|
26 |
+
|
27 |
+
.check-column {
|
28 |
+
width: 2em;
|
29 |
+
}
|
30 |
+
|
31 |
+
th.sortable a, th.sorted a {
|
32 |
+
padding: 0 8px 0 0;
|
33 |
+
color: inherit;
|
34 |
+
|
35 |
+
&:hover {
|
36 |
+
color: var(--yith-link);
|
37 |
+
}
|
38 |
+
}
|
39 |
+
|
40 |
+
.sorting-indicator {
|
41 |
+
visibility: visible;
|
42 |
+
|
43 |
+
&:before {
|
44 |
+
font-family: yith-icon;
|
45 |
+
content: "\f116";
|
46 |
+
color: inherit;
|
47 |
+
font-size: 10px;
|
48 |
+
top: 0;
|
49 |
+
left: 0;
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
th.sorted.asc .sorting-indicator:before,
|
54 |
+
th.desc:hover span.sorting-indicator:before,
|
55 |
+
th.desc a:focus span.sorting-indicator:before {
|
56 |
+
content: "\f113";
|
57 |
+
font-weight: 600;
|
58 |
+
}
|
59 |
+
|
60 |
+
th.sorted.desc .sorting-indicator:before,
|
61 |
+
th.asc:hover span.sorting-indicator:before,
|
62 |
+
th.asc a:focus span.sorting-indicator:before {
|
63 |
+
content: "\f110";
|
64 |
+
font-weight: 600;
|
65 |
+
}
|
66 |
+
@include table-action-buttons;
|
67 |
+
}
|
68 |
+
|
69 |
+
@mixin classic-table {
|
70 |
+
border: 2px solid var(--yith-table-border-light);
|
71 |
+
background: var(--yith-content-bg);
|
72 |
+
box-shadow: none;
|
73 |
+
border-spacing: 0;
|
74 |
+
|
75 |
+
th, thead td, tfoot td {
|
76 |
+
text-align: left;
|
77 |
+
line-height: 1.3em;
|
78 |
+
font-size: 14px;
|
79 |
+
}
|
80 |
+
|
81 |
+
thead th, thead td {
|
82 |
+
border-bottom: 0;
|
83 |
+
}
|
84 |
+
|
85 |
+
tfoot th, tfoot td {
|
86 |
+
border-top: 0;
|
87 |
+
}
|
88 |
+
|
89 |
+
tbody tr th, tbody tr td {
|
90 |
+
vertical-align: middle;
|
91 |
+
padding: 15px;
|
92 |
+
}
|
93 |
+
|
94 |
+
tbody tr:hover {
|
95 |
+
background: var(--yith-table-row-highlight);
|
96 |
+
}
|
97 |
+
|
98 |
+
thead td, thead th, tfoot td, tfoot th {
|
99 |
+
padding: 15px;
|
100 |
+
font-weight: 600;
|
101 |
+
}
|
102 |
+
|
103 |
+
tbody > :nth-child(odd) {
|
104 |
+
background-color: var(--yith-table-row-striped);
|
105 |
+
}
|
106 |
+
}
|
107 |
+
|
108 |
+
|
109 |
+
@mixin boxed-table {
|
110 |
+
border: 0;
|
111 |
+
border-spacing: 0 20px;
|
112 |
+
box-shadow: none;
|
113 |
+
background: transparent;
|
114 |
+
|
115 |
+
th, thead td, tfoot td {
|
116 |
+
text-align: left;
|
117 |
+
line-height: 1.3em;
|
118 |
+
font-size: 14px;
|
119 |
+
}
|
120 |
+
|
121 |
+
thead th, thead td {
|
122 |
+
border-bottom: 0;
|
123 |
+
padding: 0 0 0 25px;
|
124 |
+
font-weight: 600;
|
125 |
+
}
|
126 |
+
|
127 |
+
tbody tr {
|
128 |
+
background: var(--yith-content-bg);
|
129 |
+
border-radius: 5px;
|
130 |
+
box-shadow: 0 0 0 1px var(--yith-light-border-color), 0 3px 11px 6px var(--yith-light-shadow);
|
131 |
+
transition: background-color .2s ease-in-out;
|
132 |
+
}
|
133 |
+
|
134 |
+
tbody tr th, tbody tr td {
|
135 |
+
background: transparent;
|
136 |
+
vertical-align: middle;
|
137 |
+
padding: 25px 0 25px 25px;
|
138 |
+
}
|
139 |
+
|
140 |
+
tbody tr td:last-child {
|
141 |
+
padding-right: 25px;
|
142 |
+
}
|
143 |
+
|
144 |
+
tbody tr th:first-child,
|
145 |
+
tbody tr td:first-child {
|
146 |
+
border-radius: 5px 0 0 5px;
|
147 |
+
}
|
148 |
+
|
149 |
+
tbody tr th:last-child,
|
150 |
+
tbody tr td:last-child {
|
151 |
+
padding-right: 25px;
|
152 |
+
border-radius: 0 5px 5px 0;
|
153 |
+
}
|
154 |
+
|
155 |
+
|
156 |
+
tbody tr:hover {
|
157 |
+
background: var(--yith-table-row-highlight);
|
158 |
+
}
|
159 |
+
}
|
plugin-fw/assets/css/yith-bh-onboarding.css
ADDED
@@ -0,0 +1,170 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* === YITH BH Onboarding Modal Style === */
|
2 |
+
#nfd-ecommerce {
|
3 |
+
overflow-x: hidden;
|
4 |
+
}
|
5 |
+
|
6 |
+
#yith-bh-onboarding {
|
7 |
+
max-width: 800px;
|
8 |
+
margin: 20px auto;
|
9 |
+
padding: 30px 20px;
|
10 |
+
background-color: #fff;
|
11 |
+
box-sizing: border-box;
|
12 |
+
}
|
13 |
+
|
14 |
+
#yith-bh-onboarding header {
|
15 |
+
display: flex;
|
16 |
+
align-items: flex-end;
|
17 |
+
margin-bottom: 40px;
|
18 |
+
}
|
19 |
+
#yith-bh-onboarding header .logo{
|
20 |
+
margin-bottom: 10px;
|
21 |
+
}
|
22 |
+
#yith-bh-onboarding .yith-bh-onboarding-plugin-description {
|
23 |
+
flex: 1;
|
24 |
+
}
|
25 |
+
|
26 |
+
#yith-bh-onboarding header div .claim {
|
27 |
+
color: #2C5DB4;
|
28 |
+
width: 100%;
|
29 |
+
font-weight: 600;
|
30 |
+
font-size: 15px;
|
31 |
+
}
|
32 |
+
|
33 |
+
#yith-bh-onboarding header div .plugin-description {
|
34 |
+
width: 100%;
|
35 |
+
text-align: right;
|
36 |
+
font-size: 10px;
|
37 |
+
}
|
38 |
+
|
39 |
+
#yith-bh-onboarding table {
|
40 |
+
margin-bottom: 20px !important;
|
41 |
+
}
|
42 |
+
|
43 |
+
#yith-bh-onboarding .submit-area {
|
44 |
+
padding: 0 30px 30px;
|
45 |
+
text-align: right;
|
46 |
+
}
|
47 |
+
|
48 |
+
#yith-bh-onboarding .submit-area button {
|
49 |
+
padding: 3px 50px;
|
50 |
+
background-color: #2C5DB4;
|
51 |
+
}
|
52 |
+
|
53 |
+
#yith-bh-onboarding .yith-bh-onboarding-tabs.yith-plugin-ui {
|
54 |
+
border: 1px solid #ccc;
|
55 |
+
border-radius: 10px;
|
56 |
+
}
|
57 |
+
|
58 |
+
#yith-bh-onboarding ul.yith-bh-onboarding-tabs__nav {
|
59 |
+
display: flex;
|
60 |
+
align-items: baseline;
|
61 |
+
justify-content: center;
|
62 |
+
margin-top: 0;
|
63 |
+
overflow: hidden;
|
64 |
+
}
|
65 |
+
|
66 |
+
#yith-bh-onboarding ul.yith-bh-onboarding-tabs__nav li {
|
67 |
+
width: 50%;
|
68 |
+
background-color: #536E8B;
|
69 |
+
color: #fff;
|
70 |
+
padding: 13px;
|
71 |
+
text-align: center;
|
72 |
+
cursor: pointer;
|
73 |
+
font-weight: 600;
|
74 |
+
}
|
75 |
+
|
76 |
+
#yith-bh-onboarding ul.yith-bh-onboarding-tabs__nav li:first-child {
|
77 |
+
border-top-left-radius: 10px;
|
78 |
+
}
|
79 |
+
|
80 |
+
#yith-bh-onboarding ul.yith-bh-onboarding-tabs__nav li:last-child {
|
81 |
+
border-top-right-radius: 10px;
|
82 |
+
}
|
83 |
+
|
84 |
+
#yith-bh-onboarding ul.yith-bh-onboarding-tabs__nav li a {
|
85 |
+
text-decoration: none;
|
86 |
+
}
|
87 |
+
|
88 |
+
#yith-bh-onboarding ul.yith-bh-onboarding-tabs__nav li.selected {
|
89 |
+
background-color: #fff;
|
90 |
+
color: #2C5DB4;
|
91 |
+
}
|
92 |
+
|
93 |
+
#yith-bh-onboarding .yith-bh-onboarding-tabs__content .yith-bh-onboarding-tabs__tab {
|
94 |
+
display: none;
|
95 |
+
}
|
96 |
+
|
97 |
+
#yith-bh-onboarding .yith-bh-onboarding-tabs__content p.yith-bh-onboarding-tab-description {
|
98 |
+
padding: 9px 20px;
|
99 |
+
}
|
100 |
+
|
101 |
+
#yith-bh-onboarding .yith-bh-onboarding-tabs__content .form-table {
|
102 |
+
border: 0 !important;
|
103 |
+
}
|
104 |
+
|
105 |
+
#yith-bh-onboarding ul.yith-bh-onboarding-connect-list {
|
106 |
+
width: 70%;
|
107 |
+
margin: 0 auto 60px;
|
108 |
+
}
|
109 |
+
|
110 |
+
#yith-bh-onboarding ul.yith-bh-onboarding-connect-list li {
|
111 |
+
padding-left: 35px;
|
112 |
+
margin: 0 auto 40px;
|
113 |
+
position: relative;
|
114 |
+
}
|
115 |
+
|
116 |
+
#yith-bh-onboarding ul.yith-bh-onboarding-connect-list li h3 {
|
117 |
+
font-size: 13px;
|
118 |
+
font-weight: bold;
|
119 |
+
margin-bottom: 20px;
|
120 |
+
}
|
121 |
+
|
122 |
+
#yith-bh-onboarding ul.yith-bh-onboarding-connect-list li:before {
|
123 |
+
content: "";
|
124 |
+
width: 35px;
|
125 |
+
height: 35px;
|
126 |
+
display: block;
|
127 |
+
position: absolute;
|
128 |
+
left: -35px;
|
129 |
+
top: -5px;
|
130 |
+
background: url("../images/bh-onboarding/check.svg") no-repeat center center;
|
131 |
+
}
|
132 |
+
|
133 |
+
#yith-bh-onboarding ul.yith-bh-onboarding-connect-list p {
|
134 |
+
font-size: 13px;
|
135 |
+
line-height: 1.6em;
|
136 |
+
}
|
137 |
+
|
138 |
+
#yith-bh-onboarding .yith-bh-onboarding-connect-cta {
|
139 |
+
width: calc(70% + 70px);
|
140 |
+
margin: 20px auto;
|
141 |
+
border-radius: 10px;
|
142 |
+
background-color: #f6f6f6;
|
143 |
+
padding: 30px 0 45px;
|
144 |
+
text-align: center;
|
145 |
+
}
|
146 |
+
|
147 |
+
#yith-bh-onboarding .yith-bh-onboarding-connect-cta p {
|
148 |
+
font-size: 16px;
|
149 |
+
margin-bottom: 30px;
|
150 |
+
}
|
151 |
+
|
152 |
+
#yith-bh-onboarding .yith-bh-onboarding-connect-cta a {
|
153 |
+
text-decoration: none;
|
154 |
+
font-size: 13px;
|
155 |
+
color: white;
|
156 |
+
background-color: #2C5DB4;
|
157 |
+
padding: 10px 30px;
|
158 |
+
border-radius: 5px;
|
159 |
+
}
|
160 |
+
|
161 |
+
@media screen and (max-width: 782px){
|
162 |
+
|
163 |
+
#yith-bh-onboarding header {
|
164 |
+
display: block;
|
165 |
+
}
|
166 |
+
#yith-bh-onboarding header div .plugin-description{
|
167 |
+
text-align: left;
|
168 |
+
margin-top: 20px;
|
169 |
+
}
|
170 |
+
}
|
plugin-fw/assets/images/bh-onboarding/check.svg
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3 |
+
<svg width="100%" height="100%" viewBox="0 0 35 35" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
4 |
+
<g transform="matrix(2.0825,0,0,3.04444,-3.82583,-18.2777)">
|
5 |
+
<ellipse cx="10.24" cy="11.752" rx="8.403" ry="5.748" style="fill:rgb(226,235,252);"/>
|
6 |
+
</g>
|
7 |
+
<g transform="matrix(0.805374,0,0,0.805374,7.56329,9.79297)">
|
8 |
+
<g id="Plugin-onboarding---Step-2">
|
9 |
+
<g id="Group">
|
10 |
+
<g id="check-verde--1-" serif:id="check-verde-(1)">
|
11 |
+
<path id="Path" d="M4.705,4.608L10.178,9.985L20.163,0L24.676,4.449L10.146,19.139L0,9.249L4.705,4.608Z" style="fill:rgb(115,161,239);fill-rule:nonzero;"/>
|
12 |
+
</g>
|
13 |
+
</g>
|
14 |
+
</g>
|
15 |
+
</g>
|
16 |
+
</svg>
|
plugin-fw/assets/js/yit-plugin-panel.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
jQuery(function(e){function t(){e("[data-dep-target]:not( .deps-initialized )").each(function(){var t=e(this);if(!t.closest(".metaboxes-tab").length){t.addClass("deps-initialized");var a="#"+t.data("dep-target"),i="#"+t.data("dep-id"),n=t.data("dep-value"),
|
1 |
+
jQuery(function(e){function t(){e("[data-dep-target]:not( .deps-initialized )").each(function(){var t=e(this);if(!t.closest(".metaboxes-tab").length){t.addClass("deps-initialized");var a="#"+t.data("dep-target"),i="#"+t.data("dep-id"),n=t.data("dep-value"),r=t.data("dep-type");e(i).on("change",function(){!function(t,a,i,n){var r=!0;if("string"==typeof a){":radio"===a.substr(0,6)&&(a+=":checked");var d=e(a),o=d.attr("type"),s=d.val();switch(o){case"checkbox":s=d.is(":checked")?"yes":"no";break;case"radio":s=d.find('input[type="radio"]').filter(":checked").val()}i=i.split(",");for(var c=0;c<i.length;c++){if(s==i[c]){r=!0;break}r=!1}}var l=e(t),h=e(t+"-container").closest("tr");h.length<1&&(h=l.closest(".yith-plugin-fw-panel-wc-row, .yith-toggle-content-row"));var u,g=n.split("-");for(u in g){var f=g[u];if(r)switch(f){case"disable":h.removeClass("yith-disabled"),l.attr("disabled",!1);break;case"hide":case"hideNow":h.show();break;case"hideme":l.show();break;case"fadeOut":h.show();break;case"fadeInOut":case"fadeIn":default:h.show(500)}else switch(f){case"disable":h.addClass("yith-disabled"),l.attr("disabled",!0);break;case"hide":case"hideNow":h.hide();break;case"hideme":l.hide();break;case"fadeInOut":case"fadeOut":h.hide(500);break;case"fadeIn":default:h.hide()}}}(a,i,n.toString(),r)}).trigger("change")}})}t(),e(document).on("yith-add-box-button-toggle",t),e(".rm_connectedlist").each(function(){var t=e(this).find("ul"),a=e(this).find(":hidden");t.sortable({connectWith:t,update:function(i,n){var r={};t.each(function(){var t={};e(this).children().each(function(){t[e(this).data("option")]=e(this).text()}),r[e(this).data("list")]=t}),a.val(JSON.stringify(r).replace(/[\\"']/g,"\\$&").replace(/\u0000/g,"\\0"))}}).disableSelection()}),e(function(){e(".google-analytic-generate").click(function(){var t=e("#"+e(this).data("textarea")).data("codemirrorInstance"),a="(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n";a+="(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement( o ),\n",a+="m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n",a+="})(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n\n",a+="ga('create', '"+e("#"+e(this).data("input")).val()+"', '"+e(this).data("basename")+"');\n",a+="ga('send', 'pageview');\n",t.replaceRange(a,t.getCursor("start"),t.getCursor("end"))})}),e(".yith-plugin-fw-panel .woo-nav-tab-wrapper").removeClass("woo-nav-tab-wrapper").addClass("yith-nav-tab-wrapper");var a=e(".wrap.yith-plugin-ui").first(),i=e("div.updated, div.error, div.notice");i.addClass("inline"),a.length&&a.prepend(i),function(){var t=e(".yith-nav-sub-tab.nav-tab-active"),a=e(".yith-plugin-fw-wp-page__sub-tab-wrap");if(t.length&&!a.length){var i=e(".yith-plugin-fw-wp-page-wrapper");if(i.length||(i=e("#wpbody-content > .yith-plugin-ui")),i){var n=i.find(".yit-admin-panel-content-wrap");n.length?n.addClass("has-subnav"):i.find(".wrap").wrap('<div class="yith-plugin-fw-wp-page__sub-tab-wrap"></div>')}}}(),function(){var t=e("#yith-plugin-fw-float-save-button"),a=e("#plugin-fw-wc"),i=document.querySelector("#main-save-button");function n(){var e,a;e=i.getBoundingClientRect(),a={width:window.innerWidth||document.documentElement.clientWidth,height:window.innerHeight||document.documentElement.clientHeight},e.top>=0&&e.left>=0&&e.top<=a.height&&e.left<=a.width?t.removeClass("visible"):t.addClass("visible")}t.length>0&&a.length>0&&(n(),document.addEventListener("scroll",n,{passive:!0}),e(document).on("click","#yith-plugin-fw-float-save-button",function(i){i.preventDefault(),"tinyMCE"in window&&"triggerSave"in window.tinyMCE&&window.tinyMCE.triggerSave(),e(".codemirror.codemirror--initialized").each(function(){var t=e(this).data("codemirrorInstance")||!1;t&&"codemirror"in t&&t.codemirror.save()}),t.block({message:null,overlayCSS:{background:"transparent",opacity:.6}}),e.post(document.location.href,a.serialize()).done(function(a){t.unblock().addClass("green").fadeOut(300).html(t.data("saved-label")).fadeIn(300).delay(2500).queue(function(a){t.fadeOut(500,function(){e(this).removeClass("green"),e(this).html(e(this).data("default-label")).fadeIn(500)}),a()}),window.onbeforeunload=null,e(document).trigger("yith-plugin-fw-float-save-button-after-saving",[a])})}))}()});
|
plugin-fw/assets/js/yith-bh-onboarding.js
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function($) {
|
2 |
+
|
3 |
+
var init = function() {
|
4 |
+
var currentTab = $('.yith-bh-onboarding-tabs__nav li.selected').data('tab');
|
5 |
+
$('#' + currentTab).fadeIn();
|
6 |
+
};
|
7 |
+
|
8 |
+
var block = function(element) {
|
9 |
+
var blockArgs = {
|
10 |
+
message: '',
|
11 |
+
overlayCSS: {
|
12 |
+
backgroundColor: '#FFFFFF',
|
13 |
+
opacity: 0.8,
|
14 |
+
cursor: 'wait',
|
15 |
+
},
|
16 |
+
};
|
17 |
+
element.block(blockArgs);
|
18 |
+
};
|
19 |
+
|
20 |
+
var unblock = function(element) {
|
21 |
+
element.unblock();
|
22 |
+
};
|
23 |
+
|
24 |
+
$(document).on('click', '.yith-bh-onboarding-tabs__nav li', function(e) {
|
25 |
+
var $t = $(this);
|
26 |
+
//nav
|
27 |
+
$('.yith-bh-onboarding-tabs__nav li').removeClass('selected');
|
28 |
+
$t.addClass('selected');
|
29 |
+
//tab content
|
30 |
+
$('.yith-bh-onboarding-tabs__tab').hide();
|
31 |
+
$('#' + $t.data('tab')).fadeIn();
|
32 |
+
});
|
33 |
+
|
34 |
+
$(document).on('submit', 'form', function(e) {
|
35 |
+
e.preventDefault();
|
36 |
+
var form = $(this);
|
37 |
+
|
38 |
+
if (true ===
|
39 |
+
$(document).triggerHandler('yith_onboarding_form_submit_validation')) {
|
40 |
+
$(document).trigger('yith_onboarding_validate_form_submit', [form]);
|
41 |
+
return false;
|
42 |
+
}
|
43 |
+
block($('.yith-bh-onboarding-tabs__content'));
|
44 |
+
$.ajax(
|
45 |
+
{
|
46 |
+
type: 'POST',
|
47 |
+
data: form.serialize(),
|
48 |
+
url: yith_bh_onboarding.ajax_url,
|
49 |
+
success: function(response) {
|
50 |
+
if (response.success) {
|
51 |
+
var button = parent.document.querySelector(
|
52 |
+
'.components-modal__frame button');
|
53 |
+
button.click();
|
54 |
+
}
|
55 |
+
},
|
56 |
+
complete: function() {
|
57 |
+
unblock($('.yith-bh-onboarding-tabs__content'));
|
58 |
+
},
|
59 |
+
},
|
60 |
+
);
|
61 |
+
|
62 |
+
});
|
63 |
+
init();
|
64 |
+
|
65 |
+
})(jQuery);
|
plugin-fw/assets/js/yith-bh-onboarding.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(t){var a;t(document).on("click",".yith-bh-onboarding-tabs__nav li",function(a){var n=t(this);t(".yith-bh-onboarding-tabs__nav li").removeClass("selected"),n.addClass("selected"),t(".yith-bh-onboarding-tabs__tab").hide(),t("#"+n.data("tab")).fadeIn()}),t(document).on("submit","form",function(a){a.preventDefault();var n=t(this);if(!0===t(document).triggerHandler("yith_onboarding_form_submit_validation"))return t(document).trigger("yith_onboarding_validate_form_submit",[n]),!1;t(".yith-bh-onboarding-tabs__content").block({message:"",overlayCSS:{backgroundColor:"#FFFFFF",opacity:.8,cursor:"wait"}}),t.ajax({type:"POST",data:n.serialize(),url:yith_bh_onboarding.ajax_url,success:function(t){t.success&&parent.document.querySelector(".components-modal__frame button").click()},complete:function(){t(".yith-bh-onboarding-tabs__content").unblock()}})}),a=t(".yith-bh-onboarding-tabs__nav li.selected").data("tab"),t("#"+a).fadeIn()}(jQuery);
|
plugin-fw/includes/builders/gutenberg/src/common/actions-to-jquery-events.js
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Actions to jQuery events
|
3 |
+
*/
|
4 |
+
|
5 |
+
/**
|
6 |
+
* WordPress dependencies
|
7 |
+
*/
|
8 |
+
import { addAction } from '@wordpress/hooks';
|
9 |
+
|
10 |
+
const actions = [
|
11 |
+
{ key: 'yith_plugin_fw_gutenberg_before_do_shortcode', delay: 0 },
|
12 |
+
{ key: 'yith_plugin_fw_gutenberg_success_do_shortcode', delay: 200 },
|
13 |
+
{ key: 'yith_plugin_fw_gutenberg_after_do_shortcode', delay: 200 }
|
14 |
+
];
|
15 |
+
|
16 |
+
for ( const action of actions ) {
|
17 |
+
addAction(
|
18 |
+
action.key,
|
19 |
+
'yith-plugin-fw/jquery-events',
|
20 |
+
( ...params ) => {
|
21 |
+
if ( 'jQuery' in window ) {
|
22 |
+
if ( action.delay ) {
|
23 |
+
setTimeout( () => {
|
24 |
+
jQuery( document ).trigger( action.key, Object.values( params ) );
|
25 |
+
}, action.delay );
|
26 |
+
} else {
|
27 |
+
jQuery( document ).trigger( action.key, Object.values( params ) );
|
28 |
+
}
|
29 |
+
}
|
30 |
+
}
|
31 |
+
);
|
32 |
+
}
|
plugin-fw/includes/builders/gutenberg/src/common/ajaxFetch.js
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Ajax Fetch
|
3 |
+
*/
|
4 |
+
|
5 |
+
/**
|
6 |
+
* WordPress dependencies
|
7 |
+
*/
|
8 |
+
import { addQueryArgs } from '@wordpress/url';
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Check status of ajax call
|
12 |
+
* @param response
|
13 |
+
* @returns {*}
|
14 |
+
*/
|
15 |
+
function ajaxCheckStatus( response ) {
|
16 |
+
if ( response.status >= 200 && response.status < 300 ) {
|
17 |
+
return response;
|
18 |
+
}
|
19 |
+
|
20 |
+
throw response;
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Parse the response of the ajax call
|
25 |
+
* @param response
|
26 |
+
* @returns {*}
|
27 |
+
*/
|
28 |
+
function parseResponse( response ) {
|
29 |
+
return response.json ? response.json() : response.text();
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Fetch using WordPress Ajax
|
34 |
+
*
|
35 |
+
* @param {object} data The data to use in the ajax call.
|
36 |
+
* @param {string} url The ajax URL.
|
37 |
+
* @returns {Promise<Response>}
|
38 |
+
*/
|
39 |
+
export const ajaxFetch = ( data, url = yithGutenberg.ajaxurl ) => {
|
40 |
+
url = addQueryArgs( url, data );
|
41 |
+
return fetch( url ).then( ajaxCheckStatus ).then( parseResponse );
|
42 |
+
};
|
plugin-fw/includes/builders/gutenberg/src/common/checkForDeps.js
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Check for dependencies
|
3 |
+
*
|
4 |
+
* @param {object} attributeArgs Attribute arguments.
|
5 |
+
* @param {object} attributes The attributes.
|
6 |
+
* @returns {boolean}
|
7 |
+
*/
|
8 |
+
|
9 |
+
import _ from 'lodash';
|
10 |
+
|
11 |
+
const checkForSingleDep = ( attributes, dep, controlType ) => {
|
12 |
+
let show = true;
|
13 |
+
|
14 |
+
if ( dep && dep.id && 'value' in dep ) {
|
15 |
+
let depValue = dep.value;
|
16 |
+
if ( ['toggle', 'checkbox'].includes( controlType ) ) {
|
17 |
+
depValue = true === depValue || 'yes' === depValue || 1 === depValue;
|
18 |
+
}
|
19 |
+
depValue = _.isArray( depValue ) ? depValue : [depValue];
|
20 |
+
|
21 |
+
show = typeof attributes[ dep.id ] !== 'undefined' && depValue.includes( attributes[ dep.id ] );
|
22 |
+
}
|
23 |
+
|
24 |
+
return show;
|
25 |
+
};
|
26 |
+
|
27 |
+
export const checkForDeps = ( attributeArgs, attributes ) => {
|
28 |
+
const { controlType } = attributeArgs;
|
29 |
+
let show = true;
|
30 |
+
|
31 |
+
if ( attributeArgs.deps ) {
|
32 |
+
if ( _.isArray( attributeArgs.deps ) ) {
|
33 |
+
for ( let i in attributeArgs.deps ) {
|
34 |
+
const singleDep = attributeArgs.deps[ i ];
|
35 |
+
show = checkForSingleDep( attributes, singleDep, controlType );
|
36 |
+
if ( !show ) {
|
37 |
+
break;
|
38 |
+
}
|
39 |
+
}
|
40 |
+
} else {
|
41 |
+
show = checkForSingleDep( attributes, attributeArgs.deps, controlType );
|
42 |
+
}
|
43 |
+
}
|
44 |
+
|
45 |
+
return show;
|
46 |
+
};
|
plugin-fw/includes/builders/gutenberg/src/common/generateShortcode.js
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Internal dependencies
|
3 |
+
*/
|
4 |
+
import { checkForDeps } from './checkForDeps';
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Generate the shortcode
|
8 |
+
*
|
9 |
+
* @param {object} blockArgs The block arguments.
|
10 |
+
* @param {object} attributes The attributes
|
11 |
+
* @returns {string}
|
12 |
+
*/
|
13 |
+
export const generateShortcode = ( blockArgs, attributes ) => {
|
14 |
+
let theShortcode = '';
|
15 |
+
let callback = false;
|
16 |
+
|
17 |
+
if ( typeof blockArgs.callback !== 'undefined' ) {
|
18 |
+
if ( jQuery && blockArgs.callback in jQuery.fn ) {
|
19 |
+
callback = jQuery.fn[ blockArgs.callback ];
|
20 |
+
} else if ( blockArgs.callback in window ) {
|
21 |
+
callback = window[ blockArgs.callback ];
|
22 |
+
}
|
23 |
+
}
|
24 |
+
|
25 |
+
if ( typeof callback === 'function' ) {
|
26 |
+
theShortcode = callback( attributes, blockArgs );
|
27 |
+
} else {
|
28 |
+
const shortcodeAttrs = blockArgs.attributes ? Object.entries( blockArgs.attributes ).map( ( [attributeName, attributeArgs] ) => {
|
29 |
+
const show = checkForDeps( attributeArgs, attributes );
|
30 |
+
const value = attributes[ attributeName ];
|
31 |
+
|
32 |
+
if ( show && typeof value !== 'undefined' ) {
|
33 |
+
const shortcodeValue = !!attributeArgs.remove_quotes ? value : `"${value}"`;
|
34 |
+
return attributeName + '=' + shortcodeValue;
|
35 |
+
}
|
36 |
+
} ) : [];
|
37 |
+
|
38 |
+
const shortcodeAttrsText = shortcodeAttrs.length ? ( ' ' + shortcodeAttrs.join( ' ' ) ) : '';
|
39 |
+
theShortcode = `[${blockArgs.shortcode_name}${shortcodeAttrsText}]`;
|
40 |
+
}
|
41 |
+
return theShortcode;
|
42 |
+
};
|
plugin-fw/includes/builders/gutenberg/src/common/icons.js
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* SVG Icons
|
3 |
+
*/
|
4 |
+
|
5 |
+
/**
|
6 |
+
* The YITH Logo Icon
|
7 |
+
* @type {JSX.Element}
|
8 |
+
*/
|
9 |
+
export const yith_icon = <svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" width="22" height="22" role="img" aria-hidden="true" focusable="false">
|
10 |
+
<path width="22" height="22"
|
11 |
+
d="M 18.24 7.628 C 17.291 8.284 16.076 8.971 14.587 9.688 C 15.344 7.186 15.765 4.851 15.849 2.684 C 15.912 0.939 15.133 0.045 13.514 0.003 C 11.558 -0.06 10.275 1.033 9.665 3.284 C 10.007 3.137 10.359 3.063 10.723 3.063 C 11.021 3.063 11.267 3.184 11.459 3.426 C 11.651 3.668 11.736 3.947 11.715 4.262 C 11.695 5.082 11.276 5.961 10.46 6.896 C 9.644 7.833 8.918 8.3 8.282 8.3 C 7.837 8.3 7.625 7.922 7.646 7.165 C 7.667 6.765 7.804 5.955 8.056 4.735 C 8.287 3.579 8.403 2.801 8.403 2.401 C 8.403 1.707 8.224 1.144 7.867 0.713 C 7.509 0.282 6.994 0.098 6.321 0.161 C 5.858 0.203 5.175 0.624 4.27 1.422 C 3.596 2.035 2.923 2.644 2.25 3.254 L 2.976 4.106 C 3.564 3.664 3.922 3.443 4.048 3.443 C 4.448 3.443 4.637 3.717 4.617 4.263 C 4.617 4.306 4.427 4.968 4.049 6.251 C 3.671 7.534 3.471 8.491 3.449 9.122 C 3.407 9.985 3.565 10.647 3.924 11.109 C 4.367 11.677 5.106 11.919 6.142 11.835 C 7.366 11.751 8.591 11.298 9.816 10.479 C 10.323 10.142 10.808 9.753 11.273 9.311 C 11.105 10.153 10.905 10.868 10.673 11.457 C 8.402 12.487 6.762 13.37 5.752 14.107 C 4.321 15.137 3.554 16.241 3.449 17.419 C 3.259 19.459 4.29 20.479 6.541 20.479 C 8.055 20.479 9.517 19.554 10.926 17.703 C 12.125 16.126 13.166 14.022 14.049 11.394 C 15.578 10.635 16.87 9.892 17.928 9.164 C 17.894 9.409 18.319 7.308 18.24 7.628 Z M 7.393 16.095 C 7.056 16.095 6.898 15.947 6.919 15.653 C 6.961 15.106 7.908 14.38 9.759 13.476 C 8.791 15.221 8.002 16.095 7.393 16.095 Z"/>
|
12 |
+
</svg>;
|
plugin-fw/includes/builders/gutenberg/src/common/index.js
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
export * from './ajaxFetch';
|
2 |
+
export * from './icons';
|
3 |
+
export * from './generateShortcode';
|
4 |
+
export * from './checkForDeps';
|
plugin-fw/includes/builders/gutenberg/src/components/color-palette-control/index.js
ADDED
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Color Palette Component
|
3 |
+
*/
|
4 |
+
|
5 |
+
/**
|
6 |
+
* External dependencies
|
7 |
+
*/
|
8 |
+
import React from 'react';
|
9 |
+
|
10 |
+
/**
|
11 |
+
* WordPress dependencies
|
12 |
+
*/
|
13 |
+
import { BaseControl, ColorIndicator, ColorPalette } from '@wordpress/components';
|
14 |
+
import { useSetting } from '@wordpress/block-editor';
|
15 |
+
import { useInstanceId } from '@wordpress/compose';
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Internal dependencies
|
19 |
+
*/
|
20 |
+
import './style.scss';
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Visual Label Element
|
24 |
+
*
|
25 |
+
* @param {string} label The label.
|
26 |
+
* @param {string} colorValue The color.
|
27 |
+
* @returns {JSX.Element}
|
28 |
+
* @constructor
|
29 |
+
*/
|
30 |
+
function VisualLabel( {
|
31 |
+
label,
|
32 |
+
colorValue
|
33 |
+
} ) {
|
34 |
+
|
35 |
+
return (
|
36 |
+
<>
|
37 |
+
{label}
|
38 |
+
{!!colorValue && (
|
39 |
+
<ColorIndicator colorValue={colorValue}/>
|
40 |
+
)}
|
41 |
+
</>
|
42 |
+
);
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Color Palette Control
|
47 |
+
*
|
48 |
+
* @param {string} className The CSS class name.
|
49 |
+
* @param {string} label The label.
|
50 |
+
* @param {function} onChange The function callback fired on value change.
|
51 |
+
* @param {string} value The initial value.
|
52 |
+
* @param {string} help The help message.
|
53 |
+
* @param {array} palette Array of palette colors.
|
54 |
+
* @param {bool} clearable Set true to allow clear.
|
55 |
+
* @returns {JSX.Element}
|
56 |
+
* @constructor
|
57 |
+
*/
|
58 |
+
export default function ColorPaletteControl( {
|
59 |
+
className,
|
60 |
+
label,
|
61 |
+
onChange,
|
62 |
+
value,
|
63 |
+
help,
|
64 |
+
palette,
|
65 |
+
clearable
|
66 |
+
} ) {
|
67 |
+
|
68 |
+
palette = !!palette ? palette : useSetting( 'color.palette' );
|
69 |
+
|
70 |
+
const instanceId = useInstanceId( ColorPaletteControl );
|
71 |
+
const id = `inspector-yith-color-palette-control-${instanceId}`;
|
72 |
+
|
73 |
+
return (
|
74 |
+
<BaseControl
|
75 |
+
id={id}
|
76 |
+
className={`block-editor-yith-color-palette-control ${className}`}
|
77 |
+
help={help}
|
78 |
+
>
|
79 |
+
<fieldset>
|
80 |
+
<legend>
|
81 |
+
<div className="block-editor-yith-color-palette-control__color-indicator">
|
82 |
+
<BaseControl.VisualLabel>
|
83 |
+
<VisualLabel colorValue={value} label={label}/>
|
84 |
+
</BaseControl.VisualLabel>
|
85 |
+
</div>
|
86 |
+
</legend>
|
87 |
+
|
88 |
+
<ColorPalette
|
89 |
+
value={value}
|
90 |
+
onChange={onChange}
|
91 |
+
colors={palette}
|
92 |
+
clearable={clearable}
|
93 |
+
/>
|
94 |
+
</fieldset>
|
95 |
+
</BaseControl> );
|
96 |
+
}
|
plugin-fw/includes/builders/gutenberg/src/components/color-palette-control/style.scss
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.block-editor-yith-color-palette-control {
|
2 |
+
.block-editor-yith-color-palette-control__color-indicator {
|
3 |
+
margin-bottom: 12px;
|
4 |
+
}
|
5 |
+
|
6 |
+
.component-color-indicator{
|
7 |
+
vertical-align: text-bottom;
|
8 |
+
}
|
9 |
+
}
|
plugin-fw/includes/builders/gutenberg/src/components/color-picker-control/index.js
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Color Picker Component
|
3 |
+
*/
|
4 |
+
|
5 |
+
/**
|
6 |
+
* External dependencies
|
7 |
+
*/
|
8 |
+
import React from 'react';
|
9 |
+
|
10 |
+
/**
|
11 |
+
* WordPress dependencies
|
12 |
+
*/
|
13 |
+
import { BaseControl, ColorPicker } from '@wordpress/components';
|
14 |
+
import { useInstanceId } from '@wordpress/compose';
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Color Picker Control
|
18 |
+
*
|
19 |
+
* @param {string} className The CSS class name.
|
20 |
+
* @param {string} label The label.
|
21 |
+
* @param {function} onChange The function callback fired on value change.
|
22 |
+
* @param {string} value The initial value.
|
23 |
+
* @param {string} help The help message.
|
24 |
+
* @param {bool} disableAlpha Set true to disable the alpha
|
25 |
+
* @returns {ColorPickerControl}
|
26 |
+
* @constructor
|
27 |
+
*/
|
28 |
+
export default function ColorPickerControl( {
|
29 |
+
className,
|
30 |
+
label,
|
31 |
+
onChange,
|
32 |
+
value,
|
33 |
+
help,
|
34 |
+
disableAlpha,
|
35 |
+
} ) {
|
36 |
+
|
37 |
+
const instanceId = useInstanceId( ColorPickerControl );
|
38 |
+
const id = `inspector-yith-color-picker-control-${instanceId}`;
|
39 |
+
|
40 |
+
return (
|
41 |
+
<BaseControl
|
42 |
+
id={id}
|
43 |
+
label={label}
|
44 |
+
className={`block-editor-yith-color-control ${className}`}
|
45 |
+
help={help}
|
46 |
+
>
|
47 |
+
<ColorPicker
|
48 |
+
color={value}
|
49 |
+
disableAlpha={disableAlpha}
|
50 |
+
onChangeComplete={onChange}
|
51 |
+
/>
|
52 |
+
</BaseControl> );
|
53 |
+
}
|
plugin-fw/includes/builders/gutenberg/src/components/multiple-select-control/index.js
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* External dependencies
|
3 |
+
*/
|
4 |
+
import React from 'react';
|
5 |
+
|
6 |
+
/**
|
7 |
+
* WordPress dependencies
|
8 |
+
*/
|
9 |
+
import { BaseControl } from '@wordpress/components';
|
10 |
+
import { useInstanceId } from '@wordpress/compose';
|
11 |
+
import MultipleSelect from './multiple-select';
|
12 |
+
|
13 |
+
import './style.scss';
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Color Picker Control
|
17 |
+
*
|
18 |
+
* @param {string} className The CSS class name.
|
19 |
+
* @param {string} label The label.
|
20 |
+
* @param {function} onChange The function callback fired on value change.
|
21 |
+
* @param {string} value The initial value.
|
22 |
+
* @param {string} help The help message.
|
23 |
+
* @param {bool} disableAlpha Set true to disable the alpha
|
24 |
+
* @returns {MultipleSelectControl}
|
25 |
+
* @constructor
|
26 |
+
*/
|
27 |
+
export default function MultipleSelectControl(
|
28 |
+
{
|
29 |
+
className,
|
30 |
+
label,
|
31 |
+
onChange,
|
32 |
+
value,
|
33 |
+
help,
|
34 |
+
options,
|
35 |
+
messages
|
36 |
+
}
|
37 |
+
) {
|
38 |
+
|
39 |
+
const instanceId = useInstanceId( MultipleSelectControl );
|
40 |
+
const id = `inspector-yith-multiple-select-control-${instanceId}`;
|
41 |
+
|
42 |
+
return <BaseControl
|
43 |
+
id={id}
|
44 |
+
label={label}
|
45 |
+
className={`block-editor-yith-multiple-select-control ${className}`}
|
46 |
+
help={help}
|
47 |
+
>
|
48 |
+
<MultipleSelect
|
49 |
+
id={id}
|
50 |
+
value={value}
|
51 |
+
options={options}
|
52 |
+
onChange={onChange}
|
53 |
+
messages={messages}
|
54 |
+
/>
|
55 |
+
</BaseControl>
|
56 |
+
}
|
plugin-fw/includes/builders/gutenberg/src/components/multiple-select-control/multiple-select.js
ADDED
@@ -0,0 +1,186 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import classNames from 'classnames';
|
2 |
+
import noop from 'lodash';
|
3 |
+
import PropTypes from 'prop-types';
|
4 |
+
import { useState, useEffect, useRef, useMemo } from 'react';
|
5 |
+
|
6 |
+
import { __, sprintf } from '@wordpress/i18n';
|
7 |
+
import { useInstanceId } from '@wordpress/compose';
|
8 |
+
import { Popover } from '@wordpress/components';
|
9 |
+
|
10 |
+
import MultipleSelectControl from './index';
|
11 |
+
|
12 |
+
const defaultMessages = {
|
13 |
+
noItems : __( 'No items found.', 'yith-plugin-fw' ),
|
14 |
+
noResults: __( 'No results for "%s"', 'yith-plugin-fw' ),
|
15 |
+
search : __( 'Search for items...', 'yith-plugin-fw' )
|
16 |
+
};
|
17 |
+
|
18 |
+
function useUniqueId( idProp ) {
|
19 |
+
const instanceId = useInstanceId( MultipleSelectControl );
|
20 |
+
const id = `inspector-yith-multiple-select-control-${instanceId}`;
|
21 |
+
|
22 |
+
return idProp || id;
|
23 |
+
}
|
24 |
+
|
25 |
+
export default function MultipleSelect( { id: idProp, value, options, onChange, messages: messagesProp } ) {
|
26 |
+
const [search, setSearch] = useState( '' );
|
27 |
+
const [showSuggesions, setShowSuggestions] = useState( false );
|
28 |
+
const [width, setWidth] = useState( 248 );
|
29 |
+
const messages = { ...defaultMessages, ...messagesProp };
|
30 |
+
const wrapperRef = useRef();
|
31 |
+
const inputRef = useRef();
|
32 |
+
const inputContainerRef = useRef();
|
33 |
+
const popoverRef = useRef();
|
34 |
+
const suggestionsRef = useRef();
|
35 |
+
|
36 |
+
const classes = classNames(
|
37 |
+
'yith-fw-components__multiple-select'
|
38 |
+
);
|
39 |
+
|
40 |
+
const allowedValues = useMemo( () => options.map( _ => _.value ), [options] );
|
41 |
+
const validValues = useMemo( () => value.filter( _ => allowedValues.includes( _ ) ), [value, allowedValues] );
|
42 |
+
const filteredOptions = useMemo( () => options.filter( ( _ ) => _.label.toLowerCase().indexOf( search.toLowerCase() ) >= 0 ), [options, search] );
|
43 |
+
const selected = useMemo( () => options.filter( ( _ ) => validValues.includes( _.value ) ), [options, validValues] );
|
44 |
+
|
45 |
+
const addItem = itemValue => {
|
46 |
+
onChange( [...validValues, itemValue] );
|
47 |
+
setSearch( '' );
|
48 |
+
};
|
49 |
+
const removeItem = ( itemValue ) => {
|
50 |
+
const newSelected = [...validValues].filter( _ => _ !== itemValue );
|
51 |
+
onChange( newSelected );
|
52 |
+
};
|
53 |
+
const focusInput = () => !!inputRef.current && inputRef.current.focus();
|
54 |
+
|
55 |
+
const handleClickOutside = e => {
|
56 |
+
const isWrapperClick = wrapperRef?.current && wrapperRef.current.contains( e.target );
|
57 |
+
const isPopoverClick = popoverRef?.current && popoverRef.current.contains( e.target );
|
58 |
+
if ( !isWrapperClick && !isPopoverClick ) {
|
59 |
+
setShowSuggestions( false );
|
60 |
+
}
|
61 |
+
};
|
62 |
+
|
63 |
+
const handleInputContainerClick = e => {
|
64 |
+
const isInputContainerClick = inputContainerRef?.current && inputContainerRef.current === e.target;
|
65 |
+
if ( isInputContainerClick ) {
|
66 |
+
focusInput();
|
67 |
+
}
|
68 |
+
};
|
69 |
+
|
70 |
+
useEffect( () => {
|
71 |
+
document.addEventListener( 'mousedown', handleClickOutside );
|
72 |
+
return () => document.removeEventListener( 'mousedown', handleClickOutside );
|
73 |
+
} );
|
74 |
+
|
75 |
+
useEffect( () => {
|
76 |
+
const refresh = () => {
|
77 |
+
if ( !wrapperRef.current ) {
|
78 |
+
return;
|
79 |
+
}
|
80 |
+
|
81 |
+
const width = wrapperRef.current.getBoundingClientRect()?.width;
|
82 |
+
setWidth( width );
|
83 |
+
};
|
84 |
+
|
85 |
+
refresh();
|
86 |
+
}, [] );
|
87 |
+
|
88 |
+
return <div className={classes} ref={wrapperRef}>
|
89 |
+
<div className="yith-fw-components__multiple-select__input-container" ref={inputContainerRef} onClick={handleInputContainerClick}>
|
90 |
+
{selected.map( item => {
|
91 |
+
return <span key={item.value} className="yith-fw-components__multiple-select__item">
|
92 |
+
<span className="yith-fw-components__multiple-select__item__label">{item.label}</span>
|
93 |
+
<i
|
94 |
+
className="yith-fw-components__multiple-select__item__remove yith-icon-close-alt"
|
95 |
+
onClick={() => {
|
96 |
+
removeItem( item.value );
|
97 |
+
setShowSuggestions( false );
|
98 |
+
}}
|
99 |
+
/>
|
100 |
+
</span>
|
101 |
+
} )}
|
102 |
+
<input
|
103 |
+
className="yith-fw-components__multiple-select__input"
|
104 |
+
id={useUniqueId( idProp )}
|
105 |
+
ref={inputRef}
|
106 |
+
type="text"
|
107 |
+
autoComplete="off"
|
108 |
+
placeholder={messages.search}
|
109 |
+
onFocus={() => setShowSuggestions( true )}
|
110 |
+
value={search}
|
111 |
+
onChange={( e ) => setSearch( e.target.value )}
|
112 |
+
/>
|
113 |
+
</div>
|
114 |
+
{showSuggesions && <Popover
|
115 |
+
className="yith-fw-components__multiple-select__popover"
|
116 |
+
position="bottom"
|
117 |
+
offset={20}
|
118 |
+
anchorRef={wrapperRef?.current ?? undefined}
|
119 |
+
anchorRect={wrapperRef?.current && wrapperRef?.current.getBoundingClientRect()}
|
120 |
+
focusOnMount={false}
|
121 |
+
ref={popoverRef}
|
122 |
+
>
|
123 |
+
<div
|
124 |
+
className={classNames( 'yith-fw-components__multiple-select__suggestions', !filteredOptions.length && 'no-results' )}
|
125 |
+
ref={suggestionsRef}
|
126 |
+
style={{ width }}
|
127 |
+
>
|
128 |
+
{!!options.length && !!filteredOptions.length ?
|
129 |
+
(
|
130 |
+
filteredOptions.map(
|
131 |
+
item => {
|
132 |
+
const isSelected = validValues.includes( item.value );
|
133 |
+
|
134 |
+
return <div
|
135 |
+
key={item.value}
|
136 |
+
className={classNames( 'yith-fw-components__multiple-select__suggestion', isSelected && 'selected' )}
|
137 |
+
onClick={() => {
|
138 |
+
if ( !isSelected ) {
|
139 |
+
addItem( item.value );
|
140 |
+
focusInput();
|
141 |
+
}
|
142 |
+
}}
|
143 |
+
>
|
144 |
+
<div className="yith-fw-components__multiple-select__suggestion__label">{item.label}</div>
|
145 |
+
{isSelected && <i
|
146 |
+
className="yith-fw-components__multiple-select__suggestion__remove yith-icon yith-icon-close-alt"
|
147 |
+
onClick={() => {
|
148 |
+
removeItem( item.value );
|
149 |
+
focusInput();
|
150 |
+
}}/>}
|
151 |
+
</div>
|
152 |
+
}
|
153 |
+
)
|
154 |
+
) :
|
155 |
+
<div className="yith-fw-components__multiple-select__suggestions__message">
|
156 |
+
{!options.length || !search ? messages.noItems : sprintf( messages.noResults, search )}
|
157 |
+
</div>
|
158 |
+
}
|
159 |
+
</div>
|
160 |
+
</Popover>}
|
161 |
+
</div>
|
162 |
+
}
|
163 |
+
|
164 |
+
MultipleSelect.propTypes = {
|
165 |
+
id : PropTypes.string,
|
166 |
+
className: PropTypes.string,
|
167 |
+
value : PropTypes.array,
|
168 |
+
options : PropTypes.arrayOf(
|
169 |
+
PropTypes.shape(
|
170 |
+
{
|
171 |
+
label: PropTypes.string,
|
172 |
+
value: PropTypes.oneOfType( [PropTypes.string, PropTypes.number] )
|
173 |
+
}
|
174 |
+
)
|
175 |
+
),
|
176 |
+
onChange : PropTypes.func
|
177 |
+
|
178 |
+
};
|
179 |
+
|
180 |
+
MultipleSelect.defaultProps = {
|
181 |
+
id : '',
|
182 |
+
value : [],
|
183 |
+
className: '',
|
184 |
+
options : [],
|
185 |
+
onChange : noop
|
186 |
+
};
|
plugin-fw/includes/builders/gutenberg/src/components/multiple-select-control/style.scss
ADDED
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.yith-fw-components__multiple-select {
|
2 |
+
.yith-fw-components__multiple-select__input-container {
|
3 |
+
border-radius : 2px;
|
4 |
+
border : 1px solid #757575;
|
5 |
+
padding : 5px;
|
6 |
+
|
7 |
+
.yith-fw-components__multiple-select__input {
|
8 |
+
border : 0;
|
9 |
+
min-height : 24px;
|
10 |
+
width : 100%;
|
11 |
+
background : inherit;
|
12 |
+
color : #1e1e1e;
|
13 |
+
box-shadow : none;
|
14 |
+
|
15 |
+
&::placeholder {
|
16 |
+
opacity : .6;
|
17 |
+
color : inherit;
|
18 |
+
}
|
19 |
+
}
|
20 |
+
}
|
21 |
+
|
22 |
+
.yith-fw-components__multiple-select__item {
|
23 |
+
border-radius : 3px;
|
24 |
+
background : #f1f1f1;
|
25 |
+
display : inline-block;
|
26 |
+
padding : 4px 25px 4px 10px;
|
27 |
+
margin : 0 5px 5px 0;
|
28 |
+
max-width : 100%;
|
29 |
+
align-items : center;
|
30 |
+
position : relative;
|
31 |
+
|
32 |
+
.yith-fw-components__multiple-select__item__label {
|
33 |
+
|
34 |
+
}
|
35 |
+
|
36 |
+
.yith-fw-components__multiple-select__item__remove {
|
37 |
+
font-size : 14px;
|
38 |
+
cursor : pointer;
|
39 |
+
position : absolute;
|
40 |
+
top : 50%;
|
41 |
+
right : 3px;
|
42 |
+
transform : translateY(-50%);
|
43 |
+
padding : 5px;
|
44 |
+
width : auto;
|
45 |
+
height : auto;
|
46 |
+
|
47 |
+
&:hover {
|
48 |
+
color : #c50c0c;
|
49 |
+
}
|
50 |
+
}
|
51 |
+
}
|
52 |
+
}
|
53 |
+
|
54 |
+
.yith-fw-components__multiple-select__popover {
|
55 |
+
.components-popover__content {
|
56 |
+
border : 0;
|
57 |
+
overflow : visible;
|
58 |
+
}
|
59 |
+
|
60 |
+
.yith-fw-components__multiple-select__suggestions {
|
61 |
+
display : flex;
|
62 |
+
flex-direction : column;
|
63 |
+
overflow : hidden;
|
64 |
+
overflow-y : auto;
|
65 |
+
padding-top : 5px;
|
66 |
+
max-height : 200px;
|
67 |
+
border-radius : 5px;
|
68 |
+
box-shadow : rgb(0 0 0 / 20%) 0px 5px 5px -3px, rgb(0 0 0 / 14%) 0px 8px 10px 1px, rgb(0 0 0 / 12%) 0px 3px 14px 2px;
|
69 |
+
|
70 |
+
&.no-results {
|
71 |
+
padding-top : 0;
|
72 |
+
}
|
73 |
+
|
74 |
+
.yith-fw-components__multiple-select__suggestions__message {
|
75 |
+
padding : 8px 15px;
|
76 |
+
line-height : 1.5em;
|
77 |
+
overflow-wrap : break-word;
|
78 |
+
}
|
79 |
+
|
80 |
+
.yith-fw-components__multiple-select__suggestion {
|
81 |
+
padding : 8px 15px;
|
82 |
+
min-height : 40px;
|
83 |
+
cursor : pointer;
|
84 |
+
line-height : 1.5em;
|
85 |
+
display : flex;
|
86 |
+
align-items : center;
|
87 |
+
justify-content : space-between;
|
88 |
+
|
89 |
+
&.selected {
|
90 |
+
background : rgba(25, 118, 210, 0.08);
|
91 |
+
}
|
92 |
+
|
93 |
+
&:hover {
|
94 |
+
background : rgba(0, 0, 0, 0.04);
|
95 |
+
}
|
96 |
+
|
97 |
+
&.selected:hover {
|
98 |
+
background : rgba(25, 118, 210, 0.12);
|
99 |
+
}
|
100 |
+
}
|
101 |
+
|
102 |
+
.yith-fw-components__multiple-select__suggestion__remove {
|
103 |
+
font-size : 13px;
|
104 |
+
font-weight : 600;
|
105 |
+
padding : 5px;
|
106 |
+
height : 23px;
|
107 |
+
width : 23px;
|
108 |
+
background : rgba(0, 0, 0, 0);
|
109 |
+
box-shadow : 0 0 0 10px rgba(0, 0, 0, 0);
|
110 |
+
border-radius : 50%;
|
111 |
+
transition : all .3s ease-in-out;
|
112 |
+
|
113 |
+
&:hover {
|
114 |
+
color : #c50c0c;
|
115 |
+
background : rgba(0, 0, 0, .06);
|
116 |
+
box-shadow : 0 0 0 3px rgba(0, 0, 0, .06);
|
117 |
+
}
|
118 |
+
}
|
119 |
+
}
|
120 |
+
|
121 |
+
::-webkit-scrollbar-track {
|
122 |
+
-webkit-box-shadow : none;
|
123 |
+
background-color : transparent;
|
124 |
+
}
|
125 |
+
|
126 |
+
::-webkit-scrollbar {
|
127 |
+
width : 10px;
|
128 |
+
background-color : rgba(94, 88, 154, 0.04);
|
129 |
+
}
|
130 |
+
|
131 |
+
::-webkit-scrollbar-thumb {
|
132 |
+
background-color : #b1b4bf;
|
133 |
+
border-radius : 10px;
|
134 |
+
}
|
135 |
+
}
|
plugin-fw/includes/builders/gutenberg/src/components/shortcode/index.js
ADDED
@@ -0,0 +1,152 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Shortcode Component
|
3 |
+
*/
|
4 |
+
|
5 |
+
/**
|
6 |
+
* External dependencies
|
7 |
+
*/
|
8 |
+
import React, { Component } from 'react';
|
9 |
+
import { isEqual } from 'lodash';
|
10 |
+
|
11 |
+
/**
|
12 |
+
* WordPress dependencies
|
13 |
+
*/
|
14 |
+
import { RawHTML } from '@wordpress/element';
|
15 |
+
import { Spinner } from '@wordpress/components';
|
16 |
+
import { doAction, addAction } from '@wordpress/hooks';
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Internal dependencies
|
20 |
+
*/
|
21 |
+
import { ajaxFetch, generateShortcode, yith_icon } from '../../common';
|
22 |
+
import md5 from 'md5';
|
23 |
+
import './style.scss';
|
24 |
+
|
25 |
+
const BEFORE_DO_SHORTCODE_ACTION = 'yith_plugin_fw_gutenberg_before_do_shortcode';
|
26 |
+
const SUCCESS_DO_SHORTCODE_ACTION = 'yith_plugin_fw_gutenberg_success_do_shortcode';
|
27 |
+
const AFTER_DO_SHORTCODE_ACTION = 'yith_plugin_fw_gutenberg_after_do_shortcode';
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Shortcode Component
|
31 |
+
*/
|
32 |
+
export class Shortcode extends Component {
|
33 |
+
constructor() {
|
34 |
+
super( ...arguments );
|
35 |
+
|
36 |
+
this.state = {
|
37 |
+
html : '',
|
38 |
+
shortcode : '',
|
39 |
+
shortcodeHash: '',
|
40 |
+
ajaxUpdated : false,
|
41 |
+
ajaxSuccess : false,
|
42 |
+
ajaxResponse : false,
|
43 |
+
loading : false,
|
44 |
+
firstLoading : true
|
45 |
+
};
|
46 |
+
|
47 |
+
this.ajaxTimeout = false;
|
48 |
+
}
|
49 |
+
|
50 |
+
componentDidMount() {
|
51 |
+
this.updateShortcode();
|
52 |
+
}
|
53 |
+
|
54 |
+
componentDidUpdate( prevProps, prevState, snapshot ) {
|
55 |
+
const { shortcode, shortcodeHash, ajaxSuccess, ajaxResponse, ajaxUpdated } = this.state;
|
56 |
+
|
57 |
+
if ( !isEqual( prevProps, this.props ) ) {
|
58 |
+
this.updateShortcode();
|
59 |
+
}
|
60 |
+
|
61 |
+
|
62 |
+
if ( this.props.blockArgs.do_shortcode && ajaxUpdated ) {
|
63 |
+
|
64 |
+
if ( ajaxSuccess ) {
|
65 |
+
doAction( SUCCESS_DO_SHORTCODE_ACTION, shortcode, shortcodeHash, ajaxResponse );
|
66 |
+
}
|
67 |
+
|
68 |
+
doAction( AFTER_DO_SHORTCODE_ACTION, shortcode, shortcodeHash, ajaxResponse );
|
69 |
+
|
70 |
+
this.setState( { ajaxUpdated: false } );
|
71 |
+
}
|
72 |
+
}
|
73 |
+
|
74 |
+
updateShortcode() {
|
75 |
+
const { attributes, blockArgs } = this.props;
|
76 |
+
|
77 |
+
this.setState( { loading: true, ajaxSuccess: false, ajaxResponse: false } );
|
78 |
+
|
79 |
+
const shortcode = generateShortcode( blockArgs, attributes );
|
80 |
+
const shortcodeHash = md5( shortcode );
|
81 |
+
|
82 |
+
if ( blockArgs.do_shortcode ) {
|
83 |
+
!!this.ajaxTimeout && clearTimeout( this.ajaxTimeout );
|
84 |
+
|
85 |
+
doAction( BEFORE_DO_SHORTCODE_ACTION, shortcode, shortcodeHash );
|
86 |
+
|
87 |
+
this.ajaxTimeout = setTimeout( () => {
|
88 |
+
const ajaxData = {
|
89 |
+
action : 'yith_plugin_fw_gutenberg_do_shortcode',
|
90 |
+
shortcode: shortcode
|
91 |
+
};
|
92 |
+
|
93 |
+
ajaxFetch( ajaxData ).then( response => {
|
94 |
+
this.setState( { loading: false, firstLoading: false, html: response.html, shortcode, shortcodeHash, ajaxSuccess: true, ajaxUpdated: true, ajaxResponse: response } );
|
95 |
+
} )
|
96 |
+
.catch( error => {
|
97 |
+
console.log( { error } );
|
98 |
+
} );
|
99 |
+
}, 300 );
|
100 |
+
} else {
|
101 |
+
this.setState( { loading: false, firstLoading: false, html: shortcode, shortcode, shortcodeHash } );
|
102 |
+
}
|
103 |
+
}
|
104 |
+
|
105 |
+
render() {
|
106 |
+
const { html, loading, firstLoading, shortcode, shortcodeHash } = this.state;
|
107 |
+
const { blockArgs } = this.props;
|
108 |
+
const { do_shortcode, title, empty_message } = blockArgs;
|
109 |
+
|
110 |
+
const mainClass = 'block-editor-yith-plugin-fw-shortcode-block';
|
111 |
+
|
112 |
+
let wrapperClasses = [mainClass];
|
113 |
+
let type = do_shortcode ? 'html' : 'shortcode';
|
114 |
+
let htmlToShow = html;
|
115 |
+
let message = '';
|
116 |
+
|
117 |
+
if ( firstLoading && loading ) {
|
118 |
+
type = 'first-loading';
|
119 |
+
} else if ( do_shortcode && !html ) {
|
120 |
+
type = 'empty-html';
|
121 |
+
htmlToShow = shortcode;
|
122 |
+
if ( !loading && empty_message ) {
|
123 |
+
message = empty_message;
|
124 |
+
}
|
125 |
+
}
|
126 |
+
|
127 |
+
const showTitle = ['first-loading', 'empty-html', 'shortcode'].includes( type );
|
128 |
+
const showContent = !['first-loading', 'empty-html'].includes( type );
|
129 |
+
const showMessage = !!message;
|
130 |
+
|
131 |
+
wrapperClasses.push( `${mainClass}--${type}` );
|
132 |
+
wrapperClasses.push( showMessage ? `${mainClass}--has-message` : `${mainClass}--no-message` );
|
133 |
+
wrapperClasses.push( `yith_block_${shortcodeHash}` );
|
134 |
+
|
135 |
+
return (
|
136 |
+
<>
|
137 |
+
<div className={wrapperClasses.join( ' ' )}>
|
138 |
+
{!!loading ? <div className={`${mainClass}__spinner-wrap`}><Spinner/></div> : ''}
|
139 |
+
{showTitle &&
|
140 |
+
<div className={`${mainClass}__title components-placeholder__label`}>{yith_icon}{title}</div>
|
141 |
+
}
|
142 |
+
{showMessage &&
|
143 |
+
<RawHTML className={`${mainClass}__message`}>{message}</RawHTML>
|
144 |
+
}
|
145 |
+
{showContent &&
|
146 |
+
<RawHTML className={`${mainClass}__content`}>{htmlToShow}</RawHTML>
|
147 |
+
}
|
148 |
+
</div>
|
149 |
+
</>
|
150 |
+
)
|
151 |
+
}
|
152 |
+
}
|
plugin-fw/includes/builders/gutenberg/src/components/shortcode/style.scss
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
%bordered-block {
|
2 |
+
padding: 1em 1em 1.2em;
|
3 |
+
border: 1px solid #1e1e1e;
|
4 |
+
border-radius: 4px;
|
5 |
+
}
|
6 |
+
|
7 |
+
%shortcode-box {
|
8 |
+
font-family: Menlo, Consolas, monaco, monospace;
|
9 |
+
color: #1e1e1e;
|
10 |
+
font-size: 13px;
|
11 |
+
padding: 0.8em 1em;
|
12 |
+
border: 1px solid #ddd;
|
13 |
+
border-radius: 4px;
|
14 |
+
}
|
15 |
+
|
16 |
+
.block-editor-yith-plugin-fw-shortcode-block {
|
17 |
+
position: relative;
|
18 |
+
min-height: 30px;
|
19 |
+
|
20 |
+
.block-editor-yith-plugin-fw-shortcode-block__spinner-wrap {
|
21 |
+
position: absolute;
|
22 |
+
top: 50%;
|
23 |
+
left: 50%;
|
24 |
+
transform: translateX(-50%) translateY(-50%);
|
25 |
+
}
|
26 |
+
|
27 |
+
&.block-editor-yith-plugin-fw-shortcode-block--first-loading{
|
28 |
+
@extend %bordered-block;
|
29 |
+
|
30 |
+
.block-editor-yith-plugin-fw-shortcode-block__title {
|
31 |
+
margin-bottom: 0;
|
32 |
+
}
|
33 |
+
}
|
34 |
+
|
35 |
+
&.block-editor-yith-plugin-fw-shortcode-block--shortcode {
|
36 |
+
|
37 |
+
@extend %bordered-block;
|
38 |
+
|
39 |
+
.block-editor-yith-plugin-fw-shortcode-block__content {
|
40 |
+
@extend %shortcode-box;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
&.block-editor-yith-plugin-fw-shortcode-block--empty-html {
|
45 |
+
|
46 |
+
@extend %bordered-block;
|
47 |
+
|
48 |
+
&.block-editor-yith-plugin-fw-shortcode-block--no-message {
|
49 |
+
.block-editor-yith-plugin-fw-shortcode-block__title {
|
50 |
+
margin-bottom: 0;
|
51 |
+
}
|
52 |
+
}
|
53 |
+
|
54 |
+
.block-editor-yith-plugin-fw-shortcode-block__message {
|
55 |
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
56 |
+
font-style: italic;
|
57 |
+
font-size: 13px;
|
58 |
+
}
|
59 |
+
|
60 |
+
.block-editor-yith-plugin-fw-shortcode-block__content {
|
61 |
+
display: none;
|
62 |
+
}
|
63 |
+
}
|
64 |
+
}
|
plugin-fw/includes/builders/gutenberg/src/edit.js
ADDED
@@ -0,0 +1,234 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Handle YITH Gutenberg Blocks Edit
|
3 |
+
*
|
4 |
+
* @var {Object} yithGutenbergBlocks The Gutenberg blocks object.
|
5 |
+
*/
|
6 |
+
|
7 |
+
/**
|
8 |
+
* External dependencies
|
9 |
+
*/
|
10 |
+
import React from 'react';
|
11 |
+
|
12 |
+
/**
|
13 |
+
* WordPress dependencies
|
14 |
+
*/
|
15 |
+
import {
|
16 |
+
PanelBody,
|
17 |
+
ToggleControl,
|
18 |
+
SelectControl,
|
19 |
+
TextControl,
|
20 |
+
TextareaControl,
|
21 |
+
CheckboxControl,
|
22 |
+
RangeControl,
|
23 |
+
RadioControl
|
24 |
+
} from '@wordpress/components';
|
25 |
+
import { InspectorControls } from '@wordpress/block-editor';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Internal dependencies
|
29 |
+
*/
|
30 |
+
import { Shortcode } from './components/shortcode';
|
31 |
+
import { checkForDeps } from './common';
|
32 |
+
import ColorPickerControl from './components/color-picker-control';
|
33 |
+
import ColorPaletteControl from './components/color-palette-control';
|
34 |
+
import MultipleSelectControl from './components/multiple-select-control';
|
35 |
+
import classNames from 'classnames';
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Retrieve an help message from arguments.
|
39 |
+
*
|
40 |
+
* @param {Object} args The arguments.
|
41 |
+
* @param {bool} value The value.
|
42 |
+
* @returns {string}
|
43 |
+
*/
|
44 |
+
const getHelpMessage = ( args, value ) => {
|
45 |
+
let helpMessage = '';
|
46 |
+
if ( args.helps && args.helps.checked && args.helps.unchecked ) {
|
47 |
+
helpMessage = !!value ? args.helps.checked : args.helps.unchecked;
|
48 |
+
} else if ( args.help ) {
|
49 |
+
helpMessage = args.help;
|
50 |
+
}
|
51 |
+
return helpMessage;
|
52 |
+
};
|
53 |
+
|
54 |
+
const ComponentControl = ( { attributeName, attributeArgs, attributes, onChange, blockName } ) => {
|
55 |
+
const { controlType, label, wrapper_class } = attributeArgs;
|
56 |
+
const value = attributes[ attributeName ];
|
57 |
+
const helpMessage = getHelpMessage( attributeArgs, value );
|
58 |
+
const show = checkForDeps( attributeArgs, attributes );
|
59 |
+
const wrapperClass = classNames(
|
60 |
+
`${blockName}__${attributeName}-field-wrapper`,
|
61 |
+
wrapper_class
|
62 |
+
);
|
63 |
+
|
64 |
+
let componentControl = false;
|
65 |
+
if ( show ) {
|
66 |
+
switch ( controlType ) {
|
67 |
+
case 'select':
|
68 |
+
if ( !attributeArgs.multiple ) {
|
69 |
+
componentControl = <SelectControl
|
70 |
+
className={wrapperClass}
|
71 |
+
value={value}
|
72 |
+
label={label}
|
73 |
+
options={attributeArgs?.options ?? []}
|
74 |
+
help={helpMessage}
|
75 |
+
onChange={onChange}
|
76 |
+
/>;
|
77 |
+
} else {
|
78 |
+
componentControl = <MultipleSelectControl
|
79 |
+
className={wrapperClass}
|
80 |
+
value={value}
|
81 |
+
label={label}
|
82 |
+
options={attributeArgs?.options ?? []}
|
83 |
+
help={helpMessage}
|
84 |
+
onChange={onChange}
|
85 |
+
messages={attributeArgs?.messages ?? {}}
|
86 |
+
/>;
|
87 |
+
}
|
88 |
+
break;
|
89 |
+
|
90 |
+
case 'text':
|
91 |
+
componentControl = <TextControl
|
92 |
+
className={wrapperClass}
|
93 |
+
key={attributeName}
|
94 |
+
value={value}
|
95 |
+
label={label}
|
96 |
+
help={helpMessage}
|
97 |
+
onChange={onChange}
|
98 |
+
/>;
|
99 |
+
break;
|
100 |
+
|
101 |
+
case 'textarea':
|
102 |
+
componentControl = <TextareaControl
|
103 |
+
className={wrapperClass}
|
104 |
+
key={attributeName}
|
105 |
+
value={value}
|
106 |
+
label={label}
|
107 |
+
help={helpMessage}
|
108 |
+
onChange={onChange}
|
109 |
+
/>;
|
110 |
+
break;
|
111 |
+
|
112 |
+
case 'toggle':
|
113 |
+
componentControl = <ToggleControl
|
114 |
+
className={wrapperClass}
|
115 |
+
key={attributeName}
|
116 |
+
label={label}
|
117 |
+
help={helpMessage}
|
118 |
+
checked={value}
|
119 |
+
onChange={onChange}
|
120 |
+
/>;
|
121 |
+
break;
|
122 |
+
|
123 |
+
case 'checkbox':
|
124 |
+
componentControl = <CheckboxControl
|
125 |
+
className={wrapperClass}
|
126 |
+
key={attributeName}
|
127 |
+
label={label}
|
128 |
+
help={helpMessage}
|
129 |
+
checked={value}
|
130 |
+
onChange={onChange}
|
131 |
+
/>;
|
132 |
+
break;
|
133 |
+
|
134 |
+
case 'number':
|
135 |
+
case 'range':
|
136 |
+
componentControl = <RangeControl
|
137 |
+
className={wrapperClass}
|
138 |
+
key={attributeName}
|
139 |
+
value={value}
|
140 |
+
label={label}
|
141 |
+
help={helpMessage}
|
142 |
+
min={attributeArgs?.min}
|
143 |
+
max={attributeArgs?.max}
|
144 |
+
onChange={onChange}
|
145 |
+
/>;
|
146 |
+
break;
|
147 |
+
|
148 |
+
case 'color':
|
149 |
+
case 'colorpicker':
|
150 |
+
componentControl = <ColorPickerControl
|
151 |
+
className={wrapperClass}
|
152 |
+
key={attributeName}
|
153 |
+
label={label}
|
154 |
+
help={helpMessage}
|
155 |
+
value={value}
|
156 |
+
disableAlpha={attributeArgs?.disableAlpha ?? false}
|
157 |
+
onChange={onChange}/>;
|
158 |
+
break;
|
159 |
+
|
160 |
+
case 'color-palette':
|
161 |
+
componentControl = <ColorPaletteControl
|
162 |
+
className={wrapperClass}
|
163 |
+
key={attributeName}
|
164 |
+
label={label}
|
165 |
+
help={helpMessage}
|
166 |
+
value={value}
|
167 |
+
clearable={attributeArgs?.clearable ?? false}
|
168 |
+
onChange={onChange}/>;
|
169 |
+
break;
|
170 |
+
|
171 |
+
case 'radio':
|
172 |
+
componentControl = <RadioControl
|
173 |
+
key={attributeName}
|
174 |
+
label={label}
|
175 |
+
options={attributeArgs?.options ?? []}
|
176 |
+
selected={value}
|
177 |
+
help={helpMessage}
|
178 |
+
onChange={onChange}
|
179 |
+
/>;
|
180 |
+
break;
|
181 |
+
default:
|
182 |
+
componentControl = false;
|
183 |
+
}
|
184 |
+
}
|
185 |
+
return componentControl;
|
186 |
+
}
|
187 |
+
|
188 |
+
/**
|
189 |
+
* Create edit function.
|
190 |
+
*
|
191 |
+
* @param {string} blockName The block name.
|
192 |
+
* @param {Object} blockArgs The block arguments.
|
193 |
+
* @returns {function({attributes?: *, className: *, setAttributes: *})}
|
194 |
+
*/
|
195 |
+
export const createEditFunction = ( blockName, blockArgs ) => {
|
196 |
+
return function ( { attributes, className, setAttributes } ) {
|
197 |
+
|
198 |
+
const onChangeHandler = ( updatedValue, attributeName, controlType ) => {
|
199 |
+
if ( ['colorpicker', 'color'].includes( controlType ) ) {
|
200 |
+
if ( 'rgb' in updatedValue && 'hex' in updatedValue ) {
|
201 |
+
const { r, g, b, a } = updatedValue.rgb;
|
202 |
+
updatedValue = a < 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : updatedValue.hex;
|
203 |
+
} else {
|
204 |
+
updatedValue = updatedValue.color.getAlpha() < 1 ? updatedValue.color.toRgbString() : updatedValue.color.toHexString();
|
205 |
+
}
|
206 |
+
}
|
207 |
+
|
208 |
+
setAttributes( { [ attributeName ]: updatedValue } );
|
209 |
+
}
|
210 |
+
|
211 |
+
return (
|
212 |
+
<>
|
213 |
+
{!!blockArgs.attributes &&
|
214 |
+
<InspectorControls>
|
215 |
+
<PanelBody>
|
216 |
+
{Object.entries( blockArgs.attributes ).map( ( [attributeName, attributeArgs] ) => {
|
217 |
+
const { controlType } = attributeArgs;
|
218 |
+
return <ComponentControl
|
219 |
+
key={attributeName}
|
220 |
+
attributeArgs={attributeArgs}
|
221 |
+
attributeName={attributeName}
|
222 |
+
attributes={attributes}
|
223 |
+
blockName={blockName}
|
224 |
+
onChange={_ => onChangeHandler( _, attributeName, controlType )}
|
225 |
+
/>
|
226 |
+
} )}
|
227 |
+
</PanelBody>
|
228 |
+
</InspectorControls>
|
229 |
+
}
|
230 |
+
<Shortcode attributes={attributes} blockArgs={blockArgs}/>
|
231 |
+
</>
|
232 |
+
);
|
233 |
+
}
|
234 |
+
}
|
plugin-fw/includes/builders/gutenberg/src/index.js
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Handle YITH Gutenberg Blocks
|
3 |
+
*
|
4 |
+
* @var {Object} yithGutenbergBlocks The Gutenberg blocks object.
|
5 |
+
*/
|
6 |
+
|
7 |
+
/**
|
8 |
+
* External dependencies
|
9 |
+
*/
|
10 |
+
import React from 'react';
|
11 |
+
import md5 from 'md5';
|
12 |
+
|
13 |
+
/**
|
14 |
+
* WordPress dependencies
|
15 |
+
*/
|
16 |
+
import { registerBlockType } from '@wordpress/blocks';
|
17 |
+
import { RawHTML } from '@wordpress/element';
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Internal dependencies
|
21 |
+
*/
|
22 |
+
import { yith_icon, generateShortcode } from './common';
|
23 |
+
import { createEditFunction } from './edit';
|
24 |
+
import './common/actions-to-jquery-events';
|
25 |
+
|
26 |
+
for ( const [blockName, blockArgs] of Object.entries( yithGutenbergBlocks ) ) {
|
27 |
+
registerBlockType( 'yith/' + blockName, {
|
28 |
+
title : blockArgs.title,
|
29 |
+
description: blockArgs.description,
|
30 |
+
category : blockArgs.category,
|
31 |
+
attributes : blockArgs.attributes,
|
32 |
+
icon : typeof blockArgs.icon !== 'undefined' ? blockArgs.icon : yith_icon,
|
33 |
+
keywords : blockArgs.keywords,
|
34 |
+
edit : createEditFunction( blockName, blockArgs ),
|
35 |
+
save : ( { attributes } ) => {
|
36 |
+
return generateShortcode( blockArgs, attributes );
|
37 |
+
},
|
38 |
+
deprecated : [
|
39 |
+
{
|
40 |
+
attributes: blockArgs.attributes,
|
41 |
+
save : ( { attributes } ) => {
|
42 |
+
const shortcode = generateShortcode( blockArgs, attributes );
|
43 |
+
const blockHash = md5( shortcode );
|
44 |
+
const shortcodeSpan = '<span class="yith_block_' + blockHash + '">' + shortcode + '</span>';
|
45 |
+
|
46 |
+
return (
|
47 |
+
<RawHTML>{shortcodeSpan}</RawHTML>
|
48 |
+
)
|
49 |
+
}
|
50 |
+
}
|
51 |
+
]
|
52 |
+
} );
|
53 |
+
}
|
plugin-fw/includes/class-yit-assets.php
CHANGED
@@ -80,6 +80,7 @@ if ( ! class_exists( 'YIT_Assets' ) ) {
|
|
80 |
wp_register_script( 'colorbox', YIT_CORE_PLUGIN_URL . '/assets/js/jquery.colorbox' . $suffix . '.js', array( 'jquery' ), '1.6.3', true );
|
81 |
wp_register_script( 'yith_how_to', YIT_CORE_PLUGIN_URL . '/assets/js/how-to' . $suffix . '.js', array( 'jquery' ), $this->version, true );
|
82 |
wp_register_script( 'yith-plugin-fw-wp-pages', YIT_CORE_PLUGIN_URL . '/assets/js/wp-pages' . $suffix . '.js', array( 'jquery' ), $this->version, false );
|
|
|
83 |
|
84 |
// Register styles.
|
85 |
wp_register_style( 'yith-plugin-ui', YIT_CORE_PLUGIN_URL . '/assets/css/yith-plugin-ui.css', array( 'yith-plugin-fw-icon-font' ), $this->version );
|
@@ -89,6 +90,7 @@ if ( ! class_exists( 'YIT_Assets' ) ) {
|
|
89 |
wp_register_style( 'yit-upgrade-to-pro', YIT_CORE_PLUGIN_URL . '/assets/css/yit-upgrade-to-pro.css', array( 'colorbox' ), $this->version );
|
90 |
wp_register_style( 'yit-plugin-metaboxes', YIT_CORE_PLUGIN_URL . '/assets/css/metaboxes.css', array( 'yith-plugin-ui' ), $this->version );
|
91 |
wp_register_style( 'yith-plugin-fw-fields', YIT_CORE_PLUGIN_URL . '/assets/css/yith-fields.css', array( 'yith-plugin-ui' ), $this->version );
|
|
|
92 |
|
93 |
$wc_version_suffix = '';
|
94 |
if ( function_exists( 'WC' ) || ! empty( $woocommerce ) ) {
|
@@ -153,6 +155,14 @@ if ( ! class_exists( 'YIT_Assets' ) ) {
|
|
153 |
)
|
154 |
);
|
155 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
// Localize color-picker to avoid issues with WordPress 5.5.
|
157 |
if ( version_compare( $wp_version, '5.5-RC', '>=' ) ) {
|
158 |
wp_localize_script(
|
80 |
wp_register_script( 'colorbox', YIT_CORE_PLUGIN_URL . '/assets/js/jquery.colorbox' . $suffix . '.js', array( 'jquery' ), '1.6.3', true );
|
81 |
wp_register_script( 'yith_how_to', YIT_CORE_PLUGIN_URL . '/assets/js/how-to' . $suffix . '.js', array( 'jquery' ), $this->version, true );
|
82 |
wp_register_script( 'yith-plugin-fw-wp-pages', YIT_CORE_PLUGIN_URL . '/assets/js/wp-pages' . $suffix . '.js', array( 'jquery' ), $this->version, false );
|
83 |
+
wp_register_script( 'yith-bh-onboarding', YIT_CORE_PLUGIN_URL . '/assets/js/yith-bh-onboarding' . $suffix . '.js', array( 'jquery', 'yit-plugin-panel', 'yith-plugin-fw-fields', 'jquery-blockui' ), $this->version, true );
|
84 |
|
85 |
// Register styles.
|
86 |
wp_register_style( 'yith-plugin-ui', YIT_CORE_PLUGIN_URL . '/assets/css/yith-plugin-ui.css', array( 'yith-plugin-fw-icon-font' ), $this->version );
|
90 |
wp_register_style( 'yit-upgrade-to-pro', YIT_CORE_PLUGIN_URL . '/assets/css/yit-upgrade-to-pro.css', array( 'colorbox' ), $this->version );
|
91 |
wp_register_style( 'yit-plugin-metaboxes', YIT_CORE_PLUGIN_URL . '/assets/css/metaboxes.css', array( 'yith-plugin-ui' ), $this->version );
|
92 |
wp_register_style( 'yith-plugin-fw-fields', YIT_CORE_PLUGIN_URL . '/assets/css/yith-fields.css', array( 'yith-plugin-ui' ), $this->version );
|
93 |
+
wp_register_style( 'yith-bh-onboarding', YIT_CORE_PLUGIN_URL . '/assets/css/yith-bh-onboarding.css', array( 'yith-plugin-ui', 'yith-plugin-fw-fields' ), $this->version );
|
94 |
|
95 |
$wc_version_suffix = '';
|
96 |
if ( function_exists( 'WC' ) || ! empty( $woocommerce ) ) {
|
155 |
)
|
156 |
);
|
157 |
|
158 |
+
wp_localize_script(
|
159 |
+
'yith-bh-onboarding',
|
160 |
+
'yith_bh_onboarding',
|
161 |
+
array(
|
162 |
+
'ajax_url' => admin_url( 'admin-ajax.php' ),
|
163 |
+
)
|
164 |
+
);
|
165 |
+
|
166 |
// Localize color-picker to avoid issues with WordPress 5.5.
|
167 |
if ( version_compare( $wp_version, '5.5-RC', '>=' ) ) {
|
168 |
wp_localize_script(
|
plugin-fw/includes/class-yit-plugin-panel-woocommerce.php
CHANGED
@@ -374,6 +374,12 @@ if ( ! class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
|
|
374 |
$default[ $colorpicker['id'] ] = isset( $colorpicker['default'] ) ? $colorpicker['default'] : '';
|
375 |
}
|
376 |
update_option( $option['id'], $default );
|
|
|
|
|
|
|
|
|
|
|
|
|
377 |
} elseif ( isset( $option['default'] ) ) {
|
378 |
update_option( $option['id'], $option['default'] );
|
379 |
}
|
@@ -494,8 +500,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
|
|
494 |
* @param string $admin_body_classes The body classes.
|
495 |
*
|
496 |
* @return string Filtered body classes
|
497 |
-
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
498 |
* @since 2.0
|
|
|
499 |
*/
|
500 |
public static function admin_body_class( $admin_body_classes ) {
|
501 |
global $pagenow;
|
@@ -518,8 +524,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
|
|
518 |
* @param string $raw_value Raw option value.
|
519 |
*
|
520 |
* @return mixed Filtered return value
|
521 |
-
* @author Antonio La Rocca <antonio.larocca@yithemes.com>
|
522 |
* @since 2.0
|
|
|
523 |
*/
|
524 |
public function maybe_unserialize_panel_data( $value, $option, $raw_value ) {
|
525 |
if ( ! version_compare( WC()->version, '2.4.0', '>=' ) || ! isset( $option['type'] ) || in_array( $option['type'], self::$wc_type, true ) || 'yith-field' === $option['type'] ) {
|
@@ -548,8 +554,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
|
|
548 |
* @param mixed $raw_value Raw option value.
|
549 |
*
|
550 |
* @return mixed Filtered return value
|
551 |
-
* @author Leanza Francesco <leanzafrancesco@gmail.com>
|
552 |
* @since 3.0.0
|
|
|
553 |
*/
|
554 |
public static function sanitize_option( $value, $option, $raw_value ) {
|
555 |
if ( isset( $option['type'] ) && 'yith-field' === $option['type'] ) {
|
@@ -731,8 +737,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
|
|
731 |
* @param string $raw_value Raw option value.
|
732 |
*
|
733 |
* @return mixed Filtered return value
|
734 |
-
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
735 |
* @since 3.0.0
|
|
|
736 |
*/
|
737 |
public static function sanitize_onoff_value( $value, $option, $raw_value ) {
|
738 |
if ( isset( $option['type'] ) && in_array( $option['type'], array( 'checkbox', 'onoff' ), true ) ) {
|
@@ -752,8 +758,8 @@ if ( ! class_exists( 'YIT_Plugin_Panel_WooCommerce' ) ) {
|
|
752 |
* @param array $yit_options Original options array.
|
753 |
*
|
754 |
* @return mixed|array New options array
|
755 |
-
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
756 |
* @since 3.0.0
|
|
|
757 |
*/
|
758 |
public function check_for_save_single_option( $yit_options ) {
|
759 |
foreach ( $yit_options as $key => $options_list ) {
|
374 |
$default[ $colorpicker['id'] ] = isset( $colorpicker['default'] ) ? $colorpicker['default'] : '';
|
375 |
}
|
376 |
update_option( $option['id'], $default );
|
377 |
+
} elseif ( isset( $option['yith-type'] ) && 'inline-fields' === $option['yith-type'] && ! empty( $option['fields'] ) ) {
|
378 |
+
$default = array();
|
379 |
+
foreach ( $option['fields'] as $field_id => $field ) {
|
380 |
+
$default[ $field_id ] = isset( $field['default'] ) ? $field['default'] : '';
|
381 |
+
}
|
382 |
+
update_option( $option['id'], $default );
|
383 |
} elseif ( isset( $option['default'] ) ) {
|
384 |
update_option( $option['id'], $option['default'] );
|
385 |
}
|
500 |
* @param string $admin_body_classes The body classes.
|
501 |
*
|
502 |
* @return string Filtered body classes
|
|
|
503 |
* @since 2.0
|
504 |
+
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
505 |
*/
|
506 |
public static function admin_body_class( $admin_body_classes ) {
|
507 |
global $pagenow;
|
524 |
* @param string $raw_value Raw option value.
|
525 |
*
|
526 |
* @return mixed Filtered return value
|
|
|
527 |
* @since 2.0
|
528 |
+
* @author Antonio La Rocca <antonio.larocca@yithemes.com>
|
529 |
*/
|
530 |
public function maybe_unserialize_panel_data( $value, $option, $raw_value ) {
|
531 |
if ( ! version_compare( WC()->version, '2.4.0', '>=' ) || ! isset( $option['type'] ) || in_array( $option['type'], self::$wc_type, true ) || 'yith-field' === $option['type'] ) {
|
554 |
* @param mixed $raw_value Raw option value.
|
555 |
*
|
556 |
* @return mixed Filtered return value
|
|
|
557 |
* @since 3.0.0
|
558 |
+
* @author Leanza Francesco <leanzafrancesco@gmail.com>
|
559 |
*/
|
560 |
public static function sanitize_option( $value, $option, $raw_value ) {
|
561 |
if ( isset( $option['type'] ) && 'yith-field' === $option['type'] ) {
|
737 |
* @param string $raw_value Raw option value.
|
738 |
*
|
739 |
* @return mixed Filtered return value
|
|
|
740 |
* @since 3.0.0
|
741 |
+
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
742 |
*/
|
743 |
public static function sanitize_onoff_value( $value, $option, $raw_value ) {
|
744 |
if ( isset( $option['type'] ) && in_array( $option['type'], array( 'checkbox', 'onoff' ), true ) ) {
|
758 |
* @param array $yit_options Original options array.
|
759 |
*
|
760 |
* @return mixed|array New options array
|
|
|
761 |
* @since 3.0.0
|
762 |
+
* @author Andrea Grillo <andrea.grillo@yithemes.com>
|
763 |
*/
|
764 |
public function check_for_save_single_option( $yit_options ) {
|
765 |
foreach ( $yit_options as $key => $options_list ) {
|
plugin-fw/includes/class-yith-bh-onboarding.php
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* YITH BH Onboarding Class
|
4 |
+
*
|
5 |
+
* @class YITH_BH_Onboarding
|
6 |
+
* @package YITH\PluginFramework\Classes
|
7 |
+
*/
|
8 |
+
|
9 |
+
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
|
10 |
+
|
11 |
+
if ( ! class_exists( 'YITH_BH_Onboarding' ) ) {
|
12 |
+
/**
|
13 |
+
* Main Class
|
14 |
+
*/
|
15 |
+
class YITH_BH_Onboarding {
|
16 |
+
/**
|
17 |
+
* The single instance of the class.
|
18 |
+
*
|
19 |
+
* @var self
|
20 |
+
*/
|
21 |
+
protected static $instance = null;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Get class instance.
|
25 |
+
*
|
26 |
+
* @return self
|
27 |
+
*/
|
28 |
+
public static function get_instance() {
|
29 |
+
return ! is_null( static::$instance ) ? static::$instance : static::$instance = new static();
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Constructor
|
34 |
+
*/
|
35 |
+
protected function __construct() {
|
36 |
+
add_action( 'yith_bh_onboarding', array( $this, 'show_onboarding_content' ), 10, 1 );
|
37 |
+
add_action( 'wp_ajax_yith_bh_onboarding', array( $this, 'save_options' ) );
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Show onboarding content
|
42 |
+
*
|
43 |
+
* @param string $slug Slug of current plugin modal.
|
44 |
+
*/
|
45 |
+
public function show_onboarding_content( $slug ) {
|
46 |
+
|
47 |
+
$options = apply_filters( 'yith_bh_onboarding_' . $slug, array() );
|
48 |
+
|
49 |
+
if ( empty( $options ) || ! isset( $options['tabs'], $options['slug'] ) ) {
|
50 |
+
return;
|
51 |
+
}
|
52 |
+
|
53 |
+
define( 'DOING_YITH_BH_ONBOARDING', true );
|
54 |
+
|
55 |
+
if ( ! wp_script_is( 'yith-plugin-fw-fields', 'registered' ) || ! wp_style_is( 'yith-plugin-fw-fields', 'registered' ) ) {
|
56 |
+
YIT_Assets::instance()->register_styles_and_scripts();
|
57 |
+
}
|
58 |
+
|
59 |
+
if ( isset( $options['enqueue_script'] ) ) {
|
60 |
+
foreach ( $options['enqueue_script'] as $handle ) {
|
61 |
+
wp_enqueue_script( $handle );
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
if ( isset( $options['enqueue_style'] ) ) {
|
66 |
+
foreach ( $options['enqueue_style'] as $handle ) {
|
67 |
+
wp_enqueue_style( $handle );
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
wp_enqueue_script( 'yith-bh-onboarding' );
|
72 |
+
wp_enqueue_style( 'yith-bh-onboarding' );
|
73 |
+
|
74 |
+
include YIT_CORE_PLUGIN_TEMPLATE_PATH . '/bh-onboarding/onboarding-tabs.php';
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Save options
|
79 |
+
*
|
80 |
+
* @return void
|
81 |
+
*/
|
82 |
+
public function save_options() {
|
83 |
+
check_ajax_referer( 'yith-bh-onboarding-save-options' );
|
84 |
+
if ( ! isset( $_REQUEST['yith-plugin'], $_REQUEST['tab'] ) ) {
|
85 |
+
wp_send_json_error( __( 'It is not possible save the options', 'yith-plugin-fw' ) );
|
86 |
+
}
|
87 |
+
|
88 |
+
$slug = sanitize_text_field( wp_unslash( $_REQUEST['yith-plugin'] ) );
|
89 |
+
$posted = $_REQUEST;
|
90 |
+
// the options are filtered by each plugin.
|
91 |
+
$options = apply_filters( 'yith_bh_onboarding_' . $slug, array() );
|
92 |
+
$tab = $posted['tab'];
|
93 |
+
|
94 |
+
if ( apply_filters( 'yith_bh_onboarding_save_options_' . $slug, isset( $options['tabs'][ $tab ]['options'] ), $posted ) ) {
|
95 |
+
foreach ( $options['tabs'][ $tab ]['options'] as $single_option ) {
|
96 |
+
if ( isset( $posted[ $single_option['id'] ] ) ) {
|
97 |
+
$value = $posted[ $single_option['id'] ] ?? false;
|
98 |
+
$value = YIT_Plugin_Panel_WooCommerce::sanitize_option( $value, $single_option, $value );
|
99 |
+
$value = apply_filters( 'yith_bh_onboarding_save_option_value', $value, $single_option, $slug );
|
100 |
+
update_option( $single_option['id'], $value );
|
101 |
+
}
|
102 |
+
}
|
103 |
+
}
|
104 |
+
|
105 |
+
wp_send_json_success();
|
106 |
+
}
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
YITH_BH_Onboarding::get_instance();
|
plugin-fw/init.php
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Framework Name: YIT Plugin Framework
|
4 |
-
* Version: 3.9.
|
5 |
* Author: YITH
|
6 |
* Text Domain: yith-plugin-fw
|
7 |
* Domain Path: /languages/
|
8 |
*
|
9 |
* @author YITH
|
10 |
-
* @version 3.9.
|
11 |
* @package YITH\PluginFramework
|
12 |
*/
|
13 |
|
1 |
<?php
|
2 |
/**
|
3 |
* Framework Name: YIT Plugin Framework
|
4 |
+
* Version: 3.9.13
|
5 |
* Author: YITH
|
6 |
* Text Domain: yith-plugin-fw
|
7 |
* Domain Path: /languages/
|
8 |
*
|
9 |
* @author YITH
|
10 |
+
* @version 3.9.13
|
11 |
* @package YITH\PluginFramework
|
12 |
*/
|
13 |
|
plugin-fw/languages/yith-plugin-fw-el.mo
CHANGED
Binary file
|
plugin-fw/languages/yith-plugin-fw-el.po
CHANGED
@@ -4,7 +4,7 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Framework\n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
-
"POT-Creation-Date: 2022-
|
8 |
"PO-Revision-Date: 2021-02-11 18:07:46+0000\n"
|
9 |
"Language: el_GR\n"
|
10 |
"MIME-Version: 1.0\n"
|
@@ -13,56 +13,56 @@ msgstr ""
|
|
13 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
"X-Generator: GlotPress/3.0.0-alpha.2\n"
|
15 |
|
16 |
-
#: includes/class-yit-assets.php:
|
17 |
msgid "Confirm trash"
|
18 |
msgstr ""
|
19 |
|
20 |
-
#: includes/class-yit-assets.php:
|
21 |
msgid "Are you sure you want to trash the selected items?"
|
22 |
msgstr ""
|
23 |
|
24 |
-
#: includes/class-yit-assets.php:
|
25 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
26 |
#: yit-functions.php:2008 yit-functions.php:2026
|
27 |
msgid "No"
|
28 |
msgstr "Όχι"
|
29 |
|
30 |
-
#: includes/class-yit-assets.php:
|
31 |
#: yit-functions.php:2152
|
32 |
msgid "Confirm delete"
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: includes/class-yit-assets.php:
|
36 |
msgid "Are you sure you want to delete the selected items?"
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: includes/class-yit-assets.php:
|
40 |
#: yit-functions.php:2100
|
41 |
msgid ""
|
42 |
"This action cannot be undone and you will not be able to recover this data."
|
43 |
msgstr ""
|
44 |
|
45 |
-
#: includes/class-yit-assets.php:
|
46 |
msgid "Clear"
|
47 |
msgstr "Καθαρισμός"
|
48 |
|
49 |
-
#: includes/class-yit-assets.php:
|
50 |
msgid "Clear color"
|
51 |
msgstr "Καθαρισμός χρώματος"
|
52 |
|
53 |
-
#: includes/class-yit-assets.php:
|
54 |
msgid "Default"
|
55 |
msgstr "Προεπιλεγμένο"
|
56 |
|
57 |
-
#: includes/class-yit-assets.php:
|
58 |
msgid "Select default color"
|
59 |
msgstr "Επιλογή προεπιλεγμένου χρώματος"
|
60 |
|
61 |
-
#: includes/class-yit-assets.php:
|
62 |
msgid "Select Color"
|
63 |
msgstr "Επιλογή Χρώματος"
|
64 |
|
65 |
-
#: includes/class-yit-assets.php:
|
66 |
msgid "Color value"
|
67 |
msgstr "Αξία χρώματος"
|
68 |
|
@@ -113,62 +113,62 @@ msgstr "Είστε σίγουρος;"
|
|
113 |
msgid "Reset to default"
|
114 |
msgstr "Επαναφορά σε προεπιλεγμένο"
|
115 |
|
116 |
-
#: includes/class-yit-plugin-panel.php:
|
117 |
msgid ""
|
118 |
"The element you have entered already exists. Please, enter another name."
|
119 |
msgstr "Το στοιχείο που εισάγατε υπάρχει ήδη. Παρακαλώ, εισάγετε άλλο όνομα."
|
120 |
|
121 |
-
#: includes/class-yit-plugin-panel.php:
|
122 |
msgid "Settings saved"
|
123 |
msgstr "Ρυθμίσεις αποθηκεύτηκαν"
|
124 |
|
125 |
-
#: includes/class-yit-plugin-panel.php:
|
126 |
msgid "Settings reset"
|
127 |
msgstr "Επαναφορά ρυθμίσεων"
|
128 |
|
129 |
-
#: includes/class-yit-plugin-panel.php:
|
130 |
msgid "Element deleted correctly."
|
131 |
msgstr "Το στοιχείο διαγράφηκε επιτυχώς."
|
132 |
|
133 |
-
#: includes/class-yit-plugin-panel.php:
|
134 |
-
#: includes/class-yit-plugin-panel.php:
|
135 |
msgid "Element updated correctly."
|
136 |
msgstr "Το στοιχείο αναβαθμίστηκε επιτυχώς."
|
137 |
|
138 |
-
#: includes/class-yit-plugin-panel.php:
|
139 |
msgid "Database imported correctly."
|
140 |
msgstr "Επιτυχής εισαγωγή βάσης δεδομένων."
|
141 |
|
142 |
-
#: includes/class-yit-plugin-panel.php:
|
143 |
msgid "An error has occurred during import. Please try again."
|
144 |
msgstr "Παρουσιάστηκε σφάλμα κατά την εισαγωγή. Παρακαλώ προσπαθήστε ξανά."
|
145 |
|
146 |
-
#: includes/class-yit-plugin-panel.php:
|
147 |
msgid "The added file is not valid."
|
148 |
msgstr "Το προστιθέμενο αρχείο δεν είναι έγκυρο."
|
149 |
|
150 |
-
#: includes/class-yit-plugin-panel.php:
|
151 |
msgid "Sorry, import is disabled."
|
152 |
msgstr "Συγνώμη, η εισαγωγή είναι απενεργοποιημένη."
|
153 |
|
154 |
-
#: includes/class-yit-plugin-panel.php:
|
155 |
msgid "Sorting successful."
|
156 |
msgstr "Διαλογή επιτυχής."
|
157 |
|
158 |
-
#: includes/class-yit-plugin-panel.php:
|
159 |
msgid "We need your support"
|
160 |
msgstr "Χρειαζόμαστε την υποστήριξή σας"
|
161 |
|
162 |
-
#: includes/class-yit-plugin-panel.php:
|
163 |
msgid "to keep updating and improving the plugin. Please,"
|
164 |
msgstr ""
|
165 |
"για να διατηρήσετε την ενημέρωση και τη βελτίωση του πρόσθετου. Παρακαλώ,"
|
166 |
|
167 |
-
#: includes/class-yit-plugin-panel.php:
|
168 |
msgid "help us by leaving a good review"
|
169 |
msgstr ""
|
170 |
|
171 |
-
#: includes/class-yit-plugin-panel.php:
|
172 |
msgid ":) Thanks!"
|
173 |
msgstr ":) Ευχαριστώ!"
|
174 |
|
@@ -200,6 +200,10 @@ msgid ""
|
|
200 |
"previous location to YITH menu."
|
201 |
msgstr ""
|
202 |
|
|
|
|
|
|
|
|
|
203 |
#: includes/class-yith-dashboard.php:35
|
204 |
msgid "YITH Latest Updates"
|
205 |
msgstr "Τελευταίες Αναβαθμίσεις YITH"
|
@@ -401,6 +405,10 @@ msgstr ""
|
|
401 |
"εγκατασταθεί λόγω προβλήματος σύνδεσης ανάμεσα στον ιστότοπο σας και τον "
|
402 |
"διακομιστή μας."
|
403 |
|
|
|
|
|
|
|
|
|
404 |
#: templates/fields/ajax-customers.php:41
|
405 |
msgid "Search for a customer..."
|
406 |
msgstr ""
|
@@ -678,12 +686,12 @@ msgstr ""
|
|
678 |
msgid "Further actions"
|
679 |
msgstr ""
|
680 |
|
681 |
-
#: yit-plugin.php:
|
682 |
msgid "License"
|
683 |
msgstr "Άδεια χρήσης προϊόντος"
|
684 |
|
685 |
#. translators: 1. Plugin(s) name(s).
|
686 |
-
#: yit-plugin.php:
|
687 |
msgid ""
|
688 |
"%s was deactivated as you're running an higher tier version of the same "
|
689 |
"plugin."
|
@@ -708,22 +716,22 @@ msgctxt "[gutenberg]: Category Name"
|
|
708 |
msgid "YITH"
|
709 |
msgstr "YITH"
|
710 |
|
711 |
-
#: includes/class-yit-assets.php:
|
712 |
msgctxt "Button text"
|
713 |
msgid "Confirm"
|
714 |
msgstr ""
|
715 |
|
716 |
-
#: includes/class-yit-assets.php:
|
717 |
msgctxt "Button text"
|
718 |
msgid "Cancel"
|
719 |
msgstr ""
|
720 |
|
721 |
-
#: includes/class-yit-assets.php:
|
722 |
msgctxt "Trash confirmation action"
|
723 |
msgid "Yes, move to trash"
|
724 |
msgstr ""
|
725 |
|
726 |
-
#: includes/class-yit-assets.php:
|
727 |
#: yit-functions.php:2154
|
728 |
msgctxt "Delete confirmation action"
|
729 |
msgid "Yes, delete"
|
@@ -949,7 +957,7 @@ msgstr ""
|
|
949 |
|
950 |
#: templates/panel/help-tab.php:220
|
951 |
msgctxt "Help tab documentation"
|
952 |
-
msgid "to learn
|
953 |
msgstr ""
|
954 |
|
955 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
@@ -964,7 +972,9 @@ msgstr ""
|
|
964 |
|
965 |
#: templates/panel/help-tab.php:238
|
966 |
msgctxt "Help tab support"
|
967 |
-
msgid "
|
|
|
|
|
968 |
msgstr ""
|
969 |
|
970 |
#: templates/panel/help-tab.php:241
|
@@ -988,17 +998,22 @@ msgid "Plugin premium features images"
|
|
988 |
msgstr ""
|
989 |
|
990 |
#. translators: alt attribute of main image tag.
|
991 |
-
#: templates/panel/premium-tab.php:51
|
992 |
msgctxt "Premium Tab"
|
993 |
msgid "And so much more!"
|
994 |
msgstr ""
|
995 |
|
996 |
#: templates/panel/premium-tab.php:53
|
997 |
msgctxt "Premium Tab"
|
|
|
|
|
|
|
|
|
|
|
998 |
msgid "Check the free vs premium features >"
|
999 |
msgstr ""
|
1000 |
|
1001 |
-
#: templates/panel/premium-tab.php:
|
1002 |
msgctxt "Premium Tab"
|
1003 |
msgid "Get the premium version"
|
1004 |
msgstr ""
|
@@ -1058,27 +1073,27 @@ msgctxt "Term action"
|
|
1058 |
msgid "Delete"
|
1059 |
msgstr ""
|
1060 |
|
1061 |
-
#: yit-plugin.php:
|
1062 |
msgctxt "Plugin Row Meta"
|
1063 |
msgid "Live Demo"
|
1064 |
msgstr "Live Demo"
|
1065 |
|
1066 |
-
#: yit-plugin.php:
|
1067 |
msgctxt "Plugin Row Meta"
|
1068 |
msgid "Documentation"
|
1069 |
msgstr "Εγχειρίδιο χρήσης"
|
1070 |
|
1071 |
-
#: yit-plugin.php:
|
1072 |
msgctxt "Plugin Row Meta"
|
1073 |
msgid "Support"
|
1074 |
msgstr "Υποστήριξη"
|
1075 |
|
1076 |
-
#: yit-plugin.php:
|
1077 |
msgctxt "Plugin Row Meta"
|
1078 |
msgid "Premium version"
|
1079 |
msgstr "Premium έκδοση"
|
1080 |
|
1081 |
-
#: yit-plugin.php:
|
1082 |
msgctxt "Action links"
|
1083 |
msgid "Settings"
|
1084 |
msgstr "Ρυθμίσεις"
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Framework\n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
+
"POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
|
8 |
"PO-Revision-Date: 2021-02-11 18:07:46+0000\n"
|
9 |
"Language: el_GR\n"
|
10 |
"MIME-Version: 1.0\n"
|
13 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
"X-Generator: GlotPress/3.0.0-alpha.2\n"
|
15 |
|
16 |
+
#: includes/class-yit-assets.php:146 yit-functions.php:2006
|
17 |
msgid "Confirm trash"
|
18 |
msgstr ""
|
19 |
|
20 |
+
#: includes/class-yit-assets.php:147
|
21 |
msgid "Are you sure you want to trash the selected items?"
|
22 |
msgstr ""
|
23 |
|
24 |
+
#: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
|
25 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
26 |
#: yit-functions.php:2008 yit-functions.php:2026
|
27 |
msgid "No"
|
28 |
msgstr "Όχι"
|
29 |
|
30 |
+
#: includes/class-yit-assets.php:150 yit-functions.php:2024
|
31 |
#: yit-functions.php:2152
|
32 |
msgid "Confirm delete"
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: includes/class-yit-assets.php:151
|
36 |
msgid "Are you sure you want to delete the selected items?"
|
37 |
msgstr ""
|
38 |
|
39 |
+
#: includes/class-yit-assets.php:151 yit-functions.php:1940
|
40 |
#: yit-functions.php:2100
|
41 |
msgid ""
|
42 |
"This action cannot be undone and you will not be able to recover this data."
|
43 |
msgstr ""
|
44 |
|
45 |
+
#: includes/class-yit-assets.php:172
|
46 |
msgid "Clear"
|
47 |
msgstr "Καθαρισμός"
|
48 |
|
49 |
+
#: includes/class-yit-assets.php:173
|
50 |
msgid "Clear color"
|
51 |
msgstr "Καθαρισμός χρώματος"
|
52 |
|
53 |
+
#: includes/class-yit-assets.php:174
|
54 |
msgid "Default"
|
55 |
msgstr "Προεπιλεγμένο"
|
56 |
|
57 |
+
#: includes/class-yit-assets.php:175
|
58 |
msgid "Select default color"
|
59 |
msgstr "Επιλογή προεπιλεγμένου χρώματος"
|
60 |
|
61 |
+
#: includes/class-yit-assets.php:176
|
62 |
msgid "Select Color"
|
63 |
msgstr "Επιλογή Χρώματος"
|
64 |
|
65 |
+
#: includes/class-yit-assets.php:177
|
66 |
msgid "Color value"
|
67 |
msgstr "Αξία χρώματος"
|
68 |
|
113 |
msgid "Reset to default"
|
114 |
msgstr "Επαναφορά σε προεπιλεγμένο"
|
115 |
|
116 |
+
#: includes/class-yit-plugin-panel.php:1074
|
117 |
msgid ""
|
118 |
"The element you have entered already exists. Please, enter another name."
|
119 |
msgstr "Το στοιχείο που εισάγατε υπάρχει ήδη. Παρακαλώ, εισάγετε άλλο όνομα."
|
120 |
|
121 |
+
#: includes/class-yit-plugin-panel.php:1075
|
122 |
msgid "Settings saved"
|
123 |
msgstr "Ρυθμίσεις αποθηκεύτηκαν"
|
124 |
|
125 |
+
#: includes/class-yit-plugin-panel.php:1076
|
126 |
msgid "Settings reset"
|
127 |
msgstr "Επαναφορά ρυθμίσεων"
|
128 |
|
129 |
+
#: includes/class-yit-plugin-panel.php:1077
|
130 |
msgid "Element deleted correctly."
|
131 |
msgstr "Το στοιχείο διαγράφηκε επιτυχώς."
|
132 |
|
133 |
+
#: includes/class-yit-plugin-panel.php:1078
|
134 |
+
#: includes/class-yit-plugin-panel.php:1079
|
135 |
msgid "Element updated correctly."
|
136 |
msgstr "Το στοιχείο αναβαθμίστηκε επιτυχώς."
|
137 |
|
138 |
+
#: includes/class-yit-plugin-panel.php:1080
|
139 |
msgid "Database imported correctly."
|
140 |
msgstr "Επιτυχής εισαγωγή βάσης δεδομένων."
|
141 |
|
142 |
+
#: includes/class-yit-plugin-panel.php:1081
|
143 |
msgid "An error has occurred during import. Please try again."
|
144 |
msgstr "Παρουσιάστηκε σφάλμα κατά την εισαγωγή. Παρακαλώ προσπαθήστε ξανά."
|
145 |
|
146 |
+
#: includes/class-yit-plugin-panel.php:1082
|
147 |
msgid "The added file is not valid."
|
148 |
msgstr "Το προστιθέμενο αρχείο δεν είναι έγκυρο."
|
149 |
|
150 |
+
#: includes/class-yit-plugin-panel.php:1083
|
151 |
msgid "Sorry, import is disabled."
|
152 |
msgstr "Συγνώμη, η εισαγωγή είναι απενεργοποιημένη."
|
153 |
|
154 |
+
#: includes/class-yit-plugin-panel.php:1084
|
155 |
msgid "Sorting successful."
|
156 |
msgstr "Διαλογή επιτυχής."
|
157 |
|
158 |
+
#: includes/class-yit-plugin-panel.php:1573
|
159 |
msgid "We need your support"
|
160 |
msgstr "Χρειαζόμαστε την υποστήριξή σας"
|
161 |
|
162 |
+
#: includes/class-yit-plugin-panel.php:1574
|
163 |
msgid "to keep updating and improving the plugin. Please,"
|
164 |
msgstr ""
|
165 |
"για να διατηρήσετε την ενημέρωση και τη βελτίωση του πρόσθετου. Παρακαλώ,"
|
166 |
|
167 |
+
#: includes/class-yit-plugin-panel.php:1576
|
168 |
msgid "help us by leaving a good review"
|
169 |
msgstr ""
|
170 |
|
171 |
+
#: includes/class-yit-plugin-panel.php:1577
|
172 |
msgid ":) Thanks!"
|
173 |
msgstr ":) Ευχαριστώ!"
|
174 |
|
200 |
"previous location to YITH menu."
|
201 |
msgstr ""
|
202 |
|
203 |
+
#: includes/class-yith-bh-onboarding.php:85
|
204 |
+
msgid "It is not possible save the options"
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
#: includes/class-yith-dashboard.php:35
|
208 |
msgid "YITH Latest Updates"
|
209 |
msgstr "Τελευταίες Αναβαθμίσεις YITH"
|
405 |
"εγκατασταθεί λόγω προβλήματος σύνδεσης ανάμεσα στον ιστότοπο σας και τον "
|
406 |
"διακομιστή μας."
|
407 |
|
408 |
+
#: templates/bh-onboarding/onboarding-tabs.php:63
|
409 |
+
msgid "Save"
|
410 |
+
msgstr ""
|
411 |
+
|
412 |
#: templates/fields/ajax-customers.php:41
|
413 |
msgid "Search for a customer..."
|
414 |
msgstr ""
|
686 |
msgid "Further actions"
|
687 |
msgstr ""
|
688 |
|
689 |
+
#: yit-plugin.php:233
|
690 |
msgid "License"
|
691 |
msgstr "Άδεια χρήσης προϊόντος"
|
692 |
|
693 |
#. translators: 1. Plugin(s) name(s).
|
694 |
+
#: yit-plugin.php:272
|
695 |
msgid ""
|
696 |
"%s was deactivated as you're running an higher tier version of the same "
|
697 |
"plugin."
|
716 |
msgid "YITH"
|
717 |
msgstr "YITH"
|
718 |
|
719 |
+
#: includes/class-yit-assets.php:134
|
720 |
msgctxt "Button text"
|
721 |
msgid "Confirm"
|
722 |
msgstr ""
|
723 |
|
724 |
+
#: includes/class-yit-assets.php:135
|
725 |
msgctxt "Button text"
|
726 |
msgid "Cancel"
|
727 |
msgstr ""
|
728 |
|
729 |
+
#: includes/class-yit-assets.php:148 yit-functions.php:2009
|
730 |
msgctxt "Trash confirmation action"
|
731 |
msgid "Yes, move to trash"
|
732 |
msgstr ""
|
733 |
|
734 |
+
#: includes/class-yit-assets.php:152 yit-functions.php:2027
|
735 |
#: yit-functions.php:2154
|
736 |
msgctxt "Delete confirmation action"
|
737 |
msgid "Yes, delete"
|
957 |
|
958 |
#: templates/panel/help-tab.php:220
|
959 |
msgctxt "Help tab documentation"
|
960 |
+
msgid "to learn how it works from the basics."
|
961 |
msgstr ""
|
962 |
|
963 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
972 |
|
973 |
#: templates/panel/help-tab.php:238
|
974 |
msgctxt "Help tab support"
|
975 |
+
msgid ""
|
976 |
+
"Call or chat 24/7 with our support agents, or let our experts build your "
|
977 |
+
"site."
|
978 |
msgstr ""
|
979 |
|
980 |
#: templates/panel/help-tab.php:241
|
998 |
msgstr ""
|
999 |
|
1000 |
#. translators: alt attribute of main image tag.
|
1001 |
+
#: templates/panel/premium-tab.php:51 templates/panel/premium-tab.php:58
|
1002 |
msgctxt "Premium Tab"
|
1003 |
msgid "And so much more!"
|
1004 |
msgstr ""
|
1005 |
|
1006 |
#: templates/panel/premium-tab.php:53
|
1007 |
msgctxt "Premium Tab"
|
1008 |
+
msgid "Check the premium features >"
|
1009 |
+
msgstr ""
|
1010 |
+
|
1011 |
+
#: templates/panel/premium-tab.php:60
|
1012 |
+
msgctxt "Premium Tab"
|
1013 |
msgid "Check the free vs premium features >"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: templates/panel/premium-tab.php:65
|
1017 |
msgctxt "Premium Tab"
|
1018 |
msgid "Get the premium version"
|
1019 |
msgstr ""
|
1073 |
msgid "Delete"
|
1074 |
msgstr ""
|
1075 |
|
1076 |
+
#: yit-plugin.php:85
|
1077 |
msgctxt "Plugin Row Meta"
|
1078 |
msgid "Live Demo"
|
1079 |
msgstr "Live Demo"
|
1080 |
|
1081 |
+
#: yit-plugin.php:89
|
1082 |
msgctxt "Plugin Row Meta"
|
1083 |
msgid "Documentation"
|
1084 |
msgstr "Εγχειρίδιο χρήσης"
|
1085 |
|
1086 |
+
#: yit-plugin.php:93
|
1087 |
msgctxt "Plugin Row Meta"
|
1088 |
msgid "Support"
|
1089 |
msgstr "Υποστήριξη"
|
1090 |
|
1091 |
+
#: yit-plugin.php:97
|
1092 |
msgctxt "Plugin Row Meta"
|
1093 |
msgid "Premium version"
|
1094 |
msgstr "Premium έκδοση"
|
1095 |
|
1096 |
+
#: yit-plugin.php:229
|
1097 |
msgctxt "Action links"
|
1098 |
msgid "Settings"
|
1099 |
msgstr "Ρυθμίσεις"
|
plugin-fw/languages/yith-plugin-fw-es_ES.mo
CHANGED
Binary file
|
plugin-fw/languages/yith-plugin-fw-es_ES.po
CHANGED
@@ -4,7 +4,7 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Framework\n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
-
"POT-Creation-Date: 2022-
|
8 |
"PO-Revision-Date: 2022-07-06 06:44:36+0000\n"
|
9 |
"Language: es\n"
|
10 |
"MIME-Version: 1.0\n"
|
@@ -13,57 +13,57 @@ msgstr ""
|
|
13 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
"X-Generator: GlotPress/3.0.0-alpha.2\n"
|
15 |
|
16 |
-
#: includes/class-yit-assets.php:
|
17 |
msgid "Confirm trash"
|
18 |
msgstr "Confirmar el traslado a la papelera"
|
19 |
|
20 |
-
#: includes/class-yit-assets.php:
|
21 |
msgid "Are you sure you want to trash the selected items?"
|
22 |
msgstr ""
|
23 |
"¿Estás seguro de que quieres mover a la papelera los elementos seleccionados?"
|
24 |
|
25 |
-
#: includes/class-yit-assets.php:
|
26 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
27 |
#: yit-functions.php:2008 yit-functions.php:2026
|
28 |
msgid "No"
|
29 |
msgstr "No"
|
30 |
|
31 |
-
#: includes/class-yit-assets.php:
|
32 |
#: yit-functions.php:2152
|
33 |
msgid "Confirm delete"
|
34 |
msgstr "Confirmar el borrado"
|
35 |
|
36 |
-
#: includes/class-yit-assets.php:
|
37 |
msgid "Are you sure you want to delete the selected items?"
|
38 |
msgstr "¿Estás seguro de que quieres borrar los elementos seleccionados?"
|
39 |
|
40 |
-
#: includes/class-yit-assets.php:
|
41 |
#: yit-functions.php:2100
|
42 |
msgid ""
|
43 |
"This action cannot be undone and you will not be able to recover this data."
|
44 |
msgstr "Esta acción no se puede revertir y no podrá recuperar estos datos."
|
45 |
|
46 |
-
#: includes/class-yit-assets.php:
|
47 |
msgid "Clear"
|
48 |
msgstr "Borrar"
|
49 |
|
50 |
-
#: includes/class-yit-assets.php:
|
51 |
msgid "Clear color"
|
52 |
msgstr "Borrar color"
|
53 |
|
54 |
-
#: includes/class-yit-assets.php:
|
55 |
msgid "Default"
|
56 |
msgstr "Predeterminado"
|
57 |
|
58 |
-
#: includes/class-yit-assets.php:
|
59 |
msgid "Select default color"
|
60 |
msgstr "Seleccionar color predeterminado"
|
61 |
|
62 |
-
#: includes/class-yit-assets.php:
|
63 |
msgid "Select Color"
|
64 |
msgstr "Seleccionar color"
|
65 |
|
66 |
-
#: includes/class-yit-assets.php:
|
67 |
msgid "Color value"
|
68 |
msgstr "Valor del color"
|
69 |
|
@@ -114,63 +114,63 @@ msgstr "¿Estás seguro?"
|
|
114 |
msgid "Reset to default"
|
115 |
msgstr "Restablecer valores predeterminados"
|
116 |
|
117 |
-
#: includes/class-yit-plugin-panel.php:
|
118 |
msgid ""
|
119 |
"The element you have entered already exists. Please, enter another name."
|
120 |
msgstr ""
|
121 |
"El elemento que has introducido ya existe. Por favor, introduce otro nombre."
|
122 |
|
123 |
-
#: includes/class-yit-plugin-panel.php:
|
124 |
msgid "Settings saved"
|
125 |
msgstr "Ajustes guardados"
|
126 |
|
127 |
-
#: includes/class-yit-plugin-panel.php:
|
128 |
msgid "Settings reset"
|
129 |
msgstr "Restablecer ajustes"
|
130 |
|
131 |
-
#: includes/class-yit-plugin-panel.php:
|
132 |
msgid "Element deleted correctly."
|
133 |
msgstr "Elemento eliminado correctamente."
|
134 |
|
135 |
-
#: includes/class-yit-plugin-panel.php:
|
136 |
-
#: includes/class-yit-plugin-panel.php:
|
137 |
msgid "Element updated correctly."
|
138 |
msgstr "Elemento actualizado correctamente."
|
139 |
|
140 |
-
#: includes/class-yit-plugin-panel.php:
|
141 |
msgid "Database imported correctly."
|
142 |
msgstr "Base de datos importada correctamente."
|
143 |
|
144 |
-
#: includes/class-yit-plugin-panel.php:
|
145 |
msgid "An error has occurred during import. Please try again."
|
146 |
msgstr ""
|
147 |
"Ha ocurrido un error durante la importación. Por favor, inténtalo de nuevo."
|
148 |
|
149 |
-
#: includes/class-yit-plugin-panel.php:
|
150 |
msgid "The added file is not valid."
|
151 |
msgstr "El archivo añadido no es válido."
|
152 |
|
153 |
-
#: includes/class-yit-plugin-panel.php:
|
154 |
msgid "Sorry, import is disabled."
|
155 |
msgstr "Lo siento, la importación está desactivada."
|
156 |
|
157 |
-
#: includes/class-yit-plugin-panel.php:
|
158 |
msgid "Sorting successful."
|
159 |
msgstr "Clasificación realizada con éxito"
|
160 |
|
161 |
-
#: includes/class-yit-plugin-panel.php:
|
162 |
msgid "We need your support"
|
163 |
msgstr "Necesitamos tu apoyo"
|
164 |
|
165 |
-
#: includes/class-yit-plugin-panel.php:
|
166 |
msgid "to keep updating and improving the plugin. Please,"
|
167 |
msgstr "para que podamos seguir actualizando y mejorando el plugin. Por favor,"
|
168 |
|
169 |
-
#: includes/class-yit-plugin-panel.php:
|
170 |
msgid "help us by leaving a good review"
|
171 |
msgstr "ayúdanos dejando una buena valoración"
|
172 |
|
173 |
-
#: includes/class-yit-plugin-panel.php:
|
174 |
msgid ":) Thanks!"
|
175 |
msgstr ":) ¡Gracias!"
|
176 |
|
@@ -211,6 +211,10 @@ msgstr ""
|
|
211 |
"WooCommerce Ajax Search, etc.) serán movidos de la ubicación previa a la "
|
212 |
"pestaña de YITH plugins."
|
213 |
|
|
|
|
|
|
|
|
|
214 |
#: includes/class-yith-dashboard.php:35
|
215 |
msgid "YITH Latest Updates"
|
216 |
msgstr "Últimas actualizaciones de YITH"
|
@@ -410,6 +414,10 @@ msgstr ""
|
|
410 |
"La comprobación del sistema no ha podido determinar qué versión de %1$s está "
|
411 |
"instalada debido a un error entre tu sitio y nuestro servidor."
|
412 |
|
|
|
|
|
|
|
|
|
413 |
#: templates/fields/ajax-customers.php:41
|
414 |
msgid "Search for a customer..."
|
415 |
msgstr "Buscar un cliente..."
|
@@ -686,12 +694,12 @@ msgstr "¿Estás seguro de que quieres borrar \"%s\"?"
|
|
686 |
msgid "Further actions"
|
687 |
msgstr "Otras acciones"
|
688 |
|
689 |
-
#: yit-plugin.php:
|
690 |
msgid "License"
|
691 |
msgstr "Licencia"
|
692 |
|
693 |
#. translators: 1. Plugin(s) name(s).
|
694 |
-
#: yit-plugin.php:
|
695 |
msgid ""
|
696 |
"%s was deactivated as you're running an higher tier version of the same "
|
697 |
"plugin."
|
@@ -720,22 +728,22 @@ msgctxt "[gutenberg]: Category Name"
|
|
720 |
msgid "YITH"
|
721 |
msgstr "YITH"
|
722 |
|
723 |
-
#: includes/class-yit-assets.php:
|
724 |
msgctxt "Button text"
|
725 |
msgid "Confirm"
|
726 |
msgstr "Confirmar"
|
727 |
|
728 |
-
#: includes/class-yit-assets.php:
|
729 |
msgctxt "Button text"
|
730 |
msgid "Cancel"
|
731 |
msgstr "Cancelar"
|
732 |
|
733 |
-
#: includes/class-yit-assets.php:
|
734 |
msgctxt "Trash confirmation action"
|
735 |
msgid "Yes, move to trash"
|
736 |
msgstr "Sí, mover a la papelera"
|
737 |
|
738 |
-
#: includes/class-yit-assets.php:
|
739 |
#: yit-functions.php:2154
|
740 |
msgctxt "Delete confirmation action"
|
741 |
msgid "Yes, delete"
|
@@ -967,9 +975,10 @@ msgid "Read the plugin documentation"
|
|
967 |
msgstr "Lee la documentación"
|
968 |
|
969 |
#: templates/panel/help-tab.php:220
|
|
|
970 |
msgctxt "Help tab documentation"
|
971 |
-
msgid "to learn
|
972 |
-
msgstr ""
|
973 |
|
974 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
975 |
#, fuzzy
|
@@ -984,7 +993,9 @@ msgstr ""
|
|
984 |
|
985 |
#: templates/panel/help-tab.php:238
|
986 |
msgctxt "Help tab support"
|
987 |
-
msgid "
|
|
|
|
|
988 |
msgstr ""
|
989 |
|
990 |
#: templates/panel/help-tab.php:241
|
@@ -1009,17 +1020,23 @@ msgid "Plugin premium features images"
|
|
1009 |
msgstr "Imágenes de la versión premium"
|
1010 |
|
1011 |
#. translators: alt attribute of main image tag.
|
1012 |
-
#: templates/panel/premium-tab.php:51
|
1013 |
msgctxt "Premium Tab"
|
1014 |
msgid "And so much more!"
|
1015 |
msgstr "¡Y mucho más!"
|
1016 |
|
1017 |
#: templates/panel/premium-tab.php:53
|
|
|
|
|
|
|
|
|
|
|
|
|
1018 |
msgctxt "Premium Tab"
|
1019 |
msgid "Check the free vs premium features >"
|
1020 |
msgstr "Comprueba las características gratuitas frente a las premium >"
|
1021 |
|
1022 |
-
#: templates/panel/premium-tab.php:
|
1023 |
msgctxt "Premium Tab"
|
1024 |
msgid "Get the premium version"
|
1025 |
msgstr "Obtén la versión Premium"
|
@@ -1079,27 +1096,27 @@ msgctxt "Term action"
|
|
1079 |
msgid "Delete"
|
1080 |
msgstr "Borrar"
|
1081 |
|
1082 |
-
#: yit-plugin.php:
|
1083 |
msgctxt "Plugin Row Meta"
|
1084 |
msgid "Live Demo"
|
1085 |
msgstr "Demostración en vivo"
|
1086 |
|
1087 |
-
#: yit-plugin.php:
|
1088 |
msgctxt "Plugin Row Meta"
|
1089 |
msgid "Documentation"
|
1090 |
msgstr "Documentación"
|
1091 |
|
1092 |
-
#: yit-plugin.php:
|
1093 |
msgctxt "Plugin Row Meta"
|
1094 |
msgid "Support"
|
1095 |
msgstr "Soporte"
|
1096 |
|
1097 |
-
#: yit-plugin.php:
|
1098 |
msgctxt "Plugin Row Meta"
|
1099 |
msgid "Premium version"
|
1100 |
msgstr "Versión premium"
|
1101 |
|
1102 |
-
#: yit-plugin.php:
|
1103 |
msgctxt "Action links"
|
1104 |
msgid "Settings"
|
1105 |
msgstr "Ajustes"
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Framework\n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
+
"POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
|
8 |
"PO-Revision-Date: 2022-07-06 06:44:36+0000\n"
|
9 |
"Language: es\n"
|
10 |
"MIME-Version: 1.0\n"
|
13 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
"X-Generator: GlotPress/3.0.0-alpha.2\n"
|
15 |
|
16 |
+
#: includes/class-yit-assets.php:146 yit-functions.php:2006
|
17 |
msgid "Confirm trash"
|
18 |
msgstr "Confirmar el traslado a la papelera"
|
19 |
|
20 |
+
#: includes/class-yit-assets.php:147
|
21 |
msgid "Are you sure you want to trash the selected items?"
|
22 |
msgstr ""
|
23 |
"¿Estás seguro de que quieres mover a la papelera los elementos seleccionados?"
|
24 |
|
25 |
+
#: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
|
26 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
27 |
#: yit-functions.php:2008 yit-functions.php:2026
|
28 |
msgid "No"
|
29 |
msgstr "No"
|
30 |
|
31 |
+
#: includes/class-yit-assets.php:150 yit-functions.php:2024
|
32 |
#: yit-functions.php:2152
|
33 |
msgid "Confirm delete"
|
34 |
msgstr "Confirmar el borrado"
|
35 |
|
36 |
+
#: includes/class-yit-assets.php:151
|
37 |
msgid "Are you sure you want to delete the selected items?"
|
38 |
msgstr "¿Estás seguro de que quieres borrar los elementos seleccionados?"
|
39 |
|
40 |
+
#: includes/class-yit-assets.php:151 yit-functions.php:1940
|
41 |
#: yit-functions.php:2100
|
42 |
msgid ""
|
43 |
"This action cannot be undone and you will not be able to recover this data."
|
44 |
msgstr "Esta acción no se puede revertir y no podrá recuperar estos datos."
|
45 |
|
46 |
+
#: includes/class-yit-assets.php:172
|
47 |
msgid "Clear"
|
48 |
msgstr "Borrar"
|
49 |
|
50 |
+
#: includes/class-yit-assets.php:173
|
51 |
msgid "Clear color"
|
52 |
msgstr "Borrar color"
|
53 |
|
54 |
+
#: includes/class-yit-assets.php:174
|
55 |
msgid "Default"
|
56 |
msgstr "Predeterminado"
|
57 |
|
58 |
+
#: includes/class-yit-assets.php:175
|
59 |
msgid "Select default color"
|
60 |
msgstr "Seleccionar color predeterminado"
|
61 |
|
62 |
+
#: includes/class-yit-assets.php:176
|
63 |
msgid "Select Color"
|
64 |
msgstr "Seleccionar color"
|
65 |
|
66 |
+
#: includes/class-yit-assets.php:177
|
67 |
msgid "Color value"
|
68 |
msgstr "Valor del color"
|
69 |
|
114 |
msgid "Reset to default"
|
115 |
msgstr "Restablecer valores predeterminados"
|
116 |
|
117 |
+
#: includes/class-yit-plugin-panel.php:1074
|
118 |
msgid ""
|
119 |
"The element you have entered already exists. Please, enter another name."
|
120 |
msgstr ""
|
121 |
"El elemento que has introducido ya existe. Por favor, introduce otro nombre."
|
122 |
|
123 |
+
#: includes/class-yit-plugin-panel.php:1075
|
124 |
msgid "Settings saved"
|
125 |
msgstr "Ajustes guardados"
|
126 |
|
127 |
+
#: includes/class-yit-plugin-panel.php:1076
|
128 |
msgid "Settings reset"
|
129 |
msgstr "Restablecer ajustes"
|
130 |
|
131 |
+
#: includes/class-yit-plugin-panel.php:1077
|
132 |
msgid "Element deleted correctly."
|
133 |
msgstr "Elemento eliminado correctamente."
|
134 |
|
135 |
+
#: includes/class-yit-plugin-panel.php:1078
|
136 |
+
#: includes/class-yit-plugin-panel.php:1079
|
137 |
msgid "Element updated correctly."
|
138 |
msgstr "Elemento actualizado correctamente."
|
139 |
|
140 |
+
#: includes/class-yit-plugin-panel.php:1080
|
141 |
msgid "Database imported correctly."
|
142 |
msgstr "Base de datos importada correctamente."
|
143 |
|
144 |
+
#: includes/class-yit-plugin-panel.php:1081
|
145 |
msgid "An error has occurred during import. Please try again."
|
146 |
msgstr ""
|
147 |
"Ha ocurrido un error durante la importación. Por favor, inténtalo de nuevo."
|
148 |
|
149 |
+
#: includes/class-yit-plugin-panel.php:1082
|
150 |
msgid "The added file is not valid."
|
151 |
msgstr "El archivo añadido no es válido."
|
152 |
|
153 |
+
#: includes/class-yit-plugin-panel.php:1083
|
154 |
msgid "Sorry, import is disabled."
|
155 |
msgstr "Lo siento, la importación está desactivada."
|
156 |
|
157 |
+
#: includes/class-yit-plugin-panel.php:1084
|
158 |
msgid "Sorting successful."
|
159 |
msgstr "Clasificación realizada con éxito"
|
160 |
|
161 |
+
#: includes/class-yit-plugin-panel.php:1573
|
162 |
msgid "We need your support"
|
163 |
msgstr "Necesitamos tu apoyo"
|
164 |
|
165 |
+
#: includes/class-yit-plugin-panel.php:1574
|
166 |
msgid "to keep updating and improving the plugin. Please,"
|
167 |
msgstr "para que podamos seguir actualizando y mejorando el plugin. Por favor,"
|
168 |
|
169 |
+
#: includes/class-yit-plugin-panel.php:1576
|
170 |
msgid "help us by leaving a good review"
|
171 |
msgstr "ayúdanos dejando una buena valoración"
|
172 |
|
173 |
+
#: includes/class-yit-plugin-panel.php:1577
|
174 |
msgid ":) Thanks!"
|
175 |
msgstr ":) ¡Gracias!"
|
176 |
|
211 |
"WooCommerce Ajax Search, etc.) serán movidos de la ubicación previa a la "
|
212 |
"pestaña de YITH plugins."
|
213 |
|
214 |
+
#: includes/class-yith-bh-onboarding.php:85
|
215 |
+
msgid "It is not possible save the options"
|
216 |
+
msgstr ""
|
217 |
+
|
218 |
#: includes/class-yith-dashboard.php:35
|
219 |
msgid "YITH Latest Updates"
|
220 |
msgstr "Últimas actualizaciones de YITH"
|
414 |
"La comprobación del sistema no ha podido determinar qué versión de %1$s está "
|
415 |
"instalada debido a un error entre tu sitio y nuestro servidor."
|
416 |
|
417 |
+
#: templates/bh-onboarding/onboarding-tabs.php:63
|
418 |
+
msgid "Save"
|
419 |
+
msgstr ""
|
420 |
+
|
421 |
#: templates/fields/ajax-customers.php:41
|
422 |
msgid "Search for a customer..."
|
423 |
msgstr "Buscar un cliente..."
|
694 |
msgid "Further actions"
|
695 |
msgstr "Otras acciones"
|
696 |
|
697 |
+
#: yit-plugin.php:233
|
698 |
msgid "License"
|
699 |
msgstr "Licencia"
|
700 |
|
701 |
#. translators: 1. Plugin(s) name(s).
|
702 |
+
#: yit-plugin.php:272
|
703 |
msgid ""
|
704 |
"%s was deactivated as you're running an higher tier version of the same "
|
705 |
"plugin."
|
728 |
msgid "YITH"
|
729 |
msgstr "YITH"
|
730 |
|
731 |
+
#: includes/class-yit-assets.php:134
|
732 |
msgctxt "Button text"
|
733 |
msgid "Confirm"
|
734 |
msgstr "Confirmar"
|
735 |
|
736 |
+
#: includes/class-yit-assets.php:135
|
737 |
msgctxt "Button text"
|
738 |
msgid "Cancel"
|
739 |
msgstr "Cancelar"
|
740 |
|
741 |
+
#: includes/class-yit-assets.php:148 yit-functions.php:2009
|
742 |
msgctxt "Trash confirmation action"
|
743 |
msgid "Yes, move to trash"
|
744 |
msgstr "Sí, mover a la papelera"
|
745 |
|
746 |
+
#: includes/class-yit-assets.php:152 yit-functions.php:2027
|
747 |
#: yit-functions.php:2154
|
748 |
msgctxt "Delete confirmation action"
|
749 |
msgid "Yes, delete"
|
975 |
msgstr "Lee la documentación"
|
976 |
|
977 |
#: templates/panel/help-tab.php:220
|
978 |
+
#, fuzzy
|
979 |
msgctxt "Help tab documentation"
|
980 |
+
msgid "to learn how it works from the basics."
|
981 |
+
msgstr "para aprender cómo funciona el plugin desde lo más básico."
|
982 |
|
983 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
984 |
#, fuzzy
|
993 |
|
994 |
#: templates/panel/help-tab.php:238
|
995 |
msgctxt "Help tab support"
|
996 |
+
msgid ""
|
997 |
+
"Call or chat 24/7 with our support agents, or let our experts build your "
|
998 |
+
"site."
|
999 |
msgstr ""
|
1000 |
|
1001 |
#: templates/panel/help-tab.php:241
|
1020 |
msgstr "Imágenes de la versión premium"
|
1021 |
|
1022 |
#. translators: alt attribute of main image tag.
|
1023 |
+
#: templates/panel/premium-tab.php:51 templates/panel/premium-tab.php:58
|
1024 |
msgctxt "Premium Tab"
|
1025 |
msgid "And so much more!"
|
1026 |
msgstr "¡Y mucho más!"
|
1027 |
|
1028 |
#: templates/panel/premium-tab.php:53
|
1029 |
+
#, fuzzy
|
1030 |
+
msgctxt "Premium Tab"
|
1031 |
+
msgid "Check the premium features >"
|
1032 |
+
msgstr "Comprueba las características gratuitas frente a las premium >"
|
1033 |
+
|
1034 |
+
#: templates/panel/premium-tab.php:60
|
1035 |
msgctxt "Premium Tab"
|
1036 |
msgid "Check the free vs premium features >"
|
1037 |
msgstr "Comprueba las características gratuitas frente a las premium >"
|
1038 |
|
1039 |
+
#: templates/panel/premium-tab.php:65
|
1040 |
msgctxt "Premium Tab"
|
1041 |
msgid "Get the premium version"
|
1042 |
msgstr "Obtén la versión Premium"
|
1096 |
msgid "Delete"
|
1097 |
msgstr "Borrar"
|
1098 |
|
1099 |
+
#: yit-plugin.php:85
|
1100 |
msgctxt "Plugin Row Meta"
|
1101 |
msgid "Live Demo"
|
1102 |
msgstr "Demostración en vivo"
|
1103 |
|
1104 |
+
#: yit-plugin.php:89
|
1105 |
msgctxt "Plugin Row Meta"
|
1106 |
msgid "Documentation"
|
1107 |
msgstr "Documentación"
|
1108 |
|
1109 |
+
#: yit-plugin.php:93
|
1110 |
msgctxt "Plugin Row Meta"
|
1111 |
msgid "Support"
|
1112 |
msgstr "Soporte"
|
1113 |
|
1114 |
+
#: yit-plugin.php:97
|
1115 |
msgctxt "Plugin Row Meta"
|
1116 |
msgid "Premium version"
|
1117 |
msgstr "Versión premium"
|
1118 |
|
1119 |
+
#: yit-plugin.php:229
|
1120 |
msgctxt "Action links"
|
1121 |
msgid "Settings"
|
1122 |
msgstr "Ajustes"
|
plugin-fw/languages/yith-plugin-fw-it_IT.mo
CHANGED
Binary file
|
plugin-fw/languages/yith-plugin-fw-it_IT.po
CHANGED
@@ -4,7 +4,7 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Framework\n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
-
"POT-Creation-Date: 2022-
|
8 |
"PO-Revision-Date: 2022-07-06 07:17:32+0000\n"
|
9 |
"Language: it\n"
|
10 |
"MIME-Version: 1.0\n"
|
@@ -13,30 +13,30 @@ msgstr ""
|
|
13 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
"X-Generator: GlotPress/3.0.0-alpha.2\n"
|
15 |
|
16 |
-
#: includes/class-yit-assets.php:
|
17 |
msgid "Confirm trash"
|
18 |
msgstr "Conferma eliminazione"
|
19 |
|
20 |
-
#: includes/class-yit-assets.php:
|
21 |
msgid "Are you sure you want to trash the selected items?"
|
22 |
msgstr "Se sicuro di voler spostare nel cestino gli elementi selezionati?"
|
23 |
|
24 |
-
#: includes/class-yit-assets.php:
|
25 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
26 |
#: yit-functions.php:2008 yit-functions.php:2026
|
27 |
msgid "No"
|
28 |
msgstr "No"
|
29 |
|
30 |
-
#: includes/class-yit-assets.php:
|
31 |
#: yit-functions.php:2152
|
32 |
msgid "Confirm delete"
|
33 |
msgstr "Conferma eliminazione"
|
34 |
|
35 |
-
#: includes/class-yit-assets.php:
|
36 |
msgid "Are you sure you want to delete the selected items?"
|
37 |
msgstr "Se sicuro di voler eliminare gli elementi selezionati?"
|
38 |
|
39 |
-
#: includes/class-yit-assets.php:
|
40 |
#: yit-functions.php:2100
|
41 |
msgid ""
|
42 |
"This action cannot be undone and you will not be able to recover this data."
|
@@ -44,27 +44,27 @@ msgstr ""
|
|
44 |
"Quest'azione non può essere annullata e non sarà possibile recuperare questi "
|
45 |
"dati."
|
46 |
|
47 |
-
#: includes/class-yit-assets.php:
|
48 |
msgid "Clear"
|
49 |
msgstr "Rimuovi"
|
50 |
|
51 |
-
#: includes/class-yit-assets.php:
|
52 |
msgid "Clear color"
|
53 |
msgstr "Rimuovi colore"
|
54 |
|
55 |
-
#: includes/class-yit-assets.php:
|
56 |
msgid "Default"
|
57 |
msgstr "Predefinito"
|
58 |
|
59 |
-
#: includes/class-yit-assets.php:
|
60 |
msgid "Select default color"
|
61 |
msgstr "Seleziona il colore predefinito"
|
62 |
|
63 |
-
#: includes/class-yit-assets.php:
|
64 |
msgid "Select Color"
|
65 |
msgstr "Seleziona il colore"
|
66 |
|
67 |
-
#: includes/class-yit-assets.php:
|
68 |
msgid "Color value"
|
69 |
msgstr "Valore del colore"
|
70 |
|
@@ -114,61 +114,61 @@ msgstr "Sei sicuro?"
|
|
114 |
msgid "Reset to default"
|
115 |
msgstr "Ripristina configurazione predefinita"
|
116 |
|
117 |
-
#: includes/class-yit-plugin-panel.php:
|
118 |
msgid ""
|
119 |
"The element you have entered already exists. Please, enter another name."
|
120 |
msgstr "L'elemento inserito esiste già. Per favore, inserisci un altro nome."
|
121 |
|
122 |
-
#: includes/class-yit-plugin-panel.php:
|
123 |
msgid "Settings saved"
|
124 |
msgstr "Impostazioni salvate"
|
125 |
|
126 |
-
#: includes/class-yit-plugin-panel.php:
|
127 |
msgid "Settings reset"
|
128 |
msgstr "Impostazioni azzerate"
|
129 |
|
130 |
-
#: includes/class-yit-plugin-panel.php:
|
131 |
msgid "Element deleted correctly."
|
132 |
msgstr "Elemento rimosso correttamente."
|
133 |
|
134 |
-
#: includes/class-yit-plugin-panel.php:
|
135 |
-
#: includes/class-yit-plugin-panel.php:
|
136 |
msgid "Element updated correctly."
|
137 |
msgstr "Elemento aggiornato correttamente."
|
138 |
|
139 |
-
#: includes/class-yit-plugin-panel.php:
|
140 |
msgid "Database imported correctly."
|
141 |
msgstr "Database importato correttamente."
|
142 |
|
143 |
-
#: includes/class-yit-plugin-panel.php:
|
144 |
msgid "An error has occurred during import. Please try again."
|
145 |
msgstr "Si è verificato un errore durante l'importazione. Prova di nuovo."
|
146 |
|
147 |
-
#: includes/class-yit-plugin-panel.php:
|
148 |
msgid "The added file is not valid."
|
149 |
msgstr "Il file aggiunto non è valido."
|
150 |
|
151 |
-
#: includes/class-yit-plugin-panel.php:
|
152 |
msgid "Sorry, import is disabled."
|
153 |
msgstr "Ci dispiace, l'importazione è disabilitata."
|
154 |
|
155 |
-
#: includes/class-yit-plugin-panel.php:
|
156 |
msgid "Sorting successful."
|
157 |
msgstr "Ordinamento effettuato con successo."
|
158 |
|
159 |
-
#: includes/class-yit-plugin-panel.php:
|
160 |
msgid "We need your support"
|
161 |
msgstr "Abbiamo bisogno del tuo sostegno"
|
162 |
|
163 |
-
#: includes/class-yit-plugin-panel.php:
|
164 |
msgid "to keep updating and improving the plugin. Please,"
|
165 |
msgstr "per poter continuare ad aggiornare e migliorare il plugin."
|
166 |
|
167 |
-
#: includes/class-yit-plugin-panel.php:
|
168 |
msgid "help us by leaving a good review"
|
169 |
msgstr "Puoi darci una mano lasciando una recensione positiva"
|
170 |
|
171 |
-
#: includes/class-yit-plugin-panel.php:
|
172 |
msgid ":) Thanks!"
|
173 |
msgstr ":) Grazie!"
|
174 |
|
@@ -208,6 +208,10 @@ msgstr ""
|
|
208 |
"(come per YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) "
|
209 |
"saranno spostate dalla posizione precedente al menù YITH."
|
210 |
|
|
|
|
|
|
|
|
|
211 |
#: includes/class-yith-dashboard.php:35
|
212 |
msgid "YITH Latest Updates"
|
213 |
msgstr "Ultimi aggiornamenti da YITH"
|
@@ -408,6 +412,10 @@ msgstr ""
|
|
408 |
"Non ci è stato possibile determinare quale versione di %1$s è installata a "
|
409 |
"causa di un problema di connessione fra il tuo sito e il nostro server."
|
410 |
|
|
|
|
|
|
|
|
|
411 |
#: templates/fields/ajax-customers.php:41
|
412 |
msgid "Search for a customer..."
|
413 |
msgstr "Cerca un cliente..."
|
@@ -686,12 +694,12 @@ msgstr "Sei sicuro di voler eliminare \"%s\"?"
|
|
686 |
msgid "Further actions"
|
687 |
msgstr "Altre azioni"
|
688 |
|
689 |
-
#: yit-plugin.php:
|
690 |
msgid "License"
|
691 |
msgstr "Chiave di licenza"
|
692 |
|
693 |
#. translators: 1. Plugin(s) name(s).
|
694 |
-
#: yit-plugin.php:
|
695 |
msgid ""
|
696 |
"%s was deactivated as you're running an higher tier version of the same "
|
697 |
"plugin."
|
@@ -720,22 +728,22 @@ msgctxt "[gutenberg]: Category Name"
|
|
720 |
msgid "YITH"
|
721 |
msgstr "YITH"
|
722 |
|
723 |
-
#: includes/class-yit-assets.php:
|
724 |
msgctxt "Button text"
|
725 |
msgid "Confirm"
|
726 |
msgstr "Conferma"
|
727 |
|
728 |
-
#: includes/class-yit-assets.php:
|
729 |
msgctxt "Button text"
|
730 |
msgid "Cancel"
|
731 |
msgstr "Annulla"
|
732 |
|
733 |
-
#: includes/class-yit-assets.php:
|
734 |
msgctxt "Trash confirmation action"
|
735 |
msgid "Yes, move to trash"
|
736 |
msgstr "Sì, sposta nel cestino"
|
737 |
|
738 |
-
#: includes/class-yit-assets.php:
|
739 |
#: yit-functions.php:2154
|
740 |
msgctxt "Delete confirmation action"
|
741 |
msgid "Yes, delete"
|
@@ -968,9 +976,10 @@ msgid "Read the plugin documentation"
|
|
968 |
msgstr "Consulta la documentazione"
|
969 |
|
970 |
#: templates/panel/help-tab.php:220
|
|
|
971 |
msgctxt "Help tab documentation"
|
972 |
-
msgid "to learn
|
973 |
-
msgstr ""
|
974 |
|
975 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
976 |
#, fuzzy
|
@@ -985,7 +994,9 @@ msgstr ""
|
|
985 |
|
986 |
#: templates/panel/help-tab.php:238
|
987 |
msgctxt "Help tab support"
|
988 |
-
msgid "
|
|
|
|
|
989 |
msgstr ""
|
990 |
|
991 |
#: templates/panel/help-tab.php:241
|
@@ -1010,17 +1021,23 @@ msgid "Plugin premium features images"
|
|
1010 |
msgstr "Immagini funzionalità premium"
|
1011 |
|
1012 |
#. translators: alt attribute of main image tag.
|
1013 |
-
#: templates/panel/premium-tab.php:51
|
1014 |
msgctxt "Premium Tab"
|
1015 |
msgid "And so much more!"
|
1016 |
msgstr "E molto altro!"
|
1017 |
|
1018 |
#: templates/panel/premium-tab.php:53
|
|
|
|
|
|
|
|
|
|
|
|
|
1019 |
msgctxt "Premium Tab"
|
1020 |
msgid "Check the free vs premium features >"
|
1021 |
msgstr "Confronta le funzionalità gratuite e premium >"
|
1022 |
|
1023 |
-
#: templates/panel/premium-tab.php:
|
1024 |
msgctxt "Premium Tab"
|
1025 |
msgid "Get the premium version"
|
1026 |
msgstr "Ottieni la versione premium"
|
@@ -1080,27 +1097,27 @@ msgctxt "Term action"
|
|
1080 |
msgid "Delete"
|
1081 |
msgstr "Elimina"
|
1082 |
|
1083 |
-
#: yit-plugin.php:
|
1084 |
msgctxt "Plugin Row Meta"
|
1085 |
msgid "Live Demo"
|
1086 |
msgstr "Live Demo"
|
1087 |
|
1088 |
-
#: yit-plugin.php:
|
1089 |
msgctxt "Plugin Row Meta"
|
1090 |
msgid "Documentation"
|
1091 |
msgstr "Documentazione"
|
1092 |
|
1093 |
-
#: yit-plugin.php:
|
1094 |
msgctxt "Plugin Row Meta"
|
1095 |
msgid "Support"
|
1096 |
msgstr "Assistenza"
|
1097 |
|
1098 |
-
#: yit-plugin.php:
|
1099 |
msgctxt "Plugin Row Meta"
|
1100 |
msgid "Premium version"
|
1101 |
msgstr "Versione premium"
|
1102 |
|
1103 |
-
#: yit-plugin.php:
|
1104 |
msgctxt "Action links"
|
1105 |
msgid "Settings"
|
1106 |
msgstr "Impostazioni"
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Framework\n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
+
"POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
|
8 |
"PO-Revision-Date: 2022-07-06 07:17:32+0000\n"
|
9 |
"Language: it\n"
|
10 |
"MIME-Version: 1.0\n"
|
13 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
"X-Generator: GlotPress/3.0.0-alpha.2\n"
|
15 |
|
16 |
+
#: includes/class-yit-assets.php:146 yit-functions.php:2006
|
17 |
msgid "Confirm trash"
|
18 |
msgstr "Conferma eliminazione"
|
19 |
|
20 |
+
#: includes/class-yit-assets.php:147
|
21 |
msgid "Are you sure you want to trash the selected items?"
|
22 |
msgstr "Se sicuro di voler spostare nel cestino gli elementi selezionati?"
|
23 |
|
24 |
+
#: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
|
25 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
26 |
#: yit-functions.php:2008 yit-functions.php:2026
|
27 |
msgid "No"
|
28 |
msgstr "No"
|
29 |
|
30 |
+
#: includes/class-yit-assets.php:150 yit-functions.php:2024
|
31 |
#: yit-functions.php:2152
|
32 |
msgid "Confirm delete"
|
33 |
msgstr "Conferma eliminazione"
|
34 |
|
35 |
+
#: includes/class-yit-assets.php:151
|
36 |
msgid "Are you sure you want to delete the selected items?"
|
37 |
msgstr "Se sicuro di voler eliminare gli elementi selezionati?"
|
38 |
|
39 |
+
#: includes/class-yit-assets.php:151 yit-functions.php:1940
|
40 |
#: yit-functions.php:2100
|
41 |
msgid ""
|
42 |
"This action cannot be undone and you will not be able to recover this data."
|
44 |
"Quest'azione non può essere annullata e non sarà possibile recuperare questi "
|
45 |
"dati."
|
46 |
|
47 |
+
#: includes/class-yit-assets.php:172
|
48 |
msgid "Clear"
|
49 |
msgstr "Rimuovi"
|
50 |
|
51 |
+
#: includes/class-yit-assets.php:173
|
52 |
msgid "Clear color"
|
53 |
msgstr "Rimuovi colore"
|
54 |
|
55 |
+
#: includes/class-yit-assets.php:174
|
56 |
msgid "Default"
|
57 |
msgstr "Predefinito"
|
58 |
|
59 |
+
#: includes/class-yit-assets.php:175
|
60 |
msgid "Select default color"
|
61 |
msgstr "Seleziona il colore predefinito"
|
62 |
|
63 |
+
#: includes/class-yit-assets.php:176
|
64 |
msgid "Select Color"
|
65 |
msgstr "Seleziona il colore"
|
66 |
|
67 |
+
#: includes/class-yit-assets.php:177
|
68 |
msgid "Color value"
|
69 |
msgstr "Valore del colore"
|
70 |
|
114 |
msgid "Reset to default"
|
115 |
msgstr "Ripristina configurazione predefinita"
|
116 |
|
117 |
+
#: includes/class-yit-plugin-panel.php:1074
|
118 |
msgid ""
|
119 |
"The element you have entered already exists. Please, enter another name."
|
120 |
msgstr "L'elemento inserito esiste già. Per favore, inserisci un altro nome."
|
121 |
|
122 |
+
#: includes/class-yit-plugin-panel.php:1075
|
123 |
msgid "Settings saved"
|
124 |
msgstr "Impostazioni salvate"
|
125 |
|
126 |
+
#: includes/class-yit-plugin-panel.php:1076
|
127 |
msgid "Settings reset"
|
128 |
msgstr "Impostazioni azzerate"
|
129 |
|
130 |
+
#: includes/class-yit-plugin-panel.php:1077
|
131 |
msgid "Element deleted correctly."
|
132 |
msgstr "Elemento rimosso correttamente."
|
133 |
|
134 |
+
#: includes/class-yit-plugin-panel.php:1078
|
135 |
+
#: includes/class-yit-plugin-panel.php:1079
|
136 |
msgid "Element updated correctly."
|
137 |
msgstr "Elemento aggiornato correttamente."
|
138 |
|
139 |
+
#: includes/class-yit-plugin-panel.php:1080
|
140 |
msgid "Database imported correctly."
|
141 |
msgstr "Database importato correttamente."
|
142 |
|
143 |
+
#: includes/class-yit-plugin-panel.php:1081
|
144 |
msgid "An error has occurred during import. Please try again."
|
145 |
msgstr "Si è verificato un errore durante l'importazione. Prova di nuovo."
|
146 |
|
147 |
+
#: includes/class-yit-plugin-panel.php:1082
|
148 |
msgid "The added file is not valid."
|
149 |
msgstr "Il file aggiunto non è valido."
|
150 |
|
151 |
+
#: includes/class-yit-plugin-panel.php:1083
|
152 |
msgid "Sorry, import is disabled."
|
153 |
msgstr "Ci dispiace, l'importazione è disabilitata."
|
154 |
|
155 |
+
#: includes/class-yit-plugin-panel.php:1084
|
156 |
msgid "Sorting successful."
|
157 |
msgstr "Ordinamento effettuato con successo."
|
158 |
|
159 |
+
#: includes/class-yit-plugin-panel.php:1573
|
160 |
msgid "We need your support"
|
161 |
msgstr "Abbiamo bisogno del tuo sostegno"
|
162 |
|
163 |
+
#: includes/class-yit-plugin-panel.php:1574
|
164 |
msgid "to keep updating and improving the plugin. Please,"
|
165 |
msgstr "per poter continuare ad aggiornare e migliorare il plugin."
|
166 |
|
167 |
+
#: includes/class-yit-plugin-panel.php:1576
|
168 |
msgid "help us by leaving a good review"
|
169 |
msgstr "Puoi darci una mano lasciando una recensione positiva"
|
170 |
|
171 |
+
#: includes/class-yit-plugin-panel.php:1577
|
172 |
msgid ":) Thanks!"
|
173 |
msgstr ":) Grazie!"
|
174 |
|
208 |
"(come per YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, etc.) "
|
209 |
"saranno spostate dalla posizione precedente al menù YITH."
|
210 |
|
211 |
+
#: includes/class-yith-bh-onboarding.php:85
|
212 |
+
msgid "It is not possible save the options"
|
213 |
+
msgstr ""
|
214 |
+
|
215 |
#: includes/class-yith-dashboard.php:35
|
216 |
msgid "YITH Latest Updates"
|
217 |
msgstr "Ultimi aggiornamenti da YITH"
|
412 |
"Non ci è stato possibile determinare quale versione di %1$s è installata a "
|
413 |
"causa di un problema di connessione fra il tuo sito e il nostro server."
|
414 |
|
415 |
+
#: templates/bh-onboarding/onboarding-tabs.php:63
|
416 |
+
msgid "Save"
|
417 |
+
msgstr ""
|
418 |
+
|
419 |
#: templates/fields/ajax-customers.php:41
|
420 |
msgid "Search for a customer..."
|
421 |
msgstr "Cerca un cliente..."
|
694 |
msgid "Further actions"
|
695 |
msgstr "Altre azioni"
|
696 |
|
697 |
+
#: yit-plugin.php:233
|
698 |
msgid "License"
|
699 |
msgstr "Chiave di licenza"
|
700 |
|
701 |
#. translators: 1. Plugin(s) name(s).
|
702 |
+
#: yit-plugin.php:272
|
703 |
msgid ""
|
704 |
"%s was deactivated as you're running an higher tier version of the same "
|
705 |
"plugin."
|
728 |
msgid "YITH"
|
729 |
msgstr "YITH"
|
730 |
|
731 |
+
#: includes/class-yit-assets.php:134
|
732 |
msgctxt "Button text"
|
733 |
msgid "Confirm"
|
734 |
msgstr "Conferma"
|
735 |
|
736 |
+
#: includes/class-yit-assets.php:135
|
737 |
msgctxt "Button text"
|
738 |
msgid "Cancel"
|
739 |
msgstr "Annulla"
|
740 |
|
741 |
+
#: includes/class-yit-assets.php:148 yit-functions.php:2009
|
742 |
msgctxt "Trash confirmation action"
|
743 |
msgid "Yes, move to trash"
|
744 |
msgstr "Sì, sposta nel cestino"
|
745 |
|
746 |
+
#: includes/class-yit-assets.php:152 yit-functions.php:2027
|
747 |
#: yit-functions.php:2154
|
748 |
msgctxt "Delete confirmation action"
|
749 |
msgid "Yes, delete"
|
976 |
msgstr "Consulta la documentazione"
|
977 |
|
978 |
#: templates/panel/help-tab.php:220
|
979 |
+
#, fuzzy
|
980 |
msgctxt "Help tab documentation"
|
981 |
+
msgid "to learn how it works from the basics."
|
982 |
+
msgstr "per scoprire dalle basi come funziona il plugin."
|
983 |
|
984 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
985 |
#, fuzzy
|
994 |
|
995 |
#: templates/panel/help-tab.php:238
|
996 |
msgctxt "Help tab support"
|
997 |
+
msgid ""
|
998 |
+
"Call or chat 24/7 with our support agents, or let our experts build your "
|
999 |
+
"site."
|
1000 |
msgstr ""
|
1001 |
|
1002 |
#: templates/panel/help-tab.php:241
|
1021 |
msgstr "Immagini funzionalità premium"
|
1022 |
|
1023 |
#. translators: alt attribute of main image tag.
|
1024 |
+
#: templates/panel/premium-tab.php:51 templates/panel/premium-tab.php:58
|
1025 |
msgctxt "Premium Tab"
|
1026 |
msgid "And so much more!"
|
1027 |
msgstr "E molto altro!"
|
1028 |
|
1029 |
#: templates/panel/premium-tab.php:53
|
1030 |
+
#, fuzzy
|
1031 |
+
msgctxt "Premium Tab"
|
1032 |
+
msgid "Check the premium features >"
|
1033 |
+
msgstr "Confronta le funzionalità gratuite e premium >"
|
1034 |
+
|
1035 |
+
#: templates/panel/premium-tab.php:60
|
1036 |
msgctxt "Premium Tab"
|
1037 |
msgid "Check the free vs premium features >"
|
1038 |
msgstr "Confronta le funzionalità gratuite e premium >"
|
1039 |
|
1040 |
+
#: templates/panel/premium-tab.php:65
|
1041 |
msgctxt "Premium Tab"
|
1042 |
msgid "Get the premium version"
|
1043 |
msgstr "Ottieni la versione premium"
|
1097 |
msgid "Delete"
|
1098 |
msgstr "Elimina"
|
1099 |
|
1100 |
+
#: yit-plugin.php:85
|
1101 |
msgctxt "Plugin Row Meta"
|
1102 |
msgid "Live Demo"
|
1103 |
msgstr "Live Demo"
|
1104 |
|
1105 |
+
#: yit-plugin.php:89
|
1106 |
msgctxt "Plugin Row Meta"
|
1107 |
msgid "Documentation"
|
1108 |
msgstr "Documentazione"
|
1109 |
|
1110 |
+
#: yit-plugin.php:93
|
1111 |
msgctxt "Plugin Row Meta"
|
1112 |
msgid "Support"
|
1113 |
msgstr "Assistenza"
|
1114 |
|
1115 |
+
#: yit-plugin.php:97
|
1116 |
msgctxt "Plugin Row Meta"
|
1117 |
msgid "Premium version"
|
1118 |
msgstr "Versione premium"
|
1119 |
|
1120 |
+
#: yit-plugin.php:229
|
1121 |
msgctxt "Action links"
|
1122 |
msgid "Settings"
|
1123 |
msgstr "Impostazioni"
|
plugin-fw/languages/yith-plugin-fw-nl_NL.mo
CHANGED
Binary file
|
plugin-fw/languages/yith-plugin-fw-nl_NL.po
CHANGED
@@ -4,7 +4,7 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Framework\n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
-
"POT-Creation-Date: 2022-
|
8 |
"PO-Revision-Date: 2021-12-13 12:45:02+0000\n"
|
9 |
"Language: nl\n"
|
10 |
"MIME-Version: 1.0\n"
|
@@ -13,32 +13,32 @@ msgstr ""
|
|
13 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
"X-Generator: GlotPress/3.0.0-alpha.2\n"
|
15 |
|
16 |
-
#: includes/class-yit-assets.php:
|
17 |
msgid "Confirm trash"
|
18 |
msgstr "Verplaatsen naar prullenbak bevestigen"
|
19 |
|
20 |
-
#: includes/class-yit-assets.php:
|
21 |
msgid "Are you sure you want to trash the selected items?"
|
22 |
msgstr ""
|
23 |
"Weet je zeker dat je het geselecteerde item naar de prullenbak wilt "
|
24 |
"verplaatsen?"
|
25 |
|
26 |
-
#: includes/class-yit-assets.php:
|
27 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
28 |
#: yit-functions.php:2008 yit-functions.php:2026
|
29 |
msgid "No"
|
30 |
msgstr "Nee"
|
31 |
|
32 |
-
#: includes/class-yit-assets.php:
|
33 |
#: yit-functions.php:2152
|
34 |
msgid "Confirm delete"
|
35 |
msgstr "Verwijderen bevestigen"
|
36 |
|
37 |
-
#: includes/class-yit-assets.php:
|
38 |
msgid "Are you sure you want to delete the selected items?"
|
39 |
msgstr "Weet je zeker dat je de geselecteerde items wilt verwijderen?"
|
40 |
|
41 |
-
#: includes/class-yit-assets.php:
|
42 |
#: yit-functions.php:2100
|
43 |
msgid ""
|
44 |
"This action cannot be undone and you will not be able to recover this data."
|
@@ -46,27 +46,27 @@ msgstr ""
|
|
46 |
"Deze actie kan niet ongedaan gemaakt worden en je zult deze gegevens niet "
|
47 |
"kunnen herstellen."
|
48 |
|
49 |
-
#: includes/class-yit-assets.php:
|
50 |
msgid "Clear"
|
51 |
msgstr "Wissen"
|
52 |
|
53 |
-
#: includes/class-yit-assets.php:
|
54 |
msgid "Clear color"
|
55 |
msgstr "Kleur wissen"
|
56 |
|
57 |
-
#: includes/class-yit-assets.php:
|
58 |
msgid "Default"
|
59 |
msgstr "Standaard"
|
60 |
|
61 |
-
#: includes/class-yit-assets.php:
|
62 |
msgid "Select default color"
|
63 |
msgstr "Standaardkleur selecteren"
|
64 |
|
65 |
-
#: includes/class-yit-assets.php:
|
66 |
msgid "Select Color"
|
67 |
msgstr "Kleur selecteren"
|
68 |
|
69 |
-
#: includes/class-yit-assets.php:
|
70 |
msgid "Color value"
|
71 |
msgstr "Kleurwaarde"
|
72 |
|
@@ -116,61 +116,61 @@ msgstr "Weet je het zeker?"
|
|
116 |
msgid "Reset to default"
|
117 |
msgstr "Resetten naar standaard"
|
118 |
|
119 |
-
#: includes/class-yit-plugin-panel.php:
|
120 |
msgid ""
|
121 |
"The element you have entered already exists. Please, enter another name."
|
122 |
msgstr "Het element dat je hebt ingevoerd bestaat al. Voer een andere naam in."
|
123 |
|
124 |
-
#: includes/class-yit-plugin-panel.php:
|
125 |
msgid "Settings saved"
|
126 |
msgstr "Instellingen opgeslagen"
|
127 |
|
128 |
-
#: includes/class-yit-plugin-panel.php:
|
129 |
msgid "Settings reset"
|
130 |
msgstr "Instellingen resetten"
|
131 |
|
132 |
-
#: includes/class-yit-plugin-panel.php:
|
133 |
msgid "Element deleted correctly."
|
134 |
msgstr "Element juist verwijderd."
|
135 |
|
136 |
-
#: includes/class-yit-plugin-panel.php:
|
137 |
-
#: includes/class-yit-plugin-panel.php:
|
138 |
msgid "Element updated correctly."
|
139 |
msgstr "Element juist geüpdatet."
|
140 |
|
141 |
-
#: includes/class-yit-plugin-panel.php:
|
142 |
msgid "Database imported correctly."
|
143 |
msgstr "Database juist geïmporteerd."
|
144 |
|
145 |
-
#: includes/class-yit-plugin-panel.php:
|
146 |
msgid "An error has occurred during import. Please try again."
|
147 |
msgstr "Er is een fout opgetreden tijdens importeren. Probeer opnieuw."
|
148 |
|
149 |
-
#: includes/class-yit-plugin-panel.php:
|
150 |
msgid "The added file is not valid."
|
151 |
msgstr "Het toegevoegde bestand is niet geldig."
|
152 |
|
153 |
-
#: includes/class-yit-plugin-panel.php:
|
154 |
msgid "Sorry, import is disabled."
|
155 |
msgstr "Sorry, importeren is uitgeschakeld."
|
156 |
|
157 |
-
#: includes/class-yit-plugin-panel.php:
|
158 |
msgid "Sorting successful."
|
159 |
msgstr "Succesvol gesorteerd."
|
160 |
|
161 |
-
#: includes/class-yit-plugin-panel.php:
|
162 |
msgid "We need your support"
|
163 |
msgstr "We hebben je hulp nodig"
|
164 |
|
165 |
-
#: includes/class-yit-plugin-panel.php:
|
166 |
msgid "to keep updating and improving the plugin. Please,"
|
167 |
msgstr "om de plugin te blijven bijwerken en verbeteren. A.u.b.,"
|
168 |
|
169 |
-
#: includes/class-yit-plugin-panel.php:
|
170 |
msgid "help us by leaving a good review"
|
171 |
msgstr "help ons door een goede beoordeling achter te laten"
|
172 |
|
173 |
-
#: includes/class-yit-plugin-panel.php:
|
174 |
msgid ":) Thanks!"
|
175 |
msgstr ":) Bedankt!"
|
176 |
|
@@ -210,6 +210,10 @@ msgstr ""
|
|
210 |
"(zoals voor YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, enz.) "
|
211 |
"verplaatst van de vorige locatie naar het YITH menu."
|
212 |
|
|
|
|
|
|
|
|
|
213 |
#: includes/class-yith-dashboard.php:35
|
214 |
msgid "YITH Latest Updates"
|
215 |
msgstr "YITH laatste updates"
|
@@ -409,6 +413,10 @@ msgstr ""
|
|
409 |
"De systeemcontrole kan niet bepalen welke versie van %1$s is geïnstalleerd "
|
410 |
"vanwege een verbindingsprobleem tussen je site en onze server."
|
411 |
|
|
|
|
|
|
|
|
|
412 |
#: templates/fields/ajax-customers.php:41
|
413 |
msgid "Search for a customer..."
|
414 |
msgstr ""
|
@@ -686,12 +694,12 @@ msgstr "Weet je zeker dat je \"%s\" wilt verwijderen?"
|
|
686 |
msgid "Further actions"
|
687 |
msgstr "Verdere acties"
|
688 |
|
689 |
-
#: yit-plugin.php:
|
690 |
msgid "License"
|
691 |
msgstr "Licentie"
|
692 |
|
693 |
#. translators: 1. Plugin(s) name(s).
|
694 |
-
#: yit-plugin.php:
|
695 |
msgid ""
|
696 |
"%s was deactivated as you're running an higher tier version of the same "
|
697 |
"plugin."
|
@@ -716,22 +724,22 @@ msgctxt "[gutenberg]: Category Name"
|
|
716 |
msgid "YITH"
|
717 |
msgstr "YITH"
|
718 |
|
719 |
-
#: includes/class-yit-assets.php:
|
720 |
msgctxt "Button text"
|
721 |
msgid "Confirm"
|
722 |
msgstr "Bevestigen"
|
723 |
|
724 |
-
#: includes/class-yit-assets.php:
|
725 |
msgctxt "Button text"
|
726 |
msgid "Cancel"
|
727 |
msgstr "Annuleren"
|
728 |
|
729 |
-
#: includes/class-yit-assets.php:
|
730 |
msgctxt "Trash confirmation action"
|
731 |
msgid "Yes, move to trash"
|
732 |
msgstr "Ja, verplaatsen naar prullenbak"
|
733 |
|
734 |
-
#: includes/class-yit-assets.php:
|
735 |
#: yit-functions.php:2154
|
736 |
msgctxt "Delete confirmation action"
|
737 |
msgid "Yes, delete"
|
@@ -959,7 +967,7 @@ msgstr "Lees de documentatie"
|
|
959 |
|
960 |
#: templates/panel/help-tab.php:220
|
961 |
msgctxt "Help tab documentation"
|
962 |
-
msgid "to learn
|
963 |
msgstr ""
|
964 |
|
965 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
@@ -975,7 +983,9 @@ msgstr ""
|
|
975 |
|
976 |
#: templates/panel/help-tab.php:238
|
977 |
msgctxt "Help tab support"
|
978 |
-
msgid "
|
|
|
|
|
979 |
msgstr ""
|
980 |
|
981 |
#: templates/panel/help-tab.php:241
|
@@ -1000,17 +1010,23 @@ msgid "Plugin premium features images"
|
|
1000 |
msgstr "Plugin premium opties afbeeldingen"
|
1001 |
|
1002 |
#. translators: alt attribute of main image tag.
|
1003 |
-
#: templates/panel/premium-tab.php:51
|
1004 |
msgctxt "Premium Tab"
|
1005 |
msgid "And so much more!"
|
1006 |
msgstr "En zo veel meer!"
|
1007 |
|
1008 |
#: templates/panel/premium-tab.php:53
|
|
|
|
|
|
|
|
|
|
|
|
|
1009 |
msgctxt "Premium Tab"
|
1010 |
msgid "Check the free vs premium features >"
|
1011 |
msgstr "Bekijk de gratis vs premium opties >"
|
1012 |
|
1013 |
-
#: templates/panel/premium-tab.php:
|
1014 |
msgctxt "Premium Tab"
|
1015 |
msgid "Get the premium version"
|
1016 |
msgstr "Krijg de premium versie"
|
@@ -1070,27 +1086,27 @@ msgctxt "Term action"
|
|
1070 |
msgid "Delete"
|
1071 |
msgstr "Verwijderen"
|
1072 |
|
1073 |
-
#: yit-plugin.php:
|
1074 |
msgctxt "Plugin Row Meta"
|
1075 |
msgid "Live Demo"
|
1076 |
msgstr "Live Demo"
|
1077 |
|
1078 |
-
#: yit-plugin.php:
|
1079 |
msgctxt "Plugin Row Meta"
|
1080 |
msgid "Documentation"
|
1081 |
msgstr "Documentatie"
|
1082 |
|
1083 |
-
#: yit-plugin.php:
|
1084 |
msgctxt "Plugin Row Meta"
|
1085 |
msgid "Support"
|
1086 |
msgstr "Ondersteuning"
|
1087 |
|
1088 |
-
#: yit-plugin.php:
|
1089 |
msgctxt "Plugin Row Meta"
|
1090 |
msgid "Premium version"
|
1091 |
msgstr "Premium versie"
|
1092 |
|
1093 |
-
#: yit-plugin.php:
|
1094 |
msgctxt "Action links"
|
1095 |
msgid "Settings"
|
1096 |
msgstr "Instellingen"
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Framework\n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
+
"POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
|
8 |
"PO-Revision-Date: 2021-12-13 12:45:02+0000\n"
|
9 |
"Language: nl\n"
|
10 |
"MIME-Version: 1.0\n"
|
13 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
"X-Generator: GlotPress/3.0.0-alpha.2\n"
|
15 |
|
16 |
+
#: includes/class-yit-assets.php:146 yit-functions.php:2006
|
17 |
msgid "Confirm trash"
|
18 |
msgstr "Verplaatsen naar prullenbak bevestigen"
|
19 |
|
20 |
+
#: includes/class-yit-assets.php:147
|
21 |
msgid "Are you sure you want to trash the selected items?"
|
22 |
msgstr ""
|
23 |
"Weet je zeker dat je het geselecteerde item naar de prullenbak wilt "
|
24 |
"verplaatsen?"
|
25 |
|
26 |
+
#: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
|
27 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
28 |
#: yit-functions.php:2008 yit-functions.php:2026
|
29 |
msgid "No"
|
30 |
msgstr "Nee"
|
31 |
|
32 |
+
#: includes/class-yit-assets.php:150 yit-functions.php:2024
|
33 |
#: yit-functions.php:2152
|
34 |
msgid "Confirm delete"
|
35 |
msgstr "Verwijderen bevestigen"
|
36 |
|
37 |
+
#: includes/class-yit-assets.php:151
|
38 |
msgid "Are you sure you want to delete the selected items?"
|
39 |
msgstr "Weet je zeker dat je de geselecteerde items wilt verwijderen?"
|
40 |
|
41 |
+
#: includes/class-yit-assets.php:151 yit-functions.php:1940
|
42 |
#: yit-functions.php:2100
|
43 |
msgid ""
|
44 |
"This action cannot be undone and you will not be able to recover this data."
|
46 |
"Deze actie kan niet ongedaan gemaakt worden en je zult deze gegevens niet "
|
47 |
"kunnen herstellen."
|
48 |
|
49 |
+
#: includes/class-yit-assets.php:172
|
50 |
msgid "Clear"
|
51 |
msgstr "Wissen"
|
52 |
|
53 |
+
#: includes/class-yit-assets.php:173
|
54 |
msgid "Clear color"
|
55 |
msgstr "Kleur wissen"
|
56 |
|
57 |
+
#: includes/class-yit-assets.php:174
|
58 |
msgid "Default"
|
59 |
msgstr "Standaard"
|
60 |
|
61 |
+
#: includes/class-yit-assets.php:175
|
62 |
msgid "Select default color"
|
63 |
msgstr "Standaardkleur selecteren"
|
64 |
|
65 |
+
#: includes/class-yit-assets.php:176
|
66 |
msgid "Select Color"
|
67 |
msgstr "Kleur selecteren"
|
68 |
|
69 |
+
#: includes/class-yit-assets.php:177
|
70 |
msgid "Color value"
|
71 |
msgstr "Kleurwaarde"
|
72 |
|
116 |
msgid "Reset to default"
|
117 |
msgstr "Resetten naar standaard"
|
118 |
|
119 |
+
#: includes/class-yit-plugin-panel.php:1074
|
120 |
msgid ""
|
121 |
"The element you have entered already exists. Please, enter another name."
|
122 |
msgstr "Het element dat je hebt ingevoerd bestaat al. Voer een andere naam in."
|
123 |
|
124 |
+
#: includes/class-yit-plugin-panel.php:1075
|
125 |
msgid "Settings saved"
|
126 |
msgstr "Instellingen opgeslagen"
|
127 |
|
128 |
+
#: includes/class-yit-plugin-panel.php:1076
|
129 |
msgid "Settings reset"
|
130 |
msgstr "Instellingen resetten"
|
131 |
|
132 |
+
#: includes/class-yit-plugin-panel.php:1077
|
133 |
msgid "Element deleted correctly."
|
134 |
msgstr "Element juist verwijderd."
|
135 |
|
136 |
+
#: includes/class-yit-plugin-panel.php:1078
|
137 |
+
#: includes/class-yit-plugin-panel.php:1079
|
138 |
msgid "Element updated correctly."
|
139 |
msgstr "Element juist geüpdatet."
|
140 |
|
141 |
+
#: includes/class-yit-plugin-panel.php:1080
|
142 |
msgid "Database imported correctly."
|
143 |
msgstr "Database juist geïmporteerd."
|
144 |
|
145 |
+
#: includes/class-yit-plugin-panel.php:1081
|
146 |
msgid "An error has occurred during import. Please try again."
|
147 |
msgstr "Er is een fout opgetreden tijdens importeren. Probeer opnieuw."
|
148 |
|
149 |
+
#: includes/class-yit-plugin-panel.php:1082
|
150 |
msgid "The added file is not valid."
|
151 |
msgstr "Het toegevoegde bestand is niet geldig."
|
152 |
|
153 |
+
#: includes/class-yit-plugin-panel.php:1083
|
154 |
msgid "Sorry, import is disabled."
|
155 |
msgstr "Sorry, importeren is uitgeschakeld."
|
156 |
|
157 |
+
#: includes/class-yit-plugin-panel.php:1084
|
158 |
msgid "Sorting successful."
|
159 |
msgstr "Succesvol gesorteerd."
|
160 |
|
161 |
+
#: includes/class-yit-plugin-panel.php:1573
|
162 |
msgid "We need your support"
|
163 |
msgstr "We hebben je hulp nodig"
|
164 |
|
165 |
+
#: includes/class-yit-plugin-panel.php:1574
|
166 |
msgid "to keep updating and improving the plugin. Please,"
|
167 |
msgstr "om de plugin te blijven bijwerken en verbeteren. A.u.b.,"
|
168 |
|
169 |
+
#: includes/class-yit-plugin-panel.php:1576
|
170 |
msgid "help us by leaving a good review"
|
171 |
msgstr "help ons door een goede beoordeling achter te laten"
|
172 |
|
173 |
+
#: includes/class-yit-plugin-panel.php:1577
|
174 |
msgid ":) Thanks!"
|
175 |
msgstr ":) Bedankt!"
|
176 |
|
210 |
"(zoals voor YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search, enz.) "
|
211 |
"verplaatst van de vorige locatie naar het YITH menu."
|
212 |
|
213 |
+
#: includes/class-yith-bh-onboarding.php:85
|
214 |
+
msgid "It is not possible save the options"
|
215 |
+
msgstr ""
|
216 |
+
|
217 |
#: includes/class-yith-dashboard.php:35
|
218 |
msgid "YITH Latest Updates"
|
219 |
msgstr "YITH laatste updates"
|
413 |
"De systeemcontrole kan niet bepalen welke versie van %1$s is geïnstalleerd "
|
414 |
"vanwege een verbindingsprobleem tussen je site en onze server."
|
415 |
|
416 |
+
#: templates/bh-onboarding/onboarding-tabs.php:63
|
417 |
+
msgid "Save"
|
418 |
+
msgstr ""
|
419 |
+
|
420 |
#: templates/fields/ajax-customers.php:41
|
421 |
msgid "Search for a customer..."
|
422 |
msgstr ""
|
694 |
msgid "Further actions"
|
695 |
msgstr "Verdere acties"
|
696 |
|
697 |
+
#: yit-plugin.php:233
|
698 |
msgid "License"
|
699 |
msgstr "Licentie"
|
700 |
|
701 |
#. translators: 1. Plugin(s) name(s).
|
702 |
+
#: yit-plugin.php:272
|
703 |
msgid ""
|
704 |
"%s was deactivated as you're running an higher tier version of the same "
|
705 |
"plugin."
|
724 |
msgid "YITH"
|
725 |
msgstr "YITH"
|
726 |
|
727 |
+
#: includes/class-yit-assets.php:134
|
728 |
msgctxt "Button text"
|
729 |
msgid "Confirm"
|
730 |
msgstr "Bevestigen"
|
731 |
|
732 |
+
#: includes/class-yit-assets.php:135
|
733 |
msgctxt "Button text"
|
734 |
msgid "Cancel"
|
735 |
msgstr "Annuleren"
|
736 |
|
737 |
+
#: includes/class-yit-assets.php:148 yit-functions.php:2009
|
738 |
msgctxt "Trash confirmation action"
|
739 |
msgid "Yes, move to trash"
|
740 |
msgstr "Ja, verplaatsen naar prullenbak"
|
741 |
|
742 |
+
#: includes/class-yit-assets.php:152 yit-functions.php:2027
|
743 |
#: yit-functions.php:2154
|
744 |
msgctxt "Delete confirmation action"
|
745 |
msgid "Yes, delete"
|
967 |
|
968 |
#: templates/panel/help-tab.php:220
|
969 |
msgctxt "Help tab documentation"
|
970 |
+
msgid "to learn how it works from the basics."
|
971 |
msgstr ""
|
972 |
|
973 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
983 |
|
984 |
#: templates/panel/help-tab.php:238
|
985 |
msgctxt "Help tab support"
|
986 |
+
msgid ""
|
987 |
+
"Call or chat 24/7 with our support agents, or let our experts build your "
|
988 |
+
"site."
|
989 |
msgstr ""
|
990 |
|
991 |
#: templates/panel/help-tab.php:241
|
1010 |
msgstr "Plugin premium opties afbeeldingen"
|
1011 |
|
1012 |
#. translators: alt attribute of main image tag.
|
1013 |
+
#: templates/panel/premium-tab.php:51 templates/panel/premium-tab.php:58
|
1014 |
msgctxt "Premium Tab"
|
1015 |
msgid "And so much more!"
|
1016 |
msgstr "En zo veel meer!"
|
1017 |
|
1018 |
#: templates/panel/premium-tab.php:53
|
1019 |
+
#, fuzzy
|
1020 |
+
msgctxt "Premium Tab"
|
1021 |
+
msgid "Check the premium features >"
|
1022 |
+
msgstr "Bekijk de gratis vs premium opties >"
|
1023 |
+
|
1024 |
+
#: templates/panel/premium-tab.php:60
|
1025 |
msgctxt "Premium Tab"
|
1026 |
msgid "Check the free vs premium features >"
|
1027 |
msgstr "Bekijk de gratis vs premium opties >"
|
1028 |
|
1029 |
+
#: templates/panel/premium-tab.php:65
|
1030 |
msgctxt "Premium Tab"
|
1031 |
msgid "Get the premium version"
|
1032 |
msgstr "Krijg de premium versie"
|
1086 |
msgid "Delete"
|
1087 |
msgstr "Verwijderen"
|
1088 |
|
1089 |
+
#: yit-plugin.php:85
|
1090 |
msgctxt "Plugin Row Meta"
|
1091 |
msgid "Live Demo"
|
1092 |
msgstr "Live Demo"
|
1093 |
|
1094 |
+
#: yit-plugin.php:89
|
1095 |
msgctxt "Plugin Row Meta"
|
1096 |
msgid "Documentation"
|
1097 |
msgstr "Documentatie"
|
1098 |
|
1099 |
+
#: yit-plugin.php:93
|
1100 |
msgctxt "Plugin Row Meta"
|
1101 |
msgid "Support"
|
1102 |
msgstr "Ondersteuning"
|
1103 |
|
1104 |
+
#: yit-plugin.php:97
|
1105 |
msgctxt "Plugin Row Meta"
|
1106 |
msgid "Premium version"
|
1107 |
msgstr "Premium versie"
|
1108 |
|
1109 |
+
#: yit-plugin.php:229
|
1110 |
msgctxt "Action links"
|
1111 |
msgid "Settings"
|
1112 |
msgstr "Instellingen"
|
plugin-fw/languages/yith-plugin-fw-ru_RU.mo
CHANGED
Binary file
|
plugin-fw/languages/yith-plugin-fw-ru_RU.po
CHANGED
@@ -4,7 +4,7 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Framework\n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
-
"POT-Creation-Date: 2022-
|
8 |
"PO-Revision-Date: 2022-04-05 17:22:32+0000\n"
|
9 |
"Language: ru\n"
|
10 |
"MIME-Version: 1.0\n"
|
@@ -14,56 +14,56 @@ msgstr ""
|
|
14 |
"10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);\n"
|
15 |
"X-Generator: GlotPress/3.0.0-alpha.2\n"
|
16 |
|
17 |
-
#: includes/class-yit-assets.php:
|
18 |
msgid "Confirm trash"
|
19 |
msgstr "Подтвердить корзину"
|
20 |
|
21 |
-
#: includes/class-yit-assets.php:
|
22 |
msgid "Are you sure you want to trash the selected items?"
|
23 |
msgstr "Вы уверены, что хотите переместить в корзину выбранные элементы?"
|
24 |
|
25 |
-
#: includes/class-yit-assets.php:
|
26 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
27 |
#: yit-functions.php:2008 yit-functions.php:2026
|
28 |
msgid "No"
|
29 |
msgstr "Нет"
|
30 |
|
31 |
-
#: includes/class-yit-assets.php:
|
32 |
#: yit-functions.php:2152
|
33 |
msgid "Confirm delete"
|
34 |
msgstr "Подтвердите удаление"
|
35 |
|
36 |
-
#: includes/class-yit-assets.php:
|
37 |
msgid "Are you sure you want to delete the selected items?"
|
38 |
msgstr "Вы уверены, что хотите удалить выбранные элементы?"
|
39 |
|
40 |
-
#: includes/class-yit-assets.php:
|
41 |
#: yit-functions.php:2100
|
42 |
msgid ""
|
43 |
"This action cannot be undone and you will not be able to recover this data."
|
44 |
msgstr "Это действие нельзя отменить, и вы не сможете восстановить эти данные."
|
45 |
|
46 |
-
#: includes/class-yit-assets.php:
|
47 |
msgid "Clear"
|
48 |
msgstr "Очистить"
|
49 |
|
50 |
-
#: includes/class-yit-assets.php:
|
51 |
msgid "Clear color"
|
52 |
msgstr "Очистить цвет"
|
53 |
|
54 |
-
#: includes/class-yit-assets.php:
|
55 |
msgid "Default"
|
56 |
msgstr "По умолчанию"
|
57 |
|
58 |
-
#: includes/class-yit-assets.php:
|
59 |
msgid "Select default color"
|
60 |
msgstr "Выберите цвет по умолчанию"
|
61 |
|
62 |
-
#: includes/class-yit-assets.php:
|
63 |
msgid "Select Color"
|
64 |
msgstr "Выберите цвет"
|
65 |
|
66 |
-
#: includes/class-yit-assets.php:
|
67 |
msgid "Color value"
|
68 |
msgstr "Цвет значения"
|
69 |
|
@@ -115,61 +115,61 @@ msgstr "Вы уверены?"
|
|
115 |
msgid "Reset to default"
|
116 |
msgstr "Сброс до заводских настроек"
|
117 |
|
118 |
-
#: includes/class-yit-plugin-panel.php:
|
119 |
msgid ""
|
120 |
"The element you have entered already exists. Please, enter another name."
|
121 |
msgstr "Введенный вами элемент уже существует. Пожалуйста, введите другое имя."
|
122 |
|
123 |
-
#: includes/class-yit-plugin-panel.php:
|
124 |
msgid "Settings saved"
|
125 |
msgstr "Настройки сохранены"
|
126 |
|
127 |
-
#: includes/class-yit-plugin-panel.php:
|
128 |
msgid "Settings reset"
|
129 |
msgstr "Сбросить настройки"
|
130 |
|
131 |
-
#: includes/class-yit-plugin-panel.php:
|
132 |
msgid "Element deleted correctly."
|
133 |
msgstr "Элемент удален правильно."
|
134 |
|
135 |
-
#: includes/class-yit-plugin-panel.php:
|
136 |
-
#: includes/class-yit-plugin-panel.php:
|
137 |
msgid "Element updated correctly."
|
138 |
msgstr "Элемент обновлен правильно."
|
139 |
|
140 |
-
#: includes/class-yit-plugin-panel.php:
|
141 |
msgid "Database imported correctly."
|
142 |
msgstr "База данных импортирована правильно."
|
143 |
|
144 |
-
#: includes/class-yit-plugin-panel.php:
|
145 |
msgid "An error has occurred during import. Please try again."
|
146 |
msgstr "Во время импорта произошла ошибка. Пожалуйста, попробуйте еще раз."
|
147 |
|
148 |
-
#: includes/class-yit-plugin-panel.php:
|
149 |
msgid "The added file is not valid."
|
150 |
msgstr "Добавленный файл недействителен."
|
151 |
|
152 |
-
#: includes/class-yit-plugin-panel.php:
|
153 |
msgid "Sorry, import is disabled."
|
154 |
msgstr "Извините, импорт отключен."
|
155 |
|
156 |
-
#: includes/class-yit-plugin-panel.php:
|
157 |
msgid "Sorting successful."
|
158 |
msgstr "Сортировка выполнена успешно."
|
159 |
|
160 |
-
#: includes/class-yit-plugin-panel.php:
|
161 |
msgid "We need your support"
|
162 |
msgstr "Нам нужна ваша поддержка"
|
163 |
|
164 |
-
#: includes/class-yit-plugin-panel.php:
|
165 |
msgid "to keep updating and improving the plugin. Please,"
|
166 |
msgstr "чтобы продолжать обновлять и улучшать плагин. Пожалуйста,"
|
167 |
|
168 |
-
#: includes/class-yit-plugin-panel.php:
|
169 |
msgid "help us by leaving a good review"
|
170 |
msgstr "помогите нам, оставив хороший отзыв"
|
171 |
|
172 |
-
#: includes/class-yit-plugin-panel.php:
|
173 |
msgid ":) Thanks!"
|
174 |
msgstr ":) Благодарим!"
|
175 |
|
@@ -208,6 +208,10 @@ msgstr ""
|
|
208 |
"как для YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search и т.д.) "
|
209 |
"будут перемещены из предыдущего места в меню YITH."
|
210 |
|
|
|
|
|
|
|
|
|
211 |
#: includes/class-yith-dashboard.php:35
|
212 |
msgid "YITH Latest Updates"
|
213 |
msgstr "Последние обновления YITH"
|
@@ -408,6 +412,10 @@ msgstr ""
|
|
408 |
"Системная проверка не может определить, какая версия %1$s установлена, из-за "
|
409 |
"проблемы с соединением между вашим сайтом и нашим сервером."
|
410 |
|
|
|
|
|
|
|
|
|
411 |
#: templates/fields/ajax-customers.php:41
|
412 |
msgid "Search for a customer..."
|
413 |
msgstr ""
|
@@ -685,12 +693,12 @@ msgstr "Вы уверены, что хотите удалить \"%s\"?"
|
|
685 |
msgid "Further actions"
|
686 |
msgstr "Дальнейшие действия"
|
687 |
|
688 |
-
#: yit-plugin.php:
|
689 |
msgid "License"
|
690 |
msgstr "Лицензия"
|
691 |
|
692 |
#. translators: 1. Plugin(s) name(s).
|
693 |
-
#: yit-plugin.php:
|
694 |
msgid ""
|
695 |
"%s was deactivated as you're running an higher tier version of the same "
|
696 |
"plugin."
|
@@ -716,22 +724,22 @@ msgctxt "[gutenberg]: Category Name"
|
|
716 |
msgid "YITH"
|
717 |
msgstr "YITH"
|
718 |
|
719 |
-
#: includes/class-yit-assets.php:
|
720 |
msgctxt "Button text"
|
721 |
msgid "Confirm"
|
722 |
msgstr "Подтвердить"
|
723 |
|
724 |
-
#: includes/class-yit-assets.php:
|
725 |
msgctxt "Button text"
|
726 |
msgid "Cancel"
|
727 |
msgstr "Отмена"
|
728 |
|
729 |
-
#: includes/class-yit-assets.php:
|
730 |
msgctxt "Trash confirmation action"
|
731 |
msgid "Yes, move to trash"
|
732 |
msgstr "Да, удалить в корзину"
|
733 |
|
734 |
-
#: includes/class-yit-assets.php:
|
735 |
#: yit-functions.php:2154
|
736 |
msgctxt "Delete confirmation action"
|
737 |
msgid "Yes, delete"
|
@@ -965,7 +973,7 @@ msgstr "Прочтите документацию"
|
|
965 |
|
966 |
#: templates/panel/help-tab.php:220
|
967 |
msgctxt "Help tab documentation"
|
968 |
-
msgid "to learn
|
969 |
msgstr ""
|
970 |
|
971 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
@@ -981,7 +989,9 @@ msgstr ""
|
|
981 |
|
982 |
#: templates/panel/help-tab.php:238
|
983 |
msgctxt "Help tab support"
|
984 |
-
msgid "
|
|
|
|
|
985 |
msgstr ""
|
986 |
|
987 |
#: templates/panel/help-tab.php:241
|
@@ -1006,17 +1016,23 @@ msgid "Plugin premium features images"
|
|
1006 |
msgstr "Изображения премиум-функций плагина"
|
1007 |
|
1008 |
#. translators: alt attribute of main image tag.
|
1009 |
-
#: templates/panel/premium-tab.php:51
|
1010 |
msgctxt "Premium Tab"
|
1011 |
msgid "And so much more!"
|
1012 |
msgstr "И многое другое!"
|
1013 |
|
1014 |
#: templates/panel/premium-tab.php:53
|
|
|
|
|
|
|
|
|
|
|
|
|
1015 |
msgctxt "Premium Tab"
|
1016 |
msgid "Check the free vs premium features >"
|
1017 |
msgstr "Проверьте бесплатные и премиум функции >"
|
1018 |
|
1019 |
-
#: templates/panel/premium-tab.php:
|
1020 |
msgctxt "Premium Tab"
|
1021 |
msgid "Get the premium version"
|
1022 |
msgstr "Получите премиум-версию"
|
@@ -1076,27 +1092,27 @@ msgctxt "Term action"
|
|
1076 |
msgid "Delete"
|
1077 |
msgstr "Удалить"
|
1078 |
|
1079 |
-
#: yit-plugin.php:
|
1080 |
msgctxt "Plugin Row Meta"
|
1081 |
msgid "Live Demo"
|
1082 |
msgstr "Живая Демонстрация"
|
1083 |
|
1084 |
-
#: yit-plugin.php:
|
1085 |
msgctxt "Plugin Row Meta"
|
1086 |
msgid "Documentation"
|
1087 |
msgstr "Документация"
|
1088 |
|
1089 |
-
#: yit-plugin.php:
|
1090 |
msgctxt "Plugin Row Meta"
|
1091 |
msgid "Support"
|
1092 |
msgstr "Поддержка"
|
1093 |
|
1094 |
-
#: yit-plugin.php:
|
1095 |
msgctxt "Plugin Row Meta"
|
1096 |
msgid "Premium version"
|
1097 |
msgstr "Премиум версия"
|
1098 |
|
1099 |
-
#: yit-plugin.php:
|
1100 |
msgctxt "Action links"
|
1101 |
msgid "Settings"
|
1102 |
msgstr "Настройки"
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Framework\n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
+
"POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
|
8 |
"PO-Revision-Date: 2022-04-05 17:22:32+0000\n"
|
9 |
"Language: ru\n"
|
10 |
"MIME-Version: 1.0\n"
|
14 |
"10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);\n"
|
15 |
"X-Generator: GlotPress/3.0.0-alpha.2\n"
|
16 |
|
17 |
+
#: includes/class-yit-assets.php:146 yit-functions.php:2006
|
18 |
msgid "Confirm trash"
|
19 |
msgstr "Подтвердить корзину"
|
20 |
|
21 |
+
#: includes/class-yit-assets.php:147
|
22 |
msgid "Are you sure you want to trash the selected items?"
|
23 |
msgstr "Вы уверены, что хотите переместить в корзину выбранные элементы?"
|
24 |
|
25 |
+
#: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
|
26 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
27 |
#: yit-functions.php:2008 yit-functions.php:2026
|
28 |
msgid "No"
|
29 |
msgstr "Нет"
|
30 |
|
31 |
+
#: includes/class-yit-assets.php:150 yit-functions.php:2024
|
32 |
#: yit-functions.php:2152
|
33 |
msgid "Confirm delete"
|
34 |
msgstr "Подтвердите удаление"
|
35 |
|
36 |
+
#: includes/class-yit-assets.php:151
|
37 |
msgid "Are you sure you want to delete the selected items?"
|
38 |
msgstr "Вы уверены, что хотите удалить выбранные элементы?"
|
39 |
|
40 |
+
#: includes/class-yit-assets.php:151 yit-functions.php:1940
|
41 |
#: yit-functions.php:2100
|
42 |
msgid ""
|
43 |
"This action cannot be undone and you will not be able to recover this data."
|
44 |
msgstr "Это действие нельзя отменить, и вы не сможете восстановить эти данные."
|
45 |
|
46 |
+
#: includes/class-yit-assets.php:172
|
47 |
msgid "Clear"
|
48 |
msgstr "Очистить"
|
49 |
|
50 |
+
#: includes/class-yit-assets.php:173
|
51 |
msgid "Clear color"
|
52 |
msgstr "Очистить цвет"
|
53 |
|
54 |
+
#: includes/class-yit-assets.php:174
|
55 |
msgid "Default"
|
56 |
msgstr "По умолчанию"
|
57 |
|
58 |
+
#: includes/class-yit-assets.php:175
|
59 |
msgid "Select default color"
|
60 |
msgstr "Выберите цвет по умолчанию"
|
61 |
|
62 |
+
#: includes/class-yit-assets.php:176
|
63 |
msgid "Select Color"
|
64 |
msgstr "Выберите цвет"
|
65 |
|
66 |
+
#: includes/class-yit-assets.php:177
|
67 |
msgid "Color value"
|
68 |
msgstr "Цвет значения"
|
69 |
|
115 |
msgid "Reset to default"
|
116 |
msgstr "Сброс до заводских настроек"
|
117 |
|
118 |
+
#: includes/class-yit-plugin-panel.php:1074
|
119 |
msgid ""
|
120 |
"The element you have entered already exists. Please, enter another name."
|
121 |
msgstr "Введенный вами элемент уже существует. Пожалуйста, введите другое имя."
|
122 |
|
123 |
+
#: includes/class-yit-plugin-panel.php:1075
|
124 |
msgid "Settings saved"
|
125 |
msgstr "Настройки сохранены"
|
126 |
|
127 |
+
#: includes/class-yit-plugin-panel.php:1076
|
128 |
msgid "Settings reset"
|
129 |
msgstr "Сбросить настройки"
|
130 |
|
131 |
+
#: includes/class-yit-plugin-panel.php:1077
|
132 |
msgid "Element deleted correctly."
|
133 |
msgstr "Элемент удален правильно."
|
134 |
|
135 |
+
#: includes/class-yit-plugin-panel.php:1078
|
136 |
+
#: includes/class-yit-plugin-panel.php:1079
|
137 |
msgid "Element updated correctly."
|
138 |
msgstr "Элемент обновлен правильно."
|
139 |
|
140 |
+
#: includes/class-yit-plugin-panel.php:1080
|
141 |
msgid "Database imported correctly."
|
142 |
msgstr "База данных импортирована правильно."
|
143 |
|
144 |
+
#: includes/class-yit-plugin-panel.php:1081
|
145 |
msgid "An error has occurred during import. Please try again."
|
146 |
msgstr "Во время импорта произошла ошибка. Пожалуйста, попробуйте еще раз."
|
147 |
|
148 |
+
#: includes/class-yit-plugin-panel.php:1082
|
149 |
msgid "The added file is not valid."
|
150 |
msgstr "Добавленный файл недействителен."
|
151 |
|
152 |
+
#: includes/class-yit-plugin-panel.php:1083
|
153 |
msgid "Sorry, import is disabled."
|
154 |
msgstr "Извините, импорт отключен."
|
155 |
|
156 |
+
#: includes/class-yit-plugin-panel.php:1084
|
157 |
msgid "Sorting successful."
|
158 |
msgstr "Сортировка выполнена успешно."
|
159 |
|
160 |
+
#: includes/class-yit-plugin-panel.php:1573
|
161 |
msgid "We need your support"
|
162 |
msgstr "Нам нужна ваша поддержка"
|
163 |
|
164 |
+
#: includes/class-yit-plugin-panel.php:1574
|
165 |
msgid "to keep updating and improving the plugin. Please,"
|
166 |
msgstr "чтобы продолжать обновлять и улучшать плагин. Пожалуйста,"
|
167 |
|
168 |
+
#: includes/class-yit-plugin-panel.php:1576
|
169 |
msgid "help us by leaving a good review"
|
170 |
msgstr "помогите нам, оставив хороший отзыв"
|
171 |
|
172 |
+
#: includes/class-yit-plugin-panel.php:1577
|
173 |
msgid ":) Thanks!"
|
174 |
msgstr ":) Благодарим!"
|
175 |
|
208 |
"как для YITH WooCommerce Wishlist, YITH WooCommerce Ajax Search и т.д.) "
|
209 |
"будут перемещены из предыдущего места в меню YITH."
|
210 |
|
211 |
+
#: includes/class-yith-bh-onboarding.php:85
|
212 |
+
msgid "It is not possible save the options"
|
213 |
+
msgstr ""
|
214 |
+
|
215 |
#: includes/class-yith-dashboard.php:35
|
216 |
msgid "YITH Latest Updates"
|
217 |
msgstr "Последние обновления YITH"
|
412 |
"Системная проверка не может определить, какая версия %1$s установлена, из-за "
|
413 |
"проблемы с соединением между вашим сайтом и нашим сервером."
|
414 |
|
415 |
+
#: templates/bh-onboarding/onboarding-tabs.php:63
|
416 |
+
msgid "Save"
|
417 |
+
msgstr ""
|
418 |
+
|
419 |
#: templates/fields/ajax-customers.php:41
|
420 |
msgid "Search for a customer..."
|
421 |
msgstr ""
|
693 |
msgid "Further actions"
|
694 |
msgstr "Дальнейшие действия"
|
695 |
|
696 |
+
#: yit-plugin.php:233
|
697 |
msgid "License"
|
698 |
msgstr "Лицензия"
|
699 |
|
700 |
#. translators: 1. Plugin(s) name(s).
|
701 |
+
#: yit-plugin.php:272
|
702 |
msgid ""
|
703 |
"%s was deactivated as you're running an higher tier version of the same "
|
704 |
"plugin."
|
724 |
msgid "YITH"
|
725 |
msgstr "YITH"
|
726 |
|
727 |
+
#: includes/class-yit-assets.php:134
|
728 |
msgctxt "Button text"
|
729 |
msgid "Confirm"
|
730 |
msgstr "Подтвердить"
|
731 |
|
732 |
+
#: includes/class-yit-assets.php:135
|
733 |
msgctxt "Button text"
|
734 |
msgid "Cancel"
|
735 |
msgstr "Отмена"
|
736 |
|
737 |
+
#: includes/class-yit-assets.php:148 yit-functions.php:2009
|
738 |
msgctxt "Trash confirmation action"
|
739 |
msgid "Yes, move to trash"
|
740 |
msgstr "Да, удалить в корзину"
|
741 |
|
742 |
+
#: includes/class-yit-assets.php:152 yit-functions.php:2027
|
743 |
#: yit-functions.php:2154
|
744 |
msgctxt "Delete confirmation action"
|
745 |
msgid "Yes, delete"
|
973 |
|
974 |
#: templates/panel/help-tab.php:220
|
975 |
msgctxt "Help tab documentation"
|
976 |
+
msgid "to learn how it works from the basics."
|
977 |
msgstr ""
|
978 |
|
979 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
989 |
|
990 |
#: templates/panel/help-tab.php:238
|
991 |
msgctxt "Help tab support"
|
992 |
+
msgid ""
|
993 |
+
"Call or chat 24/7 with our support agents, or let our experts build your "
|
994 |
+
"site."
|
995 |
msgstr ""
|
996 |
|
997 |
#: templates/panel/help-tab.php:241
|
1016 |
msgstr "Изображения премиум-функций плагина"
|
1017 |
|
1018 |
#. translators: alt attribute of main image tag.
|
1019 |
+
#: templates/panel/premium-tab.php:51 templates/panel/premium-tab.php:58
|
1020 |
msgctxt "Premium Tab"
|
1021 |
msgid "And so much more!"
|
1022 |
msgstr "И многое другое!"
|
1023 |
|
1024 |
#: templates/panel/premium-tab.php:53
|
1025 |
+
#, fuzzy
|
1026 |
+
msgctxt "Premium Tab"
|
1027 |
+
msgid "Check the premium features >"
|
1028 |
+
msgstr "Проверьте бесплатные и премиум функции >"
|
1029 |
+
|
1030 |
+
#: templates/panel/premium-tab.php:60
|
1031 |
msgctxt "Premium Tab"
|
1032 |
msgid "Check the free vs premium features >"
|
1033 |
msgstr "Проверьте бесплатные и премиум функции >"
|
1034 |
|
1035 |
+
#: templates/panel/premium-tab.php:65
|
1036 |
msgctxt "Premium Tab"
|
1037 |
msgid "Get the premium version"
|
1038 |
msgstr "Получите премиум-версию"
|
1092 |
msgid "Delete"
|
1093 |
msgstr "Удалить"
|
1094 |
|
1095 |
+
#: yit-plugin.php:85
|
1096 |
msgctxt "Plugin Row Meta"
|
1097 |
msgid "Live Demo"
|
1098 |
msgstr "Живая Демонстрация"
|
1099 |
|
1100 |
+
#: yit-plugin.php:89
|
1101 |
msgctxt "Plugin Row Meta"
|
1102 |
msgid "Documentation"
|
1103 |
msgstr "Документация"
|
1104 |
|
1105 |
+
#: yit-plugin.php:93
|
1106 |
msgctxt "Plugin Row Meta"
|
1107 |
msgid "Support"
|
1108 |
msgstr "Поддержка"
|
1109 |
|
1110 |
+
#: yit-plugin.php:97
|
1111 |
msgctxt "Plugin Row Meta"
|
1112 |
msgid "Premium version"
|
1113 |
msgstr "Премиум версия"
|
1114 |
|
1115 |
+
#: yit-plugin.php:229
|
1116 |
msgctxt "Action links"
|
1117 |
msgid "Settings"
|
1118 |
msgstr "Настройки"
|
plugin-fw/languages/yith-plugin-fw-zh_CN.mo
CHANGED
Binary file
|
plugin-fw/languages/yith-plugin-fw-zh_CN.po
CHANGED
@@ -4,7 +4,7 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Framework\n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
-
"POT-Creation-Date: 2022-
|
8 |
"PO-Revision-Date: 2022-06-29 13:12:18+0000\n"
|
9 |
"Language: zh\n"
|
10 |
"MIME-Version: 1.0\n"
|
@@ -13,56 +13,56 @@ msgstr ""
|
|
13 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
14 |
"X-Generator: GlotPress/3.0.0-alpha.2\n"
|
15 |
|
16 |
-
#: includes/class-yit-assets.php:
|
17 |
msgid "Confirm trash"
|
18 |
msgstr "確認丟棄"
|
19 |
|
20 |
-
#: includes/class-yit-assets.php:
|
21 |
msgid "Are you sure you want to trash the selected items?"
|
22 |
msgstr "你確定要將所選的項目移至垃圾桶嗎?"
|
23 |
|
24 |
-
#: includes/class-yit-assets.php:
|
25 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
26 |
#: yit-functions.php:2008 yit-functions.php:2026
|
27 |
msgid "No"
|
28 |
msgstr "不"
|
29 |
|
30 |
-
#: includes/class-yit-assets.php:
|
31 |
#: yit-functions.php:2152
|
32 |
msgid "Confirm delete"
|
33 |
msgstr "確認刪除"
|
34 |
|
35 |
-
#: includes/class-yit-assets.php:
|
36 |
msgid "Are you sure you want to delete the selected items?"
|
37 |
msgstr "你確定要刪除所選的項目嗎?"
|
38 |
|
39 |
-
#: includes/class-yit-assets.php:
|
40 |
#: yit-functions.php:2100
|
41 |
msgid ""
|
42 |
"This action cannot be undone and you will not be able to recover this data."
|
43 |
msgstr "此操作無法撤消,您將無法恢復此數據。"
|
44 |
|
45 |
-
#: includes/class-yit-assets.php:
|
46 |
msgid "Clear"
|
47 |
msgstr "清除"
|
48 |
|
49 |
-
#: includes/class-yit-assets.php:
|
50 |
msgid "Clear color"
|
51 |
msgstr "清除顏色"
|
52 |
|
53 |
-
#: includes/class-yit-assets.php:
|
54 |
msgid "Default"
|
55 |
msgstr "預設"
|
56 |
|
57 |
-
#: includes/class-yit-assets.php:
|
58 |
msgid "Select default color"
|
59 |
msgstr "選擇預設顏色"
|
60 |
|
61 |
-
#: includes/class-yit-assets.php:
|
62 |
msgid "Select Color"
|
63 |
msgstr "選擇顏色"
|
64 |
|
65 |
-
#: includes/class-yit-assets.php:
|
66 |
msgid "Color value"
|
67 |
msgstr "顏色數值"
|
68 |
|
@@ -110,61 +110,61 @@ msgstr "你確定嗎?"
|
|
110 |
msgid "Reset to default"
|
111 |
msgstr "重置為預設值"
|
112 |
|
113 |
-
#: includes/class-yit-plugin-panel.php:
|
114 |
msgid ""
|
115 |
"The element you have entered already exists. Please, enter another name."
|
116 |
msgstr "你輸入的這個元素已經存在,請輸入另一個名稱"
|
117 |
|
118 |
-
#: includes/class-yit-plugin-panel.php:
|
119 |
msgid "Settings saved"
|
120 |
msgstr "設定已經儲存"
|
121 |
|
122 |
-
#: includes/class-yit-plugin-panel.php:
|
123 |
msgid "Settings reset"
|
124 |
msgstr "重置設定"
|
125 |
|
126 |
-
#: includes/class-yit-plugin-panel.php:
|
127 |
msgid "Element deleted correctly."
|
128 |
msgstr "元素已被確實刪除"
|
129 |
|
130 |
-
#: includes/class-yit-plugin-panel.php:
|
131 |
-
#: includes/class-yit-plugin-panel.php:
|
132 |
msgid "Element updated correctly."
|
133 |
msgstr "元素已正確更新。"
|
134 |
|
135 |
-
#: includes/class-yit-plugin-panel.php:
|
136 |
msgid "Database imported correctly."
|
137 |
msgstr "資料庫已被正確匯入"
|
138 |
|
139 |
-
#: includes/class-yit-plugin-panel.php:
|
140 |
msgid "An error has occurred during import. Please try again."
|
141 |
msgstr "匯入過程中發生一個錯誤,請再試一次"
|
142 |
|
143 |
-
#: includes/class-yit-plugin-panel.php:
|
144 |
msgid "The added file is not valid."
|
145 |
msgstr "添加的檔案無效"
|
146 |
|
147 |
-
#: includes/class-yit-plugin-panel.php:
|
148 |
msgid "Sorry, import is disabled."
|
149 |
msgstr "抱歉,匯入功能被關閉"
|
150 |
|
151 |
-
#: includes/class-yit-plugin-panel.php:
|
152 |
msgid "Sorting successful."
|
153 |
msgstr "已順利排序"
|
154 |
|
155 |
-
#: includes/class-yit-plugin-panel.php:
|
156 |
msgid "We need your support"
|
157 |
msgstr "我們需要你的支援"
|
158 |
|
159 |
-
#: includes/class-yit-plugin-panel.php:
|
160 |
msgid "to keep updating and improving the plugin. Please,"
|
161 |
msgstr "請不斷保持更新與改進外掛"
|
162 |
|
163 |
-
#: includes/class-yit-plugin-panel.php:
|
164 |
msgid "help us by leaving a good review"
|
165 |
msgstr "留下好的評論幫助我們更進步"
|
166 |
|
167 |
-
#: includes/class-yit-plugin-panel.php:
|
168 |
msgid ":) Thanks!"
|
169 |
msgstr ":) 謝謝!"
|
170 |
|
@@ -202,6 +202,10 @@ msgstr ""
|
|
202 |
"WooCommerce Wishlist、YITH WooCommerce Ajax 搜尋等)將從之前的位置移動到 "
|
203 |
"YITH 選單。"
|
204 |
|
|
|
|
|
|
|
|
|
205 |
#: includes/class-yith-dashboard.php:35
|
206 |
msgid "YITH Latest Updates"
|
207 |
msgstr "YITH 最新更新"
|
@@ -392,6 +396,10 @@ msgstr ""
|
|
392 |
"由於您的網站和我們的伺服器之間的連接問題,系統檢查無法確定安裝了哪個 %1$s 版"
|
393 |
"本。"
|
394 |
|
|
|
|
|
|
|
|
|
395 |
#: templates/fields/ajax-customers.php:41
|
396 |
msgid "Search for a customer..."
|
397 |
msgstr "搜尋顧客..."
|
@@ -667,12 +675,12 @@ msgstr "您確定要刪除 \"%s\" 嗎?"
|
|
667 |
msgid "Further actions"
|
668 |
msgstr "進一步動作"
|
669 |
|
670 |
-
#: yit-plugin.php:
|
671 |
msgid "License"
|
672 |
msgstr "授權"
|
673 |
|
674 |
#. translators: 1. Plugin(s) name(s).
|
675 |
-
#: yit-plugin.php:
|
676 |
msgid ""
|
677 |
"%s was deactivated as you're running an higher tier version of the same "
|
678 |
"plugin."
|
@@ -696,22 +704,22 @@ msgctxt "[gutenberg]: Category Name"
|
|
696 |
msgid "YITH"
|
697 |
msgstr "YITH"
|
698 |
|
699 |
-
#: includes/class-yit-assets.php:
|
700 |
msgctxt "Button text"
|
701 |
msgid "Confirm"
|
702 |
msgstr "確認"
|
703 |
|
704 |
-
#: includes/class-yit-assets.php:
|
705 |
msgctxt "Button text"
|
706 |
msgid "Cancel"
|
707 |
msgstr "取消"
|
708 |
|
709 |
-
#: includes/class-yit-assets.php:
|
710 |
msgctxt "Trash confirmation action"
|
711 |
msgid "Yes, move to trash"
|
712 |
msgstr "是的,將它移至垃圾桶"
|
713 |
|
714 |
-
#: includes/class-yit-assets.php:
|
715 |
#: yit-functions.php:2154
|
716 |
msgctxt "Delete confirmation action"
|
717 |
msgid "Yes, delete"
|
@@ -936,9 +944,10 @@ msgid "Read the plugin documentation"
|
|
936 |
msgstr "閱讀說明文件"
|
937 |
|
938 |
#: templates/panel/help-tab.php:220
|
|
|
939 |
msgctxt "Help tab documentation"
|
940 |
-
msgid "to learn
|
941 |
-
msgstr ""
|
942 |
|
943 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
944 |
#, fuzzy
|
@@ -953,7 +962,9 @@ msgstr ""
|
|
953 |
|
954 |
#: templates/panel/help-tab.php:238
|
955 |
msgctxt "Help tab support"
|
956 |
-
msgid "
|
|
|
|
|
957 |
msgstr ""
|
958 |
|
959 |
#: templates/panel/help-tab.php:241
|
@@ -978,17 +989,23 @@ msgid "Plugin premium features images"
|
|
978 |
msgstr "高級版外掛特色圖片"
|
979 |
|
980 |
#. translators: alt attribute of main image tag.
|
981 |
-
#: templates/panel/premium-tab.php:51
|
982 |
msgctxt "Premium Tab"
|
983 |
msgid "And so much more!"
|
984 |
msgstr "還有更多!"
|
985 |
|
986 |
#: templates/panel/premium-tab.php:53
|
|
|
|
|
|
|
|
|
|
|
|
|
987 |
msgctxt "Premium Tab"
|
988 |
msgid "Check the free vs premium features >"
|
989 |
msgstr "查看免費板與高級版的特色比較"
|
990 |
|
991 |
-
#: templates/panel/premium-tab.php:
|
992 |
msgctxt "Premium Tab"
|
993 |
msgid "Get the premium version"
|
994 |
msgstr "取得高級版本"
|
@@ -1048,27 +1065,27 @@ msgctxt "Term action"
|
|
1048 |
msgid "Delete"
|
1049 |
msgstr "刪除"
|
1050 |
|
1051 |
-
#: yit-plugin.php:
|
1052 |
msgctxt "Plugin Row Meta"
|
1053 |
msgid "Live Demo"
|
1054 |
msgstr "即時演示"
|
1055 |
|
1056 |
-
#: yit-plugin.php:
|
1057 |
msgctxt "Plugin Row Meta"
|
1058 |
msgid "Documentation"
|
1059 |
msgstr "說明文件"
|
1060 |
|
1061 |
-
#: yit-plugin.php:
|
1062 |
msgctxt "Plugin Row Meta"
|
1063 |
msgid "Support"
|
1064 |
msgstr "支援"
|
1065 |
|
1066 |
-
#: yit-plugin.php:
|
1067 |
msgctxt "Plugin Row Meta"
|
1068 |
msgid "Premium version"
|
1069 |
msgstr "高級版本"
|
1070 |
|
1071 |
-
#: yit-plugin.php:
|
1072 |
msgctxt "Action links"
|
1073 |
msgid "Settings"
|
1074 |
msgstr "設定"
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: YITH Framework\n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
+
"POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
|
8 |
"PO-Revision-Date: 2022-06-29 13:12:18+0000\n"
|
9 |
"Language: zh\n"
|
10 |
"MIME-Version: 1.0\n"
|
13 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
14 |
"X-Generator: GlotPress/3.0.0-alpha.2\n"
|
15 |
|
16 |
+
#: includes/class-yit-assets.php:146 yit-functions.php:2006
|
17 |
msgid "Confirm trash"
|
18 |
msgstr "確認丟棄"
|
19 |
|
20 |
+
#: includes/class-yit-assets.php:147
|
21 |
msgid "Are you sure you want to trash the selected items?"
|
22 |
msgstr "你確定要將所選的項目移至垃圾桶嗎?"
|
23 |
|
24 |
+
#: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
|
25 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
26 |
#: yit-functions.php:2008 yit-functions.php:2026
|
27 |
msgid "No"
|
28 |
msgstr "不"
|
29 |
|
30 |
+
#: includes/class-yit-assets.php:150 yit-functions.php:2024
|
31 |
#: yit-functions.php:2152
|
32 |
msgid "Confirm delete"
|
33 |
msgstr "確認刪除"
|
34 |
|
35 |
+
#: includes/class-yit-assets.php:151
|
36 |
msgid "Are you sure you want to delete the selected items?"
|
37 |
msgstr "你確定要刪除所選的項目嗎?"
|
38 |
|
39 |
+
#: includes/class-yit-assets.php:151 yit-functions.php:1940
|
40 |
#: yit-functions.php:2100
|
41 |
msgid ""
|
42 |
"This action cannot be undone and you will not be able to recover this data."
|
43 |
msgstr "此操作無法撤消,您將無法恢復此數據。"
|
44 |
|
45 |
+
#: includes/class-yit-assets.php:172
|
46 |
msgid "Clear"
|
47 |
msgstr "清除"
|
48 |
|
49 |
+
#: includes/class-yit-assets.php:173
|
50 |
msgid "Clear color"
|
51 |
msgstr "清除顏色"
|
52 |
|
53 |
+
#: includes/class-yit-assets.php:174
|
54 |
msgid "Default"
|
55 |
msgstr "預設"
|
56 |
|
57 |
+
#: includes/class-yit-assets.php:175
|
58 |
msgid "Select default color"
|
59 |
msgstr "選擇預設顏色"
|
60 |
|
61 |
+
#: includes/class-yit-assets.php:176
|
62 |
msgid "Select Color"
|
63 |
msgstr "選擇顏色"
|
64 |
|
65 |
+
#: includes/class-yit-assets.php:177
|
66 |
msgid "Color value"
|
67 |
msgstr "顏色數值"
|
68 |
|
110 |
msgid "Reset to default"
|
111 |
msgstr "重置為預設值"
|
112 |
|
113 |
+
#: includes/class-yit-plugin-panel.php:1074
|
114 |
msgid ""
|
115 |
"The element you have entered already exists. Please, enter another name."
|
116 |
msgstr "你輸入的這個元素已經存在,請輸入另一個名稱"
|
117 |
|
118 |
+
#: includes/class-yit-plugin-panel.php:1075
|
119 |
msgid "Settings saved"
|
120 |
msgstr "設定已經儲存"
|
121 |
|
122 |
+
#: includes/class-yit-plugin-panel.php:1076
|
123 |
msgid "Settings reset"
|
124 |
msgstr "重置設定"
|
125 |
|
126 |
+
#: includes/class-yit-plugin-panel.php:1077
|
127 |
msgid "Element deleted correctly."
|
128 |
msgstr "元素已被確實刪除"
|
129 |
|
130 |
+
#: includes/class-yit-plugin-panel.php:1078
|
131 |
+
#: includes/class-yit-plugin-panel.php:1079
|
132 |
msgid "Element updated correctly."
|
133 |
msgstr "元素已正確更新。"
|
134 |
|
135 |
+
#: includes/class-yit-plugin-panel.php:1080
|
136 |
msgid "Database imported correctly."
|
137 |
msgstr "資料庫已被正確匯入"
|
138 |
|
139 |
+
#: includes/class-yit-plugin-panel.php:1081
|
140 |
msgid "An error has occurred during import. Please try again."
|
141 |
msgstr "匯入過程中發生一個錯誤,請再試一次"
|
142 |
|
143 |
+
#: includes/class-yit-plugin-panel.php:1082
|
144 |
msgid "The added file is not valid."
|
145 |
msgstr "添加的檔案無效"
|
146 |
|
147 |
+
#: includes/class-yit-plugin-panel.php:1083
|
148 |
msgid "Sorry, import is disabled."
|
149 |
msgstr "抱歉,匯入功能被關閉"
|
150 |
|
151 |
+
#: includes/class-yit-plugin-panel.php:1084
|
152 |
msgid "Sorting successful."
|
153 |
msgstr "已順利排序"
|
154 |
|
155 |
+
#: includes/class-yit-plugin-panel.php:1573
|
156 |
msgid "We need your support"
|
157 |
msgstr "我們需要你的支援"
|
158 |
|
159 |
+
#: includes/class-yit-plugin-panel.php:1574
|
160 |
msgid "to keep updating and improving the plugin. Please,"
|
161 |
msgstr "請不斷保持更新與改進外掛"
|
162 |
|
163 |
+
#: includes/class-yit-plugin-panel.php:1576
|
164 |
msgid "help us by leaving a good review"
|
165 |
msgstr "留下好的評論幫助我們更進步"
|
166 |
|
167 |
+
#: includes/class-yit-plugin-panel.php:1577
|
168 |
msgid ":) Thanks!"
|
169 |
msgstr ":) 謝謝!"
|
170 |
|
202 |
"WooCommerce Wishlist、YITH WooCommerce Ajax 搜尋等)將從之前的位置移動到 "
|
203 |
"YITH 選單。"
|
204 |
|
205 |
+
#: includes/class-yith-bh-onboarding.php:85
|
206 |
+
msgid "It is not possible save the options"
|
207 |
+
msgstr ""
|
208 |
+
|
209 |
#: includes/class-yith-dashboard.php:35
|
210 |
msgid "YITH Latest Updates"
|
211 |
msgstr "YITH 最新更新"
|
396 |
"由於您的網站和我們的伺服器之間的連接問題,系統檢查無法確定安裝了哪個 %1$s 版"
|
397 |
"本。"
|
398 |
|
399 |
+
#: templates/bh-onboarding/onboarding-tabs.php:63
|
400 |
+
msgid "Save"
|
401 |
+
msgstr ""
|
402 |
+
|
403 |
#: templates/fields/ajax-customers.php:41
|
404 |
msgid "Search for a customer..."
|
405 |
msgstr "搜尋顧客..."
|
675 |
msgid "Further actions"
|
676 |
msgstr "進一步動作"
|
677 |
|
678 |
+
#: yit-plugin.php:233
|
679 |
msgid "License"
|
680 |
msgstr "授權"
|
681 |
|
682 |
#. translators: 1. Plugin(s) name(s).
|
683 |
+
#: yit-plugin.php:272
|
684 |
msgid ""
|
685 |
"%s was deactivated as you're running an higher tier version of the same "
|
686 |
"plugin."
|
704 |
msgid "YITH"
|
705 |
msgstr "YITH"
|
706 |
|
707 |
+
#: includes/class-yit-assets.php:134
|
708 |
msgctxt "Button text"
|
709 |
msgid "Confirm"
|
710 |
msgstr "確認"
|
711 |
|
712 |
+
#: includes/class-yit-assets.php:135
|
713 |
msgctxt "Button text"
|
714 |
msgid "Cancel"
|
715 |
msgstr "取消"
|
716 |
|
717 |
+
#: includes/class-yit-assets.php:148 yit-functions.php:2009
|
718 |
msgctxt "Trash confirmation action"
|
719 |
msgid "Yes, move to trash"
|
720 |
msgstr "是的,將它移至垃圾桶"
|
721 |
|
722 |
+
#: includes/class-yit-assets.php:152 yit-functions.php:2027
|
723 |
#: yit-functions.php:2154
|
724 |
msgctxt "Delete confirmation action"
|
725 |
msgid "Yes, delete"
|
944 |
msgstr "閱讀說明文件"
|
945 |
|
946 |
#: templates/panel/help-tab.php:220
|
947 |
+
#, fuzzy
|
948 |
msgctxt "Help tab documentation"
|
949 |
+
msgid "to learn how it works from the basics."
|
950 |
+
msgstr "了解外掛的基礎工作原理"
|
951 |
|
952 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
953 |
#, fuzzy
|
962 |
|
963 |
#: templates/panel/help-tab.php:238
|
964 |
msgctxt "Help tab support"
|
965 |
+
msgid ""
|
966 |
+
"Call or chat 24/7 with our support agents, or let our experts build your "
|
967 |
+
"site."
|
968 |
msgstr ""
|
969 |
|
970 |
#: templates/panel/help-tab.php:241
|
989 |
msgstr "高級版外掛特色圖片"
|
990 |
|
991 |
#. translators: alt attribute of main image tag.
|
992 |
+
#: templates/panel/premium-tab.php:51 templates/panel/premium-tab.php:58
|
993 |
msgctxt "Premium Tab"
|
994 |
msgid "And so much more!"
|
995 |
msgstr "還有更多!"
|
996 |
|
997 |
#: templates/panel/premium-tab.php:53
|
998 |
+
#, fuzzy
|
999 |
+
msgctxt "Premium Tab"
|
1000 |
+
msgid "Check the premium features >"
|
1001 |
+
msgstr "查看免費板與高級版的特色比較"
|
1002 |
+
|
1003 |
+
#: templates/panel/premium-tab.php:60
|
1004 |
msgctxt "Premium Tab"
|
1005 |
msgid "Check the free vs premium features >"
|
1006 |
msgstr "查看免費板與高級版的特色比較"
|
1007 |
|
1008 |
+
#: templates/panel/premium-tab.php:65
|
1009 |
msgctxt "Premium Tab"
|
1010 |
msgid "Get the premium version"
|
1011 |
msgstr "取得高級版本"
|
1065 |
msgid "Delete"
|
1066 |
msgstr "刪除"
|
1067 |
|
1068 |
+
#: yit-plugin.php:85
|
1069 |
msgctxt "Plugin Row Meta"
|
1070 |
msgid "Live Demo"
|
1071 |
msgstr "即時演示"
|
1072 |
|
1073 |
+
#: yit-plugin.php:89
|
1074 |
msgctxt "Plugin Row Meta"
|
1075 |
msgid "Documentation"
|
1076 |
msgstr "說明文件"
|
1077 |
|
1078 |
+
#: yit-plugin.php:93
|
1079 |
msgctxt "Plugin Row Meta"
|
1080 |
msgid "Support"
|
1081 |
msgstr "支援"
|
1082 |
|
1083 |
+
#: yit-plugin.php:97
|
1084 |
msgctxt "Plugin Row Meta"
|
1085 |
msgid "Premium version"
|
1086 |
msgstr "高級版本"
|
1087 |
|
1088 |
+
#: yit-plugin.php:229
|
1089 |
msgctxt "Action links"
|
1090 |
msgid "Settings"
|
1091 |
msgstr "設定"
|
plugin-fw/languages/yith-plugin-fw.pot
CHANGED
@@ -4,7 +4,7 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: \n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
-
"POT-Creation-Date: 2022-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -24,55 +24,55 @@ msgstr ""
|
|
24 |
"X-Textdomain-Support: yes\n"
|
25 |
"X-Generator: grunt-wp-i18n 1.0.3\n"
|
26 |
|
27 |
-
#: includes/class-yit-assets.php:
|
28 |
msgid "Confirm trash"
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: includes/class-yit-assets.php:
|
32 |
msgid "Are you sure you want to trash the selected items?"
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: includes/class-yit-assets.php:
|
36 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
37 |
#: yit-functions.php:2008 yit-functions.php:2026
|
38 |
msgid "No"
|
39 |
msgstr ""
|
40 |
|
41 |
-
#: includes/class-yit-assets.php:
|
42 |
#: yit-functions.php:2152
|
43 |
msgid "Confirm delete"
|
44 |
msgstr ""
|
45 |
|
46 |
-
#: includes/class-yit-assets.php:
|
47 |
msgid "Are you sure you want to delete the selected items?"
|
48 |
msgstr ""
|
49 |
|
50 |
-
#: includes/class-yit-assets.php:
|
51 |
#: yit-functions.php:2100
|
52 |
msgid "This action cannot be undone and you will not be able to recover this data."
|
53 |
msgstr ""
|
54 |
|
55 |
-
#: includes/class-yit-assets.php:
|
56 |
msgid "Clear"
|
57 |
msgstr ""
|
58 |
|
59 |
-
#: includes/class-yit-assets.php:
|
60 |
msgid "Clear color"
|
61 |
msgstr ""
|
62 |
|
63 |
-
#: includes/class-yit-assets.php:
|
64 |
msgid "Default"
|
65 |
msgstr ""
|
66 |
|
67 |
-
#: includes/class-yit-assets.php:
|
68 |
msgid "Select default color"
|
69 |
msgstr ""
|
70 |
|
71 |
-
#: includes/class-yit-assets.php:
|
72 |
msgid "Select Color"
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: includes/class-yit-assets.php:
|
76 |
msgid "Color value"
|
77 |
msgstr ""
|
78 |
|
@@ -119,60 +119,60 @@ msgstr ""
|
|
119 |
msgid "Reset to default"
|
120 |
msgstr ""
|
121 |
|
122 |
-
#: includes/class-yit-plugin-panel.php:
|
123 |
msgid "The element you have entered already exists. Please, enter another name."
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: includes/class-yit-plugin-panel.php:
|
127 |
msgid "Settings saved"
|
128 |
msgstr ""
|
129 |
|
130 |
-
#: includes/class-yit-plugin-panel.php:
|
131 |
msgid "Settings reset"
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: includes/class-yit-plugin-panel.php:
|
135 |
msgid "Element deleted correctly."
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: includes/class-yit-plugin-panel.php:
|
139 |
-
#: includes/class-yit-plugin-panel.php:
|
140 |
msgid "Element updated correctly."
|
141 |
msgstr ""
|
142 |
|
143 |
-
#: includes/class-yit-plugin-panel.php:
|
144 |
msgid "Database imported correctly."
|
145 |
msgstr ""
|
146 |
|
147 |
-
#: includes/class-yit-plugin-panel.php:
|
148 |
msgid "An error has occurred during import. Please try again."
|
149 |
msgstr ""
|
150 |
|
151 |
-
#: includes/class-yit-plugin-panel.php:
|
152 |
msgid "The added file is not valid."
|
153 |
msgstr ""
|
154 |
|
155 |
-
#: includes/class-yit-plugin-panel.php:
|
156 |
msgid "Sorry, import is disabled."
|
157 |
msgstr ""
|
158 |
|
159 |
-
#: includes/class-yit-plugin-panel.php:
|
160 |
msgid "Sorting successful."
|
161 |
msgstr ""
|
162 |
|
163 |
-
#: includes/class-yit-plugin-panel.php:
|
164 |
msgid "We need your support"
|
165 |
msgstr ""
|
166 |
|
167 |
-
#: includes/class-yit-plugin-panel.php:
|
168 |
msgid "to keep updating and improving the plugin. Please,"
|
169 |
msgstr ""
|
170 |
|
171 |
-
#: includes/class-yit-plugin-panel.php:
|
172 |
msgid "help us by leaving a good review"
|
173 |
msgstr ""
|
174 |
|
175 |
-
#: includes/class-yit-plugin-panel.php:
|
176 |
msgid ":) Thanks!"
|
177 |
msgstr ""
|
178 |
|
@@ -204,6 +204,10 @@ msgid ""
|
|
204 |
"from previous location to YITH menu."
|
205 |
msgstr ""
|
206 |
|
|
|
|
|
|
|
|
|
207 |
#: includes/class-yith-dashboard.php:35
|
208 |
msgid "YITH Latest Updates"
|
209 |
msgstr ""
|
@@ -389,6 +393,10 @@ msgid ""
|
|
389 |
"connection issue between your site and our server."
|
390 |
msgstr ""
|
391 |
|
|
|
|
|
|
|
|
|
392 |
#: templates/fields/ajax-customers.php:41
|
393 |
msgid "Search for a customer..."
|
394 |
msgstr ""
|
@@ -663,11 +671,11 @@ msgstr ""
|
|
663 |
msgid "Further actions"
|
664 |
msgstr ""
|
665 |
|
666 |
-
#: yit-plugin.php:
|
667 |
msgid "License"
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: yit-plugin.php:
|
671 |
#. translators: 1. Plugin(s) name(s).
|
672 |
msgid ""
|
673 |
"%s was deactivated as you're running an higher tier version of the same "
|
@@ -693,22 +701,22 @@ msgctxt "[gutenberg]: Category Name"
|
|
693 |
msgid "YITH"
|
694 |
msgstr ""
|
695 |
|
696 |
-
#: includes/class-yit-assets.php:
|
697 |
msgctxt "Button text"
|
698 |
msgid "Confirm"
|
699 |
msgstr ""
|
700 |
|
701 |
-
#: includes/class-yit-assets.php:
|
702 |
msgctxt "Button text"
|
703 |
msgid "Cancel"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: includes/class-yit-assets.php:
|
707 |
msgctxt "Trash confirmation action"
|
708 |
msgid "Yes, move to trash"
|
709 |
msgstr ""
|
710 |
|
711 |
-
#: includes/class-yit-assets.php:
|
712 |
#: yit-functions.php:2154
|
713 |
msgctxt "Delete confirmation action"
|
714 |
msgid "Yes, delete"
|
@@ -925,7 +933,7 @@ msgstr ""
|
|
925 |
|
926 |
#: templates/panel/help-tab.php:220
|
927 |
msgctxt "Help tab documentation"
|
928 |
-
msgid "to learn
|
929 |
msgstr ""
|
930 |
|
931 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
@@ -940,7 +948,9 @@ msgstr ""
|
|
940 |
|
941 |
#: templates/panel/help-tab.php:238
|
942 |
msgctxt "Help tab support"
|
943 |
-
msgid "
|
|
|
|
|
944 |
msgstr ""
|
945 |
|
946 |
#: templates/panel/help-tab.php:241
|
@@ -963,7 +973,7 @@ msgctxt "Premium Tab"
|
|
963 |
msgid "Plugin premium features images"
|
964 |
msgstr ""
|
965 |
|
966 |
-
#: templates/panel/premium-tab.php:51
|
967 |
#. translators: alt attribute of main image tag.
|
968 |
msgctxt "Premium Tab"
|
969 |
msgid "And so much more!"
|
@@ -971,10 +981,15 @@ msgstr ""
|
|
971 |
|
972 |
#: templates/panel/premium-tab.php:53
|
973 |
msgctxt "Premium Tab"
|
|
|
|
|
|
|
|
|
|
|
974 |
msgid "Check the free vs premium features >"
|
975 |
msgstr ""
|
976 |
|
977 |
-
#: templates/panel/premium-tab.php:
|
978 |
msgctxt "Premium Tab"
|
979 |
msgid "Get the premium version"
|
980 |
msgstr ""
|
@@ -1034,27 +1049,27 @@ msgctxt "Term action"
|
|
1034 |
msgid "Delete"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
-
#: yit-plugin.php:
|
1038 |
msgctxt "Plugin Row Meta"
|
1039 |
msgid "Live Demo"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
-
#: yit-plugin.php:
|
1043 |
msgctxt "Plugin Row Meta"
|
1044 |
msgid "Documentation"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: yit-plugin.php:
|
1048 |
msgctxt "Plugin Row Meta"
|
1049 |
msgid "Support"
|
1050 |
msgstr ""
|
1051 |
|
1052 |
-
#: yit-plugin.php:
|
1053 |
msgctxt "Plugin Row Meta"
|
1054 |
msgid "Premium version"
|
1055 |
msgstr ""
|
1056 |
|
1057 |
-
#: yit-plugin.php:
|
1058 |
msgctxt "Action links"
|
1059 |
msgid "Settings"
|
1060 |
msgstr ""
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: \n"
|
6 |
"Report-Msgid-Bugs-To: YITH <plugins@yithemes.com>\n"
|
7 |
+
"POT-Creation-Date: 2022-08-02 12:02:23+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
24 |
"X-Textdomain-Support: yes\n"
|
25 |
"X-Generator: grunt-wp-i18n 1.0.3\n"
|
26 |
|
27 |
+
#: includes/class-yit-assets.php:146 yit-functions.php:2006
|
28 |
msgid "Confirm trash"
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: includes/class-yit-assets.php:147
|
32 |
msgid "Are you sure you want to trash the selected items?"
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: includes/class-yit-assets.php:149 includes/class-yit-assets.php:153
|
36 |
#: templates/sysinfo/tabs/main.php:42 templates/sysinfo/tabs/main.php:50
|
37 |
#: yit-functions.php:2008 yit-functions.php:2026
|
38 |
msgid "No"
|
39 |
msgstr ""
|
40 |
|
41 |
+
#: includes/class-yit-assets.php:150 yit-functions.php:2024
|
42 |
#: yit-functions.php:2152
|
43 |
msgid "Confirm delete"
|
44 |
msgstr ""
|
45 |
|
46 |
+
#: includes/class-yit-assets.php:151
|
47 |
msgid "Are you sure you want to delete the selected items?"
|
48 |
msgstr ""
|
49 |
|
50 |
+
#: includes/class-yit-assets.php:151 yit-functions.php:1940
|
51 |
#: yit-functions.php:2100
|
52 |
msgid "This action cannot be undone and you will not be able to recover this data."
|
53 |
msgstr ""
|
54 |
|
55 |
+
#: includes/class-yit-assets.php:172
|
56 |
msgid "Clear"
|
57 |
msgstr ""
|
58 |
|
59 |
+
#: includes/class-yit-assets.php:173
|
60 |
msgid "Clear color"
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: includes/class-yit-assets.php:174
|
64 |
msgid "Default"
|
65 |
msgstr ""
|
66 |
|
67 |
+
#: includes/class-yit-assets.php:175
|
68 |
msgid "Select default color"
|
69 |
msgstr ""
|
70 |
|
71 |
+
#: includes/class-yit-assets.php:176
|
72 |
msgid "Select Color"
|
73 |
msgstr ""
|
74 |
|
75 |
+
#: includes/class-yit-assets.php:177
|
76 |
msgid "Color value"
|
77 |
msgstr ""
|
78 |
|
119 |
msgid "Reset to default"
|
120 |
msgstr ""
|
121 |
|
122 |
+
#: includes/class-yit-plugin-panel.php:1074
|
123 |
msgid "The element you have entered already exists. Please, enter another name."
|
124 |
msgstr ""
|
125 |
|
126 |
+
#: includes/class-yit-plugin-panel.php:1075
|
127 |
msgid "Settings saved"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: includes/class-yit-plugin-panel.php:1076
|
131 |
msgid "Settings reset"
|
132 |
msgstr ""
|
133 |
|
134 |
+
#: includes/class-yit-plugin-panel.php:1077
|
135 |
msgid "Element deleted correctly."
|
136 |
msgstr ""
|
137 |
|
138 |
+
#: includes/class-yit-plugin-panel.php:1078
|
139 |
+
#: includes/class-yit-plugin-panel.php:1079
|
140 |
msgid "Element updated correctly."
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: includes/class-yit-plugin-panel.php:1080
|
144 |
msgid "Database imported correctly."
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: includes/class-yit-plugin-panel.php:1081
|
148 |
msgid "An error has occurred during import. Please try again."
|
149 |
msgstr ""
|
150 |
|
151 |
+
#: includes/class-yit-plugin-panel.php:1082
|
152 |
msgid "The added file is not valid."
|
153 |
msgstr ""
|
154 |
|
155 |
+
#: includes/class-yit-plugin-panel.php:1083
|
156 |
msgid "Sorry, import is disabled."
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: includes/class-yit-plugin-panel.php:1084
|
160 |
msgid "Sorting successful."
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: includes/class-yit-plugin-panel.php:1573
|
164 |
msgid "We need your support"
|
165 |
msgstr ""
|
166 |
|
167 |
+
#: includes/class-yit-plugin-panel.php:1574
|
168 |
msgid "to keep updating and improving the plugin. Please,"
|
169 |
msgstr ""
|
170 |
|
171 |
+
#: includes/class-yit-plugin-panel.php:1576
|
172 |
msgid "help us by leaving a good review"
|
173 |
msgstr ""
|
174 |
|
175 |
+
#: includes/class-yit-plugin-panel.php:1577
|
176 |
msgid ":) Thanks!"
|
177 |
msgstr ""
|
178 |
|
204 |
"from previous location to YITH menu."
|
205 |
msgstr ""
|
206 |
|
207 |
+
#: includes/class-yith-bh-onboarding.php:85
|
208 |
+
msgid "It is not possible save the options"
|
209 |
+
msgstr ""
|
210 |
+
|
211 |
#: includes/class-yith-dashboard.php:35
|
212 |
msgid "YITH Latest Updates"
|
213 |
msgstr ""
|
393 |
"connection issue between your site and our server."
|
394 |
msgstr ""
|
395 |
|
396 |
+
#: templates/bh-onboarding/onboarding-tabs.php:63
|
397 |
+
msgid "Save"
|
398 |
+
msgstr ""
|
399 |
+
|
400 |
#: templates/fields/ajax-customers.php:41
|
401 |
msgid "Search for a customer..."
|
402 |
msgstr ""
|
671 |
msgid "Further actions"
|
672 |
msgstr ""
|
673 |
|
674 |
+
#: yit-plugin.php:233
|
675 |
msgid "License"
|
676 |
msgstr ""
|
677 |
|
678 |
+
#: yit-plugin.php:272
|
679 |
#. translators: 1. Plugin(s) name(s).
|
680 |
msgid ""
|
681 |
"%s was deactivated as you're running an higher tier version of the same "
|
701 |
msgid "YITH"
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: includes/class-yit-assets.php:134
|
705 |
msgctxt "Button text"
|
706 |
msgid "Confirm"
|
707 |
msgstr ""
|
708 |
|
709 |
+
#: includes/class-yit-assets.php:135
|
710 |
msgctxt "Button text"
|
711 |
msgid "Cancel"
|
712 |
msgstr ""
|
713 |
|
714 |
+
#: includes/class-yit-assets.php:148 yit-functions.php:2009
|
715 |
msgctxt "Trash confirmation action"
|
716 |
msgid "Yes, move to trash"
|
717 |
msgstr ""
|
718 |
|
719 |
+
#: includes/class-yit-assets.php:152 yit-functions.php:2027
|
720 |
#: yit-functions.php:2154
|
721 |
msgctxt "Delete confirmation action"
|
722 |
msgid "Yes, delete"
|
933 |
|
934 |
#: templates/panel/help-tab.php:220
|
935 |
msgctxt "Help tab documentation"
|
936 |
+
msgid "to learn how it works from the basics."
|
937 |
msgstr ""
|
938 |
|
939 |
#: templates/panel/help-tab.php:231 templates/panel/help-tab.php:233
|
948 |
|
949 |
#: templates/panel/help-tab.php:238
|
950 |
msgctxt "Help tab support"
|
951 |
+
msgid ""
|
952 |
+
"Call or chat 24/7 with our support agents, or let our experts build your "
|
953 |
+
"site."
|
954 |
msgstr ""
|
955 |
|
956 |
#: templates/panel/help-tab.php:241
|
973 |
msgid "Plugin premium features images"
|
974 |
msgstr ""
|
975 |
|
976 |
+
#: templates/panel/premium-tab.php:51 templates/panel/premium-tab.php:58
|
977 |
#. translators: alt attribute of main image tag.
|
978 |
msgctxt "Premium Tab"
|
979 |
msgid "And so much more!"
|
981 |
|
982 |
#: templates/panel/premium-tab.php:53
|
983 |
msgctxt "Premium Tab"
|
984 |
+
msgid "Check the premium features >"
|
985 |
+
msgstr ""
|
986 |
+
|
987 |
+
#: templates/panel/premium-tab.php:60
|
988 |
+
msgctxt "Premium Tab"
|
989 |
msgid "Check the free vs premium features >"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: templates/panel/premium-tab.php:65
|
993 |
msgctxt "Premium Tab"
|
994 |
msgid "Get the premium version"
|
995 |
msgstr ""
|
1049 |
msgid "Delete"
|
1050 |
msgstr ""
|
1051 |
|
1052 |
+
#: yit-plugin.php:85
|
1053 |
msgctxt "Plugin Row Meta"
|
1054 |
msgid "Live Demo"
|
1055 |
msgstr ""
|
1056 |
|
1057 |
+
#: yit-plugin.php:89
|
1058 |
msgctxt "Plugin Row Meta"
|
1059 |
msgid "Documentation"
|
1060 |
msgstr ""
|
1061 |
|
1062 |
+
#: yit-plugin.php:93
|
1063 |
msgctxt "Plugin Row Meta"
|
1064 |
msgid "Support"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
+
#: yit-plugin.php:97
|
1068 |
msgctxt "Plugin Row Meta"
|
1069 |
msgid "Premium version"
|
1070 |
msgstr ""
|
1071 |
|
1072 |
+
#: yit-plugin.php:229
|
1073 |
msgctxt "Action links"
|
1074 |
msgid "Settings"
|
1075 |
msgstr ""
|
plugin-fw/templates/bh-onboarding/onboarding-tabs.php
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The Template for displaying the BH Onboarding tabs.
|
4 |
+
*
|
5 |
+
* @var array $options The premium tab options array.
|
6 |
+
*
|
7 |
+
* @package YITH\PluginFramework\Templates
|
8 |
+
* @author Emanuela Castorina <emanuela.castorina@yithemes.com>
|
9 |
+
* @since 3.9.11
|
10 |
+
*/
|
11 |
+
|
12 |
+
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
|
13 |
+
$tabs = $options['tabs'];
|
14 |
+
?>
|
15 |
+
<div class="woocommerce yith-plugin-fw-panel" id="yith-bh-onboarding">
|
16 |
+
<header>
|
17 |
+
<div class="yith-bh-onboarding-logo">
|
18 |
+
<?php if ( isset( $options['logo'] ) ) : ?>
|
19 |
+
<div class="logo">
|
20 |
+
<img src="<?php echo esc_url( $options['logo'] ); ?>" width="150"/>
|
21 |
+
</div>
|
22 |
+
<?php endif; ?>
|
23 |
+
<?php if ( isset( $options['claim'] ) ) : ?>
|
24 |
+
<div class="claim"><?php echo esc_html( $options['claim'] ); ?></div>
|
25 |
+
<?php endif; ?>
|
26 |
+
</div>
|
27 |
+
<div class="yith-bh-onboarding-plugin-description">
|
28 |
+
<?php if ( isset( $options['plugin-description'] ) ) : ?>
|
29 |
+
<div class="plugin-description"><?php echo wp_kses_post( $options['plugin-description'] ); ?></div>
|
30 |
+
<?php endif; ?>
|
31 |
+
</div>
|
32 |
+
</header>
|
33 |
+
<div class="yith-bh-onboarding-tabs yith-plugin-ui">
|
34 |
+
<ul class="yith-bh-onboarding-tabs__nav">
|
35 |
+
<?php
|
36 |
+
$c = 0;
|
37 |
+
foreach ( $tabs as $key => $tab ) :
|
38 |
+
?>
|
39 |
+
<li class="yith-bh-onboarding-tabs__nav__link <?php echo ! ( $c ++ ) ? 'selected' : ''; ?>" data-tab="<?php esc_attr_e( $key ); ?>"><?php echo esc_html( $tab['title'] ); ?></li>
|
40 |
+
<?php
|
41 |
+
endforeach;
|
42 |
+
?>
|
43 |
+
</ul>
|
44 |
+
<div class="yith-bh-onboarding-tabs__content yith-plugin-fw yit-admin-panel-container">
|
45 |
+
<?php foreach ( $tabs as $key => $tab ) : ?>
|
46 |
+
<?php if ( isset( $tab['options'] ) ) : ?>
|
47 |
+
<div class="yith-bh-onboarding-tabs__tab" id="<?php echo esc_attr( $key ); ?>">
|
48 |
+
<p class="yith-bh-onboarding-tab-description"><?php echo wp_kses_post( $tab['description'] ); ?></p>
|
49 |
+
<form class="yith-bh-onboarding-tabs__form" id="plugin-fw-wc">
|
50 |
+
<table class="form-table">
|
51 |
+
<?php
|
52 |
+
foreach ( $tab['options'] as $name => $option ) {
|
53 |
+
YIT_Plugin_Panel_WooCommerce::add_yith_field( $option );
|
54 |
+
}
|
55 |
+
?>
|
56 |
+
</table>
|
57 |
+
<?php if ( isset( $tab['show_save_button'] ) && $tab['show_save_button'] ) : ?>
|
58 |
+
<input type="hidden" name="yith-plugin" value="<?php echo esc_attr( $options['slug'] ); ?>">
|
59 |
+
<input type="hidden" name="action" value="yith_bh_onboarding">
|
60 |
+
<input type="hidden" name="tab" value="<?php echo esc_attr( $key ); ?>">
|
61 |
+
<?php wp_nonce_field( 'yith-bh-onboarding-save-options' ); ?>
|
62 |
+
<div class="submit-area">
|
63 |
+
<button id="yith-bh-save-button" class="button button-primary"><?php echo esc_html__( 'Save', 'yith-plugin-fw' ); ?></button>
|
64 |
+
</div>
|
65 |
+
<?php endif; ?>
|
66 |
+
</form>
|
67 |
+
</div>
|
68 |
+
<?php
|
69 |
+
endif;
|
70 |
+
endforeach;
|
71 |
+
|
72 |
+
?>
|
73 |
+
</div>
|
74 |
+
|
75 |
+
</div>
|
plugin-fw/tests/bootstrap.php
ADDED
@@ -0,0 +1,167 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
|
2 |
+
/**
|
3 |
+
* PHPUnit bootstrap file.
|
4 |
+
*
|
5 |
+
* @package YITH Plugin Framework
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* YITH_Plugin_FW_Unit_Tests_Bootstrap class
|
10 |
+
*/
|
11 |
+
class YITH_Plugin_FW_Unit_Tests_Bootstrap {
|
12 |
+
/**
|
13 |
+
* Instance of the class
|
14 |
+
*
|
15 |
+
* @var YITH_Plugin_FW_Unit_Tests_Bootstrap
|
16 |
+
*/
|
17 |
+
protected static $instance = null;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Directory where wordpress-tests-lib is installed.
|
21 |
+
*
|
22 |
+
* @var string
|
23 |
+
*/
|
24 |
+
public $wp_tests_dir;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Testing directory
|
28 |
+
*
|
29 |
+
* @var string
|
30 |
+
*/
|
31 |
+
public $tests_dir;
|
32 |
+
|
33 |
+
/**
|
34 |
+
* The plugin directory.
|
35 |
+
*
|
36 |
+
* @var string
|
37 |
+
*/
|
38 |
+
public $plugin_dir;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* WooCommerce directory.
|
42 |
+
*
|
43 |
+
* @var string
|
44 |
+
*/
|
45 |
+
public $woocommerce_dir;
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Singleton implementation
|
49 |
+
*
|
50 |
+
* @return YITH_Plugin_FW_Unit_Tests_Bootstrap
|
51 |
+
*/
|
52 |
+
public static function instance() {
|
53 |
+
return ! is_null( self::$instance ) ? self::$instance : self::$instance = new self();
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Setup the unit testing environment.
|
58 |
+
*/
|
59 |
+
protected function __construct() {
|
60 |
+
|
61 |
+
ini_set( 'display_errors', 'on' );
|
62 |
+
error_reporting( E_ALL );
|
63 |
+
|
64 |
+
// Ensure server variable is set for WP email functions.
|
65 |
+
if ( ! isset( $_SERVER['SERVER_NAME'] ) ) {
|
66 |
+
$_SERVER['SERVER_NAME'] = 'localhost';
|
67 |
+
}
|
68 |
+
|
69 |
+
$this->tests_dir = dirname( __FILE__ );
|
70 |
+
$this->plugin_dir = dirname( $this->tests_dir, 2 );
|
71 |
+
$this->woocommerce_dir = dirname( $this->plugin_dir ) . '/woocommerce';
|
72 |
+
$this->wp_tests_dir = getenv( 'WP_TESTS_DIR' ) ? getenv( 'WP_TESTS_DIR' ) : ( rtrim( sys_get_temp_dir(), '/\\' ) . '/wordpress-tests-lib' );
|
73 |
+
|
74 |
+
define( 'YITH_PLUGIN_FRAMEWORK_TESTS_DIR', $this->tests_dir );
|
75 |
+
|
76 |
+
if ( ! file_exists( $this->wp_tests_dir . '/includes/functions.php' ) ) {
|
77 |
+
$this->message( "Could not find {$this->wp_tests_dir}/includes/functions.php, have you run [npm run env:install] ?" );
|
78 |
+
exit( 1 );
|
79 |
+
}
|
80 |
+
|
81 |
+
require_once $this->wp_tests_dir . '/includes/functions.php';
|
82 |
+
|
83 |
+
// load plugins.
|
84 |
+
tests_add_filter( 'muplugins_loaded', array( $this, 'load_plugins' ) );
|
85 |
+
tests_add_filter( 'setup_theme', array( $this, 'install_wc' ) );
|
86 |
+
tests_add_filter( 'setup_theme', array( $this, 'show_info' ), 20 );
|
87 |
+
|
88 |
+
// load the WP testing environment.
|
89 |
+
require_once $this->wp_tests_dir . '/includes/bootstrap.php';
|
90 |
+
|
91 |
+
// load testing framework.
|
92 |
+
$this->includes();
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Load plugins
|
97 |
+
*
|
98 |
+
* @return void
|
99 |
+
*/
|
100 |
+
public function load_plugins() {
|
101 |
+
require_once $this->woocommerce_dir . '/woocommerce.php';
|
102 |
+
require_once $this->plugin_dir . '/yith-plugin-fw-loader.php';
|
103 |
+
}
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Install WooCommerce
|
107 |
+
*
|
108 |
+
* @return void
|
109 |
+
*/
|
110 |
+
public function install_wc() {
|
111 |
+
// Clean existing install first.
|
112 |
+
define( 'WP_UNINSTALL_PLUGIN', true );
|
113 |
+
define( 'WC_REMOVE_ALL_DATA', true );
|
114 |
+
include $this->woocommerce_dir . '/uninstall.php';
|
115 |
+
|
116 |
+
WC_Install::install();
|
117 |
+
|
118 |
+
// Reload capabilities after install, see https://core.trac.wordpress.org/ticket/28374.
|
119 |
+
if ( version_compare( $GLOBALS['wp_version'], '4.7', '<' ) ) {
|
120 |
+
$GLOBALS['wp_roles']->reinit();
|
121 |
+
} else {
|
122 |
+
$GLOBALS['wp_roles'] = null;
|
123 |
+
wp_roles();
|
124 |
+
}
|
125 |
+
|
126 |
+
$this->message( 'Installing WooCommerce...' );
|
127 |
+
}
|
128 |
+
|
129 |
+
/**
|
130 |
+
* Include files
|
131 |
+
*
|
132 |
+
* @return void
|
133 |
+
*/
|
134 |
+
public function includes() {
|
135 |
+
$helpers_dir = YITH_PLUGIN_FRAMEWORK_TESTS_DIR . '/framework/helpers';
|
136 |
+
|
137 |
+
require_once $helpers_dir . '/class-yith-plugin-fw-panels-helper.php';
|
138 |
+
}
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Print a message
|
142 |
+
*
|
143 |
+
* @param string $message The message to be shown.
|
144 |
+
* @return void
|
145 |
+
*/
|
146 |
+
public function message( $message ) {
|
147 |
+
echo $message . PHP_EOL; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
148 |
+
}
|
149 |
+
|
150 |
+
/**
|
151 |
+
* Show installation information
|
152 |
+
*
|
153 |
+
* @return void
|
154 |
+
*/
|
155 |
+
public function show_info() {
|
156 |
+
$this->message( '' );
|
157 |
+
$this->message( 'I N S T A L L A T I O N I N F O :' );
|
158 |
+
$this->message( '> WP Version: ' . get_bloginfo( 'version', 'display' ) );
|
159 |
+
$this->message( '> WC Version: ' . get_plugin_data( $this->woocommerce_dir . '/woocommerce.php' )['Version'] );
|
160 |
+
$this->message( '> Plugin Dir: ' . $this->plugin_dir );
|
161 |
+
$this->message( '> ABSPATH: ' . ( defined( 'ABSPATH' ) ? ABSPATH : 'not defined!' ) );
|
162 |
+
$this->message( '' );
|
163 |
+
}
|
164 |
+
|
165 |
+
}
|
166 |
+
|
167 |
+
YITH_Plugin_FW_Unit_Tests_Bootstrap::instance();
|
plugin-fw/tests/framework/fixtures/panel-all-options.php
ADDED
@@ -0,0 +1,240 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Options for YITH Plugin Panel WooCommerce
|
4 |
+
*
|
5 |
+
* @package YITH Plugin Framework
|
6 |
+
*/
|
7 |
+
|
8 |
+
return array(
|
9 |
+
'ajax-customers' => array(
|
10 |
+
'type' => 'ajax-customers',
|
11 |
+
'value' => 1,
|
12 |
+
'php_unit_expected' => 1,
|
13 |
+
),
|
14 |
+
|
15 |
+
'ajax-customers-multiple' => array(
|
16 |
+
'type' => 'ajax-customers',
|
17 |
+
'multiple' => true,
|
18 |
+
'value' => array( 1, 2, 3 ),
|
19 |
+
'php_unit_expected' => array( 1, 2, 3 ),
|
20 |
+
),
|
21 |
+
|
22 |
+
'ajax-posts' => array(
|
23 |
+
'type' => 'ajax-posts',
|
24 |
+
'value' => 1,
|
25 |
+
'php_unit_expected' => 1,
|
26 |
+
),
|
27 |
+
|
28 |
+
'ajax-posts-multiple' => array(
|
29 |
+
'type' => 'ajax-posts',
|
30 |
+
'multiple' => true,
|
31 |
+
'value' => array( 1, 2, 3 ),
|
32 |
+
'php_unit_expected' => array( 1, 2, 3 ),
|
33 |
+
),
|
34 |
+
|
35 |
+
'ajax-products' => array(
|
36 |
+
'type' => 'ajax-products',
|
37 |
+
'value' => 1,
|
38 |
+
'php_unit_expected' => 1,
|
39 |
+
),
|
40 |
+
|
41 |
+
'ajax-products-multiple' => array(
|
42 |
+
'type' => 'ajax-products',
|
43 |
+
'multiple' => true,
|
44 |
+
'value' => array( 1, 2, 3 ),
|
45 |
+
'php_unit_expected' => array( 1, 2, 3 ),
|
46 |
+
),
|
47 |
+
|
48 |
+
'ajax-terms' => array(
|
49 |
+
'type' => 'ajax-terms',
|
50 |
+
'value' => 1,
|
51 |
+
'php_unit_expected' => 1,
|
52 |
+
),
|
53 |
+
|
54 |
+
'ajax-terms-multiple' => array(
|
55 |
+
'type' => 'ajax-terms',
|
56 |
+
'multiple' => true,
|
57 |
+
'value' => array( 1, 2, 3 ),
|
58 |
+
'php_unit_expected' => array( 1, 2, 3 ),
|
59 |
+
),
|
60 |
+
|
61 |
+
'checkbox' => array(
|
62 |
+
'type' => 'checkbox',
|
63 |
+
'value' => 1,
|
64 |
+
'php_unit_expected' => 'yes',
|
65 |
+
),
|
66 |
+
|
67 |
+
'checkbox-off' => array(
|
68 |
+
'type' => 'checkbox',
|
69 |
+
'value' => 0,
|
70 |
+
'php_unit_expected' => 'no',
|
71 |
+
),
|
72 |
+
|
73 |
+
'checkbox-array' => array(
|
74 |
+
'type' => 'checkbox-array',
|
75 |
+
'value' => array( 'one', 'two', 'three' ),
|
76 |
+
'php_unit_expected' => array( 'one', 'two', 'three' ),
|
77 |
+
),
|
78 |
+
|
79 |
+
'colorpicker' => array(
|
80 |
+
'type' => 'colorpicker',
|
81 |
+
'value' => '#123456',
|
82 |
+
'php_unit_expected' => '#123456',
|
83 |
+
),
|
84 |
+
|
85 |
+
'country-select' => array(
|
86 |
+
'type' => 'country-select',
|
87 |
+
'value' => 'US:NY',
|
88 |
+
'php_unit_expected' => 'US:NY',
|
89 |
+
),
|
90 |
+
|
91 |
+
'date-format' => array(
|
92 |
+
'type' => 'date-format',
|
93 |
+
'value' => 'Y-m-d',
|
94 |
+
'php_unit_expected' => 'Y-m-d',
|
95 |
+
),
|
96 |
+
|
97 |
+
'datepicker' => array(
|
98 |
+
'type' => 'datepicker',
|
99 |
+
'value' => '2020-12-25',
|
100 |
+
'php_unit_expected' => '2020-12-25',
|
101 |
+
),
|
102 |
+
|
103 |
+
'dimensions' => array(
|
104 |
+
'type' => 'dimensions',
|
105 |
+
'value' => array(
|
106 |
+
'unit' => 'px',
|
107 |
+
'dimensions' => array(
|
108 |
+
'top' => 10,
|
109 |
+
'right' => 20,
|
110 |
+
'bottom' => 10,
|
111 |
+
'left' => 20,
|
112 |
+
),
|
113 |
+
'linked' => 'yes',
|
114 |
+
),
|
115 |
+
'php_unit_expected' => array(
|
116 |
+
'unit' => 'px',
|
117 |
+
'dimensions' => array(
|
118 |
+
'top' => 10,
|
119 |
+
'right' => 20,
|
120 |
+
'bottom' => 10,
|
121 |
+
'left' => 20,
|
122 |
+
),
|
123 |
+
'linked' => 'yes',
|
124 |
+
),
|
125 |
+
),
|
126 |
+
|
127 |
+
'hidden' => array(
|
128 |
+
'type' => 'hidden',
|
129 |
+
'value' => 'This is a dummy test!',
|
130 |
+
'php_unit_expected' => 'This is a dummy test!',
|
131 |
+
),
|
132 |
+
|
133 |
+
'icons' => array(
|
134 |
+
'type' => 'icons',
|
135 |
+
'value' => 'FontAwesome:music',
|
136 |
+
'php_unit_expected' => 'FontAwesome:music',
|
137 |
+
),
|
138 |
+
|
139 |
+
'image-gallery' => array(
|
140 |
+
'type' => 'image-gallery',
|
141 |
+
'value' => '1,2,3',
|
142 |
+
'php_unit_expected' => '1,2,3',
|
143 |
+
),
|
144 |
+
|
145 |
+
'multi-colorpicker' => array(
|
146 |
+
'type' => 'multi-colorpicker',
|
147 |
+
'value' => array( '#ffffff', '#000000' ),
|
148 |
+
'php_unit_expected' => array( '#ffffff', '#000000' ),
|
149 |
+
),
|
150 |
+
|
151 |
+
'multi-select' => array(
|
152 |
+
'type' => 'multi-select',
|
153 |
+
'value' => array( 'one', 'two' ),
|
154 |
+
'php_unit_expected' => array( 'one', 'two' ),
|
155 |
+
),
|
156 |
+
|
157 |
+
'number' => array(
|
158 |
+
'type' => 'number',
|
159 |
+
'value' => 10,
|
160 |
+
'php_unit_expected' => 10,
|
161 |
+
),
|
162 |
+
|
163 |
+
'onoff' => array(
|
164 |
+
'type' => 'onoff',
|
165 |
+
'value' => 1,
|
166 |
+
'php_unit_expected' => 'yes',
|
167 |
+
),
|
168 |
+
|
169 |
+
'onoff-off' => array(
|
170 |
+
'type' => 'onoff',
|
171 |
+
'value' => 0,
|
172 |
+
'php_unit_expected' => 'no',
|
173 |
+
),
|
174 |
+
|
175 |
+
'password' => array(
|
176 |
+
'type' => 'password',
|
177 |
+
'value' => 'password',
|
178 |
+
'php_unit_expected' => 'password',
|
179 |
+
),
|
180 |
+
|
181 |
+
'radio' => array(
|
182 |
+
'type' => 'radio',
|
183 |
+
'value' => 'one',
|
184 |
+
'php_unit_expected' => 'one',
|
185 |
+
),
|
186 |
+
|
187 |
+
'select' => array(
|
188 |
+
'type' => 'select',
|
189 |
+
'value' => 'one',
|
190 |
+
'php_unit_expected' => 'one',
|
191 |
+
),
|
192 |
+
|
193 |
+
'select-images' => array(
|
194 |
+
'type' => 'select-images',
|
195 |
+
'value' => 'one',
|
196 |
+
'php_unit_expected' => 'one',
|
197 |
+
),
|
198 |
+
|
199 |
+
'slider' => array(
|
200 |
+
'type' => 'slider',
|
201 |
+
'value' => 50,
|
202 |
+
'php_unit_expected' => 50,
|
203 |
+
),
|
204 |
+
|
205 |
+
'text' => array(
|
206 |
+
'type' => 'text',
|
207 |
+
'value' => 'This is a dummy test!',
|
208 |
+
'php_unit_expected' => 'This is a dummy test!',
|
209 |
+
),
|
210 |
+
|
211 |
+
'text-array' => array(
|
212 |
+
'type' => 'text-array',
|
213 |
+
'value' => array('one', 'two', "Let's testing quotes and double quotes \""),
|
214 |
+
'php_unit_expected' => array('one', 'two', "Let's testing quotes and double quotes \""),
|
215 |
+
),
|
216 |
+
|
217 |
+
'textarea' => array(
|
218 |
+
'type' => 'textarea',
|
219 |
+
'value' => "Let's testing quotes, double quotes \" and <h1>HTML tags</h1>",
|
220 |
+
'php_unit_expected' => "Let's testing quotes, double quotes \" and <h1>HTML tags</h1>",
|
221 |
+
),
|
222 |
+
|
223 |
+
'textarea-codemirror' => array(
|
224 |
+
'type' => 'textarea-codemirror',
|
225 |
+
'value' => "Let's testing quotes, double quotes \" and <h1>HTML tags</h1>",
|
226 |
+
'php_unit_expected' => "Let's testing quotes, double quotes \" and <h1>HTML tags</h1>",
|
227 |
+
),
|
228 |
+
|
229 |
+
'textarea-editor' => array(
|
230 |
+
'type' => 'textarea-editor',
|
231 |
+
'value' => "Let's testing quotes, double quotes \" and <h1>HTML tags</h1>",
|
232 |
+
'php_unit_expected' => "Let's testing quotes, double quotes \" and <h1>HTML tags</h1>",
|
233 |
+
),
|
234 |
+
|
235 |
+
'upload' => array(
|
236 |
+
'type' => 'upload',
|
237 |
+
'value' => 'http://example.com/image.jpg',
|
238 |
+
'php_unit_expected' => 'http://example.com/image.jpg',
|
239 |
+
),
|
240 |
+
);
|
plugin-fw/tests/framework/helpers/class-yith-plugin-fw-panels-helper.php
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Panels Helper
|
4 |
+
*
|
5 |
+
* @package YITH Plugin Framework
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Plugin Panels Helper class.
|
10 |
+
*/
|
11 |
+
class YITH_Plugin_FW_Panels_Helper {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* The WooCommerce Panel page.
|
15 |
+
*
|
16 |
+
* @var string
|
17 |
+
*/
|
18 |
+
public static $wc_panel_page = 'yith_plugin_fw_test_wc_panel';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Create WC Panel
|
22 |
+
*
|
23 |
+
* @return YIT_Plugin_Panel_WooCommerce
|
24 |
+
*/
|
25 |
+
public static function create_wc_panel() {
|
26 |
+
|
27 |
+
$admin_tabs = array(
|
28 |
+
'wc-panel' => 'WooCommerce Panel',
|
29 |
+
);
|
30 |
+
|
31 |
+
$args = array(
|
32 |
+
'create_menu_page' => true,
|
33 |
+
'parent_slug' => '',
|
34 |
+
'page_title' => 'WooCommerce Panel',
|
35 |
+
'menu_title' => 'WooCommerce Panel',
|
36 |
+
'capability' => 'manage_options',
|
37 |
+
'parent' => '',
|
38 |
+
'parent_page' => 'yit_plugin_panel',
|
39 |
+
'page' => self::$wc_panel_page,
|
40 |
+
'admin-tabs' => $admin_tabs,
|
41 |
+
'options-path' => YITH_PLUGIN_FRAMEWORK_TESTS_DIR . '/framework/plugin-options',
|
42 |
+
);
|
43 |
+
|
44 |
+
return new YIT_Plugin_Panel_WooCommerce( $args );
|
45 |
+
}
|
46 |
+
|
47 |
+
public static function init_vars_wc_panel_options_for_saving( $panel, $tab, $subtab = '' ) {
|
48 |
+
|
49 |
+
set_current_screen( 'yith-plugins_page_' . $panel->settings['page'] );
|
50 |
+
$_POST = array();
|
51 |
+
$_GET = array();
|
52 |
+
|
53 |
+
$_GET['page'] = $panel->settings['page'];
|
54 |
+
$_GET['tab'] = $tab;
|
55 |
+
$_GET['sub_tab'] = $subtab;
|
56 |
+
$_POST['yit_panel_wc_options_nonce'] = wp_create_nonce( 'yit_panel_wc_options_' . $panel->settings['page'] );
|
57 |
+
|
58 |
+
$prefix = $tab . '-';
|
59 |
+
|
60 |
+
$options = self::get_fixture( 'all-options' );
|
61 |
+
$new_options = array();
|
62 |
+
|
63 |
+
foreach ( $options as $key => $option ) {
|
64 |
+
$prefixed_key = $prefix . $key;
|
65 |
+
$value = $option['value'];
|
66 |
+
$_POST[ $prefixed_key ] = $value;
|
67 |
+
|
68 |
+
$new_options[ $prefixed_key ] = $option;
|
69 |
+
}
|
70 |
+
|
71 |
+
return $new_options;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Get a fixture
|
76 |
+
*
|
77 |
+
* @param string $fixture The fixture.
|
78 |
+
* @return array
|
79 |
+
*/
|
80 |
+
public static function get_fixture( $fixture ) {
|
81 |
+
return include YITH_PLUGIN_FRAMEWORK_TESTS_DIR . '/framework/fixtures/panel-' . $fixture . '.php';
|
82 |
+
}
|
83 |
+
}
|
plugin-fw/tests/framework/plugin-options/wc-panel-options.php
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php // phpcs:disable WordPress.WP.GlobalVariablesOverride.Prohibited
|
2 |
+
/**
|
3 |
+
* Options for YITH Plugin Panel WooCommerce
|
4 |
+
*
|
5 |
+
* @package YITH Plugin Framework
|
6 |
+
*/
|
7 |
+
|
8 |
+
$prefix = str_replace( '-options.php', '', basename( __FILE__ ) ) . '-';
|
9 |
+
$options = YITH_Plugin_FW_Panels_Helper::get_fixture( 'all-options' );
|
10 |
+
$fields = array();
|
11 |
+
|
12 |
+
$fields[ $prefix . 'general-options' ] = array(
|
13 |
+
'title' => 'General',
|
14 |
+
'type' => 'title',
|
15 |
+
'id' => 'general-options',
|
16 |
+
);
|
17 |
+
|
18 |
+
foreach ( $options as $key => $values ) {
|
19 |
+
$type = $values['type'];
|
20 |
+
$prefixed_key = $prefix . $key;
|
21 |
+
|
22 |
+
$id_title = array(
|
23 |
+
'id' => $prefixed_key,
|
24 |
+
'title' => $prefixed_key,
|
25 |
+
);
|
26 |
+
|
27 |
+
$fields[ $prefixed_key ] = wp_parse_args( $values, $id_title );
|
28 |
+
$fields[ $prefixed_key ]['type'] = 'yith-field';
|
29 |
+
$fields[ $prefixed_key ]['yith-type'] = $type;
|
30 |
+
if ( isset( $fields[ $prefixed_key ]['value'] ) ) {
|
31 |
+
unset( $fields[ $prefixed_key ]['value'] );
|
32 |
+
}
|
33 |
+
}
|
34 |
+
|
35 |
+
|
36 |
+
$fields[ $prefix . 'general-options-end' ] = array(
|
37 |
+
'type' => 'sectionend',
|
38 |
+
'id' => 'general-options',
|
39 |
+
);
|
40 |
+
|
41 |
+
return array(
|
42 |
+
'wc-panel' => $fields,
|
43 |
+
);
|
plugin-fw/tests/unit-tests/class-yith-plugin-fw-tests-plugin-panel-wc.php
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Test class for Plugin Panel WooCommerce
|
4 |
+
*
|
5 |
+
* @package YITH Plugin Framework
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Class YITH_Plugin_FW_Tests_Plugin_Panel_WC
|
10 |
+
*/
|
11 |
+
class YITH_Plugin_FW_Tests_Plugin_Panel_WC extends WP_UnitTestCase {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* The panel.
|
15 |
+
*
|
16 |
+
* @var YIT_Plugin_Panel_WooCommerce
|
17 |
+
*/
|
18 |
+
protected $panel;
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Set Up
|
22 |
+
*
|
23 |
+
* @return void
|
24 |
+
*/
|
25 |
+
public function setUp() {
|
26 |
+
$this->panel = YITH_Plugin_FW_Panels_Helper::create_wc_panel();
|
27 |
+
|
28 |
+
// Include admin functions to use woocommerce_update_options().
|
29 |
+
include_once WC_ABSPATH . '/includes/admin/wc-admin-functions.php';
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Test simple tab with options.
|
34 |
+
*/
|
35 |
+
public function test_simple_tab() {
|
36 |
+
$options = YITH_Plugin_FW_Panels_Helper::init_vars_wc_panel_options_for_saving( $this->panel, 'wc-panel' );
|
37 |
+
|
38 |
+
$this->panel->woocommerce_update_options();
|
39 |
+
|
40 |
+
foreach ( $options as $key => $option ) {
|
41 |
+
$value = get_option( $key );
|
42 |
+
$expected = $option['php_unit_expected'];
|
43 |
+
$message = sprintf( 'Test for %s [type: %s]', $key, $option['type'] );
|
44 |
+
|
45 |
+
$this->assertEquals( $expected, $value, $message );
|
46 |
+
}
|
47 |
+
|
48 |
+
}
|
49 |
+
}
|
plugin-fw/tools/local-env/docker/phpunit/Dockerfile
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
FROM phpunit/phpunit:latest
|
2 |
+
|
3 |
+
RUN apk update && \
|
4 |
+
apk add --no-cache sqlite bash mariadb-client php7-mysqli subversion wget
|
5 |
+
|
6 |
+
RUN apk upgrade subversion
|
7 |
+
|
8 |
+
ENTRYPOINT []
|
9 |
+
|
10 |
+
WORKDIR /var/www/html/wp-content/plugins/yith-plugin-fw-loader/plugin-fw
|
11 |
+
|
12 |
+
CMD /bin/true
|
plugin-fw/tools/local-env/install-wp-tests.sh
ADDED
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/usr/bin/env bash
|
2 |
+
|
3 |
+
if [ $# -lt 3 ]; then
|
4 |
+
echo "usage: $0 <db-name> <db-user> <db-pass> [db-host] [wp-version] [skip-database-creation]"
|
5 |
+
exit 1
|
6 |
+
fi
|
7 |
+
|
8 |
+
|
9 |
+
echo "INSTALLING...";
|
10 |
+
DB_NAME=$1
|
11 |
+
DB_USER=$2
|
12 |
+
DB_PASS=$3
|
13 |
+
DB_HOST=${4-localhost}
|
14 |
+
WP_VERSION=${5-latest}
|
15 |
+
SKIP_DB_CREATE=${6-false}
|
16 |
+
|
17 |
+
TMPDIR=${TMPDIR-/tmp}
|
18 |
+
TMPDIR=$(echo $TMPDIR | sed -e "s/\/$//")
|
19 |
+
WP_TESTS_DIR=${WP_TESTS_DIR-$TMPDIR/wordpress-tests-lib}
|
20 |
+
WP_CORE_DIR=${WP_CORE_DIR-$TMPDIR/wordpress/}
|
21 |
+
|
22 |
+
download() {
|
23 |
+
if [ `which curl` ]; then
|
24 |
+
curl -s "$1" > "$2";
|
25 |
+
elif [ `which wget` ]; then
|
26 |
+
wget -nv -O "$2" "$1"
|
27 |
+
fi
|
28 |
+
}
|
29 |
+
|
30 |
+
if [[ $WP_VERSION =~ ^[0-9]+\.[0-9]+$ ]]; then
|
31 |
+
WP_TESTS_TAG="branches/$WP_VERSION"
|
32 |
+
elif [[ $WP_VERSION =~ [0-9]+\.[0-9]+\.[0-9]+ ]]; then
|
33 |
+
if [[ $WP_VERSION =~ [0-9]+\.[0-9]+\.[0] ]]; then
|
34 |
+
# version x.x.0 means the first release of the major version, so strip off the .0 and download version x.x
|
35 |
+
WP_TESTS_TAG="tags/${WP_VERSION%??}"
|
36 |
+
else
|
37 |
+
WP_TESTS_TAG="tags/$WP_VERSION"
|
38 |
+
fi
|
39 |
+
elif [[ $WP_VERSION == 'nightly' || $WP_VERSION == 'trunk' ]]; then
|
40 |
+
WP_TESTS_TAG="trunk"
|
41 |
+
else
|
42 |
+
# http serves a single offer, whereas https serves multiple. we only want one
|
43 |
+
download http://api.wordpress.org/core/version-check/1.7/ /tmp/wp-latest.json
|
44 |
+
grep '[0-9]+\.[0-9]+(\.[0-9]+)?' /tmp/wp-latest.json
|
45 |
+
LATEST_VERSION=$(grep -o '"version":"[^"]*' /tmp/wp-latest.json | sed 's/"version":"//')
|
46 |
+
if [[ -z "$LATEST_VERSION" ]]; then
|
47 |
+
echo "Latest WordPress version could not be found"
|
48 |
+
exit 1
|
49 |
+
fi
|
50 |
+
WP_TESTS_TAG="tags/$LATEST_VERSION"
|
51 |
+
fi
|
52 |
+
|
53 |
+
set -ex
|
54 |
+
|
55 |
+
install_wp() {
|
56 |
+
|
57 |
+
if [ -d $WP_CORE_DIR ]; then
|
58 |
+
return;
|
59 |
+
fi
|
60 |
+
|
61 |
+
mkdir -p $WP_CORE_DIR
|
62 |
+
|
63 |
+
if [[ $WP_VERSION == 'nightly' || $WP_VERSION == 'trunk' ]]; then
|
64 |
+
mkdir -p $TMPDIR/wordpress-nightly
|
65 |
+
download https://wordpress.org/nightly-builds/wordpress-latest.zip $TMPDIR/wordpress-nightly/wordpress-nightly.zip
|
66 |
+
unzip -q $TMPDIR/wordpress-nightly/wordpress-nightly.zip -d $TMPDIR/wordpress-nightly/
|
67 |
+
mv $TMPDIR/wordpress-nightly/wordpress/* $WP_CORE_DIR
|
68 |
+
else
|
69 |
+
if [ $WP_VERSION == 'latest' ]; then
|
70 |
+
local ARCHIVE_NAME='latest'
|
71 |
+
elif [[ $WP_VERSION =~ [0-9]+\.[0-9]+ ]]; then
|
72 |
+
# https serves multiple offers, whereas http serves single.
|
73 |
+
download https://api.wordpress.org/core/version-check/1.7/ $TMPDIR/wp-latest.json
|
74 |
+
if [[ $WP_VERSION =~ [0-9]+\.[0-9]+\.[0] ]]; then
|
75 |
+
# version x.x.0 means the first release of the major version, so strip off the .0 and download version x.x
|
76 |
+
LATEST_VERSION=${WP_VERSION%??}
|
77 |
+
else
|
78 |
+
# otherwise, scan the releases and get the most up to date minor version of the major release
|
79 |
+
local VERSION_ESCAPED=`echo $WP_VERSION | sed 's/\./\\\\./g'`
|
80 |
+
LATEST_VERSION=$(grep -o '"version":"'$VERSION_ESCAPED'[^"]*' $TMPDIR/wp-latest.json | sed 's/"version":"//' | head -1)
|
81 |
+
fi
|
82 |
+
if [[ -z "$LATEST_VERSION" ]]; then
|
83 |
+
local ARCHIVE_NAME="wordpress-$WP_VERSION"
|
84 |
+
else
|
85 |
+
local ARCHIVE_NAME="wordpress-$LATEST_VERSION"
|
86 |
+
fi
|
87 |
+
else
|
88 |
+
local ARCHIVE_NAME="wordpress-$WP_VERSION"
|
89 |
+
fi
|
90 |
+
download https://wordpress.org/${ARCHIVE_NAME}.tar.gz $TMPDIR/wordpress.tar.gz
|
91 |
+
tar --strip-components=1 -zxmf $TMPDIR/wordpress.tar.gz -C $WP_CORE_DIR
|
92 |
+
fi
|
93 |
+
|
94 |
+
download https://raw.github.com/markoheijnen/wp-mysqli/master/db.php $WP_CORE_DIR/wp-content/db.php
|
95 |
+
}
|
96 |
+
|
97 |
+
install_test_suite() {
|
98 |
+
# portable in-place argument for both GNU sed and Mac OSX sed
|
99 |
+
if [[ $(uname -s) == 'Darwin' ]]; then
|
100 |
+
local ioption='-i .bak'
|
101 |
+
else
|
102 |
+
local ioption='-i'
|
103 |
+
fi
|
104 |
+
|
105 |
+
# set up testing suite if it doesn't yet exist
|
106 |
+
if [ ! -d $WP_TESTS_DIR ]; then
|
107 |
+
# set up testing suite
|
108 |
+
mkdir -p $WP_TESTS_DIR
|
109 |
+
svn co --quiet https://develop.svn.wordpress.org/${WP_TESTS_TAG}/tests/phpunit/includes/ $WP_TESTS_DIR/includes
|
110 |
+
svn co --quiet https://develop.svn.wordpress.org/${WP_TESTS_TAG}/tests/phpunit/data/ $WP_TESTS_DIR/data
|
111 |
+
fi
|
112 |
+
|
113 |
+
if [ ! -f wp-tests-config.php ]; then
|
114 |
+
download https://develop.svn.wordpress.org/${WP_TESTS_TAG}/wp-tests-config-sample.php "$WP_TESTS_DIR"/wp-tests-config.php
|
115 |
+
# remove all forward slashes in the end
|
116 |
+
WP_CORE_DIR=$(echo $WP_CORE_DIR | sed "s:/\+$::")
|
117 |
+
sed $ioption "s:dirname( __FILE__ ) . '/src/':'$WP_CORE_DIR/':" "$WP_TESTS_DIR"/wp-tests-config.php
|
118 |
+
sed $ioption "s/youremptytestdbnamehere/$DB_NAME/" "$WP_TESTS_DIR"/wp-tests-config.php
|
119 |
+
sed $ioption "s/yourusernamehere/$DB_USER/" "$WP_TESTS_DIR"/wp-tests-config.php
|
120 |
+
sed $ioption "s/yourpasswordhere/$DB_PASS/" "$WP_TESTS_DIR"/wp-tests-config.php
|
121 |
+
sed $ioption "s|localhost|${DB_HOST}|" "$WP_TESTS_DIR"/wp-tests-config.php
|
122 |
+
fi
|
123 |
+
|
124 |
+
}
|
125 |
+
|
126 |
+
install_db() {
|
127 |
+
|
128 |
+
if [ ${SKIP_DB_CREATE} = "true" ]; then
|
129 |
+
return 0
|
130 |
+
fi
|
131 |
+
|
132 |
+
# parse DB_HOST for port or socket references
|
133 |
+
local PARTS=(${DB_HOST//\:/ })
|
134 |
+
local DB_HOSTNAME=${PARTS[0]};
|
135 |
+
local DB_SOCK_OR_PORT=${PARTS[1]};
|
136 |
+
local EXTRA=""
|
137 |
+
|
138 |
+
if ! [ -z $DB_HOSTNAME ] ; then
|
139 |
+
if [ $(echo $DB_SOCK_OR_PORT | grep -e '^[0-9]\{1,\}$') ]; then
|
140 |
+
EXTRA=" --host=$DB_HOSTNAME --port=$DB_SOCK_OR_PORT --protocol=tcp"
|
141 |
+
elif ! [ -z $DB_SOCK_OR_PORT ] ; then
|
142 |
+
EXTRA=" --socket=$DB_SOCK_OR_PORT"
|
143 |
+
elif ! [ -z $DB_HOSTNAME ] ; then
|
144 |
+
EXTRA=" --host=$DB_HOSTNAME --protocol=tcp"
|
145 |
+
fi
|
146 |
+
fi
|
147 |
+
|
148 |
+
# create database
|
149 |
+
mysqladmin create $DB_NAME --user="$DB_USER" --password="$DB_PASS"$EXTRA;
|
150 |
+
}
|
151 |
+
|
152 |
+
install_wp
|
153 |
+
install_test_suite
|
154 |
+
install_db
|
plugin-fw/tools/local-env/mysql-init.sql
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* MySQL server init.
|
3 |
+
*
|
4 |
+
* SQL queries in this file will be executed the first time the MySQL server is started.
|
5 |
+
*/
|
6 |
+
|
7 |
+
CREATE DATABASE IF NOT EXISTS yith_plugin_fw_tests;
|
plugin-fw/tools/local-env/phpunit-config.ini
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
upload_max_filesize = 1G
|
2 |
+
post_max_size = 1G
|
3 |
+
|
4 |
+
opcache.enable = 1
|
5 |
+
opcache.enable_cli = 1
|
6 |
+
opache.file_cache = /tmp/php-opcache
|
plugin-fw/tools/local-env/scripts/docker.js
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
const dotenv = require( 'dotenv' );
|
2 |
+
const { execSync } = require( 'child_process' );
|
3 |
+
dotenv.config();
|
4 |
+
|
5 |
+
// Execute any docker-compose command passed to this script.
|
6 |
+
execSync( 'docker-compose ' + process.argv.slice( 2 ).join( ' ' ), { stdio: 'inherit' } );
|
plugin-fw/tools/local-env/scripts/install.js
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
const dotenv = require( 'dotenv' );
|
2 |
+
const { execSync } = require( 'child_process' );
|
3 |
+
|
4 |
+
dotenv.config();
|
5 |
+
|
6 |
+
phpunitExec('/var/www/html/install-wp-tests.sh yith_plugin_fw_tests root password mysql latest true');
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Runs commands in the Docker PHPUnit environment.
|
10 |
+
*
|
11 |
+
* @param {string} cmd The command to run.
|
12 |
+
*/
|
13 |
+
function phpunitExec( cmd ) {
|
14 |
+
execSync( `docker-compose run --rm phpunit ${cmd}`, { stdio: 'inherit' } );
|
15 |
+
}
|
plugin-fw/tools/local-env/scripts/start.js
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
const dotenv = require( 'dotenv' );
|
2 |
+
const { execSync } = require( 'child_process' );
|
3 |
+
|
4 |
+
dotenv.config();
|
5 |
+
|
6 |
+
// Start the local-env containers.
|
7 |
+
execSync( 'docker-compose up -d', { stdio: 'inherit' } );
|
plugin-fw/tools/local-env/yith-plugin-fw-loader.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Name: YITH Plugin Framework Loader
|
4 |
+
* Plugin URI:
|
5 |
+
* Description: YITH Plugin Framework Loader
|
6 |
+
* Version: 1.0.0
|
7 |
+
* Author: YITH
|
8 |
+
* Author URI: http://yithemes.com/
|
9 |
+
* Text Domain: yith-plugin-framework-loader
|
10 |
+
* Domain Path: /languages/
|
11 |
+
*
|
12 |
+
* @author YITH
|
13 |
+
* @package YITH Plugin Framework Loader
|
14 |
+
* @version 1.0.0
|
15 |
+
*/
|
16 |
+
|
17 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
18 |
+
exit;
|
19 |
+
} // Exit if accessed directly
|
20 |
+
|
21 |
+
if ( ! function_exists( 'yith_plugin_registration_hook' ) ) {
|
22 |
+
require_once 'plugin-fw/yit-plugin-registration-hook.php';
|
23 |
+
}
|
24 |
+
register_activation_hook( __FILE__, 'yith_plugin_registration_hook' );
|
25 |
+
|
26 |
+
|
27 |
+
add_action( 'plugins_loaded', 'yith_plugin_fw_loader_load_plugin_fw', 15 );
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Plugin Framework Loader.
|
31 |
+
*
|
32 |
+
* @return void
|
33 |
+
*/
|
34 |
+
function yith_plugin_fw_loader_load_plugin_fw() {
|
35 |
+
|
36 |
+
if ( ! defined( 'YIT_CORE_PLUGIN' ) ) {
|
37 |
+
global $plugin_fw_data;
|
38 |
+
if ( ! empty( $plugin_fw_data ) ) {
|
39 |
+
$plugin_fw_file = array_shift( $plugin_fw_data );
|
40 |
+
require_once $plugin_fw_file;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
}
|
45 |
+
|
46 |
+
/* Plugin Framework Version Check */
|
47 |
+
if ( ! function_exists( 'yit_maybe_plugin_fw_loader' ) && file_exists( plugin_dir_path( __FILE__ ) . 'plugin-fw/init.php' ) ) {
|
48 |
+
require_once plugin_dir_path( __FILE__ ) . 'plugin-fw/init.php';
|
49 |
+
}
|
50 |
+
yit_maybe_plugin_fw_loader( plugin_dir_path( __FILE__ ) );
|
plugin-fw/yit-plugin.php
CHANGED
@@ -37,6 +37,7 @@ require_once 'includes/privacy/class-yith-privacy.php';
|
|
37 |
require_once 'includes/privacy/class-yith-privacy-plugin-abstract.php';
|
38 |
require_once 'includes/class-yith-system-status.php';
|
39 |
require_once 'includes/class-yith-post-type-admin.php';
|
|
|
40 |
|
41 |
// Gutenberg Support.
|
42 |
if ( class_exists( 'WP_Block_Type_Registry' ) ) {
|
37 |
require_once 'includes/privacy/class-yith-privacy-plugin-abstract.php';
|
38 |
require_once 'includes/class-yith-system-status.php';
|
39 |
require_once 'includes/class-yith-post-type-admin.php';
|
40 |
+
require_once 'includes/class-yith-bh-onboarding.php';
|
41 |
|
42 |
// Gutenberg Support.
|
43 |
if ( class_exists( 'WP_Block_Type_Registry' ) ) {
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Contributors: yithemes
|
|
4 |
Tags: woocommerce search by sku, woocommerce search results, woocommerce search shortcode, woocommerce search page, woocommerce search form, woocommerce search filter, woocommerce search products, woocommerce search content, woocommerce search autocomplete, woocommerce advanced search, woocommerce search category, woocommerce search product attributes, woocommerce search by tag, woocommerce search by brand, woocommerce predictive, woocommerce live search, woocommerce single product search, woocommerce site search, woocommerce search tex, tajax, search, woocommerce, products, themes, yit, e-commerce, shop, yith, ajax search, instant search, premium, yithemes, autocomplete, autosuggest, better search, category search, custom search, highlight terms, Live Search, Predictive Search, product search, relevant search, search highlight, search product, suggest, typeahead, WooCommerce Plugin, woocommerce product search, woocommerce search, wordpress ecommerce
|
5 |
Requires at least: 5.8
|
6 |
Tested up to: 6.0
|
7 |
-
Stable tag: 1.22.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -138,6 +138,9 @@ If you have created your own language pack for YITH WooCommerce Ajax Search, or
|
|
138 |
2. YITH WooCommerce Ajax Search in operation displaying WooCommerce search results
|
139 |
|
140 |
== Changelog ==
|
|
|
|
|
|
|
141 |
= 1.22.0 - Released on 27 July 2022 =
|
142 |
* New: support for WooCommerce 6.8
|
143 |
* Update: YITH plugin framework
|
4 |
Tags: woocommerce search by sku, woocommerce search results, woocommerce search shortcode, woocommerce search page, woocommerce search form, woocommerce search filter, woocommerce search products, woocommerce search content, woocommerce search autocomplete, woocommerce advanced search, woocommerce search category, woocommerce search product attributes, woocommerce search by tag, woocommerce search by brand, woocommerce predictive, woocommerce live search, woocommerce single product search, woocommerce site search, woocommerce search tex, tajax, search, woocommerce, products, themes, yit, e-commerce, shop, yith, ajax search, instant search, premium, yithemes, autocomplete, autosuggest, better search, category search, custom search, highlight terms, Live Search, Predictive Search, product search, relevant search, search highlight, search product, suggest, typeahead, WooCommerce Plugin, woocommerce product search, woocommerce search, wordpress ecommerce
|
5 |
Requires at least: 5.8
|
6 |
Tested up to: 6.0
|
7 |
+
Stable tag: 1.22.1
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
138 |
2. YITH WooCommerce Ajax Search in operation displaying WooCommerce search results
|
139 |
|
140 |
== Changelog ==
|
141 |
+
= 1.22.1 - Released on 4 August 2022 =
|
142 |
+
* Fix: Layout style
|
143 |
+
|
144 |
= 1.22.0 - Released on 27 July 2022 =
|
145 |
* New: support for WooCommerce 6.8
|
146 |
* Update: YITH plugin framework
|