WP Table Builder – WordPress Table Plugin - Version 1.3.2

Version Description

  • IMPROVE: Responsive builder will show table's layout at breakpoints even though it is not enabled.
  • IMPROVE: Better cell selected indicator at manage cells menu.
  • IMPROVE: Better cell select logic with shift key for multi cell selection at manage cells menu.
  • IMPROVE: Split cell button will only be activated for cells that can be split.
  • IMPROVE: Saving operation indicator.
  • PRO:FIX: Fixed an issue where empty cells are removing styles from other cells.
  • FIX: Fixed an issue affecting WordPress versions <
Download this release

Release Info

Developer imtiazrayhan
Plugin Icon 128x128 WP Table Builder – WordPress Table Plugin
Version 1.3.2
Comparing to
See all releases

Code changes from version 1.3.1 to 1.3.2

inc/admin/class-admin-menu.php CHANGED
@@ -310,6 +310,10 @@ class Admin_Menu {
310
  ]
311
 
312
  ];
 
 
 
 
313
  wp_localize_script( static::$generate_menu_script_hook, 'wptbGenerateMenuData', $generate_data );
314
  }
315
 
310
  ]
311
 
312
  ];
313
+
314
+ // generate data filter
315
+ $generate_data = apply_filters('wp-table-builder/filter/generate_data', $generate_data);
316
+
317
  wp_localize_script( static::$generate_menu_script_hook, 'wptbGenerateMenuData', $generate_data );
318
  }
319
 
inc/admin/class-admin.php CHANGED
@@ -111,7 +111,7 @@ class Admin {
111
  $tables_count = wp_count_posts( 'wptb-tables' );
112
  $tables_number = $tables_count->draft;
113
 
114
- if ( $tables_number >= 5 && get_option( 'wptb_review_notify' ) == "no" ) {
115
  ?>
116
  <div class="wptb-review-notice notice notice-info">
117
  <p style="font-size: 14px;">
111
  $tables_count = wp_count_posts( 'wptb-tables' );
112
  $tables_number = $tables_count->draft;
113
 
114
+ if ( $tables_number >= 3 && get_option( 'wptb_review_notify' ) == "no" ) {
115
  ?>
116
  <div class="wptb-review-notice notice notice-info">
117
  <p style="font-size: 14px;">
inc/admin/controls/base-control.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace WP_Table_Builder\Inc\Admin\Controls;
3
 
4
  // If this file is called directly, abort.
@@ -19,7 +20,7 @@ abstract class Base_Control {
19
  * Base_Control constructor.
20
  */
21
  public function __construct() {
22
- $this->enqueue();
23
  }
24
 
25
 
@@ -33,8 +34,8 @@ abstract class Base_Control {
33
  * @abstract
34
  */
35
  abstract public function get_type();
36
-
37
- /**
38
  * Enqueue control scripts and styles.
39
  *
40
  * Used to register and enqueue custom scripts and styles used by the control.
@@ -42,9 +43,10 @@ abstract class Base_Control {
42
  * @since 1.1.2
43
  * @access public
44
  */
45
- public function enqueue() {}
46
-
47
- /**
 
48
  * Control content template.
49
  *
50
  * Used to generate the control HTML in the editor using wp js template
@@ -54,8 +56,8 @@ abstract class Base_Control {
54
  * @abstract
55
  */
56
  abstract public function content_template();
57
-
58
- /**
59
  * Output element template.
60
  *
61
  * Used to generate the element template on the editor.
@@ -73,11 +75,21 @@ abstract class Base_Control {
73
  if ( empty( $template_content ) ) {
74
  return;
75
  }
76
-
77
  ?>
78
- <script type="text/html" id="tmpl-wptb-<?php echo esc_attr( $this->get_type() ); ?>-control">
79
- <?php echo $template_content; ?>
80
- </script>
81
  <?php
82
  }
 
 
 
 
 
 
 
 
 
 
83
  }
1
  <?php
2
+
3
  namespace WP_Table_Builder\Inc\Admin\Controls;
4
 
5
  // If this file is called directly, abort.
20
  * Base_Control constructor.
21
  */
22
  public function __construct() {
23
+ $this->enqueue();
24
  }
25
 
26
 
34
  * @abstract
35
  */
36
  abstract public function get_type();
37
+
38
+ /**
39
  * Enqueue control scripts and styles.
40
  *
41
  * Used to register and enqueue custom scripts and styles used by the control.
43
  * @since 1.1.2
44
  * @access public
45
  */
46
+ public function enqueue() {
47
+ }
48
+
49
+ /**
50
  * Control content template.
51
  *
52
  * Used to generate the control HTML in the editor using wp js template
56
  * @abstract
57
  */
58
  abstract public function content_template();
59
+
60
+ /**
61
  * Output element template.
62
  *
63
  * Used to generate the element template on the editor.
75
  if ( empty( $template_content ) ) {
76
  return;
77
  }
78
+
79
  ?>
80
+ <script type="text/html" id="tmpl-wptb-<?php echo esc_attr( $this->get_type() ); ?>-control">
81
+ <?php echo $template_content; ?>
82
+ </script>
83
  <?php
84
  }
85
+
86
+ /**
87
+ * Final evaluation to make before adding control to registered controls list.
88
+ *
89
+ * @return bool register or not
90
+ */
91
+ public static function register_evaluation() {
92
+ return true;
93
+
94
+ }
95
  }
inc/admin/controls/control-local-dev-file.php ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WP_Table_Builder\Inc\Admin\Controls;
4
+
5
+ use WP_table_Builder_Pro as WPTBNS;
6
+ use WP_Table_Builder_Pro\Inc\Admin\Managers\Dev_Local_Files_Manager;
7
+ use function path_join;
8
+ use function request_filesystem_credentials;
9
+ use function trailingslashit;
10
+ use function WP_Filesystem;
11
+ use const pathinfo;
12
+
13
+ // if called directly, abort
14
+ if ( ! defined( 'WPINC' ) ) {
15
+ die();
16
+ }
17
+
18
+ class Control_Local_Dev_File extends Base_Control {
19
+
20
+ const RELATIVE_IMAGE_LOCATION = 'assets/images';
21
+ const SUPPORTED_EXTENSIONS = [ 'jpeg', 'jpg', 'gif', 'bmp', 'svg' ];
22
+
23
+ /**
24
+ * Get control type.
25
+ *
26
+ * Return the control type.
27
+ *
28
+ * @since 1.1.2
29
+ * @access public
30
+ */
31
+ public function get_type() {
32
+ return 'local_dev_file';
33
+ }
34
+
35
+ /**
36
+ * Control content template.
37
+ *
38
+ * Used to generate the control HTML in the editor using wp js template
39
+ *
40
+ * @since 1.1.2
41
+ * @access public
42
+ */
43
+ public function content_template() {
44
+ $images = static::get_plugin_images();
45
+ $images_json = json_encode( $images );
46
+
47
+ $security = [
48
+ 'nonce' => wp_create_nonce( Dev_Local_Files_Manager::AJAX_ACTION ),
49
+ 'ajaxUrl' => admin_url( 'admin-ajax.php' ),
50
+ 'action' => Dev_Local_Files_Manager::AJAX_ACTION
51
+ ];
52
+ $security_json = json_encode( $security );
53
+ ?>
54
+ <#
55
+ const uniqueItemClass = data.elementControlTargetUnicClass;
56
+ data.images = JSON.parse('<?php echo $images_json; ?>');
57
+ data.security = JSON.parse('<?php echo $security_json; ?>');
58
+ WPTB_ControlsManager.setControlData(uniqueItemClass, data);
59
+ const elemContainer = data.elemContainer;
60
+ #>
61
+ <div id="{{{uniqueItemClass}}}">
62
+ <local-dev-file-control :label="label" :default-value="defaultValue" unique-id="{{{uniqueItemClass}}}"
63
+ :security="security"
64
+ :selectors="selectors"
65
+ :images="images"
66
+ elem-container="{{{elemContainer}}}"></local-dev-file-control>
67
+ </div>
68
+ <wptb-template-script>
69
+ WPTB_ControlsManager.callControlScript('ControlLocalDevFile', '{{{uniqueItemClass}}}');
70
+ </wptb-template-script>
71
+ <?php
72
+ }
73
+
74
+ /**
75
+ * Get images at defined plugin directory.
76
+ *
77
+ * @return array images
78
+ */
79
+ public final static function get_plugin_images() {
80
+ $path = trailingslashit( WPTBNS\WP_TABLE_BUILDER_PRO_DIR ) . self::RELATIVE_IMAGE_LOCATION;
81
+ $url = trailingslashit( WPTBNS\WP_TABLE_BUILDER_PRO_URL ) . self::RELATIVE_IMAGE_LOCATION;
82
+ $allowed_extensions = self::SUPPORTED_EXTENSIONS;
83
+ $creds = request_filesystem_credentials( site_url() . '/wp-admin/', '', true, false );
84
+
85
+ $images = [];
86
+ if ( ! WP_Filesystem( $creds ) ) {
87
+ return $images;
88
+ }
89
+
90
+ global $wp_filesystem;
91
+
92
+ $image_location = $path;
93
+ if ( $wp_filesystem->is_dir( $image_location ) ) {
94
+ $files_at_location = $wp_filesystem->dirList( $image_location );
95
+ foreach ( $files_at_location as $name => $info ) {
96
+ $current_file_path = path_join( $image_location, $name );
97
+ $file_info = pathinfo( $current_file_path );
98
+
99
+ // only add files matching with supported extension
100
+ if ( in_array( $file_info['extension'], $allowed_extensions ) ) {
101
+ $images[ $name ] = trailingslashit( $url ) . $name;
102
+ }
103
+ }
104
+ }
105
+
106
+ return $images;
107
+ }
108
+
109
+ /**
110
+ * Final evaluation to make before adding control to registered controls list.
111
+ * @return bool register or not
112
+ */
113
+ public static function register_evaluation() {
114
+ return class_exists('WP_Table_Builder_Pro\WP_Table_Builder_Pro');
115
+ }
116
+
117
+
118
+ }
inc/admin/css/admin.css CHANGED
@@ -1 +1 @@
1
- @-webkit-keyframes wptb-settings-rotate{0%{transform:rotateZ(0deg)}to{transform:rotateZ(360deg)}}@keyframes wptb-settings-rotate{0%{transform:rotateZ(0deg)}to{transform:rotateZ(360deg)}}@-webkit-keyframes wptb-basic-appear{0%{opacity:0}to{opacity:1}}@keyframes wptb-basic-appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes wptb-text-dots{0%{content:''}33%{content:'.'}66%{content:'..'}to{content:'...'}}@keyframes wptb-text-dots{0%{content:''}33%{content:'.'}66%{content:'..'}to{content:'...'}}@-webkit-keyframes wptb-pop{0%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes wptb-pop{0%{transform:scale(1)}50%{transform:scale(1.05)}}@-webkit-keyframes wptb-basic-disappear{0%{opacity:1}to{opacity:0}}@keyframes wptb-basic-disappear{0%{opacity:1}to{opacity:0}}@-webkit-keyframes wptb-push{0%,to{transform:scale(1)}50%{transform:scale(.9)}}@keyframes wptb-push{0%,to{transform:scale(1)}50%{transform:scale(.9)}}@-webkit-keyframes linear-gradient-move{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes linear-gradient-move{0%{background-position:0 50%}to{background-position:100% 50%}}:root{--wptb-plugin-sidebar-size-full: 300px;--wptb-plugin-logo-color: #3299D1;--wptb-plugin-gray-100: #F7FAFC;--wptb-plugin-gray-200: #EDF2F7;--wptb-plugin-gray-300: #E2E8F0;--wptb-plugin-gray-400: #CBD5E0;--wptb-plugin-gray-500: #A0AEC0;--wptb-plugin-gray-700: #4A5568;--wptb-plugin-green-500: #48BB78;--wptb-plugin-yellow-500: #ECC94B;--wptb-plugin-red-600: #E53E3E;--wptb-plugin-white: #FFF;--wptb-plugin-theme-text-color-main: var(--wptb-plugin-gray-700);--wptb-plugin-theme-color-light: var(--wptb-plugin-white);--wptb-plugin-theme-sidebar-bg: var(--wptb-plugin-gray-300);--wptb-plugin-theme-side-bar-font-size-base: 16px;--wptb-plugin-theme-header-font-size-base: 16px;--wptb-plugin-theme-side-bar-sections-font-base: 80%;--wptb-plugin-left-panel-constant: 40px;--wptb-prebuilt-card-border-size: 2px;--wptb-prebuilt-card-control-size: 30px}html{overflow-y:hidden}body>img{position:absolute;z-index:1000001}.wptb-admin-container,.wptb-container{position:fixed;left:0;top:0;right:0;bottom:0;overflow-y:auto}.wptb-admin-container{background:#fff;color:var(--wptb-plugin-theme-text-color-main);z-index:100000;height:100%;min-width:0;margin:0!important}.wptb-container{overflow-x:hidden}.wptb-container *{box-sizing:border-box}.wptb-builder-header{position:-webkit-sticky!important;position:sticky!important;top:0;z-index:10}.wptb-header{width:100%;background-color:var(--wptb-plugin-theme-color-light);border-bottom:1px solid var(--wptb-plugin-theme-sidebar-bg);text-align:center;display:grid;grid-auto-flow:row;grid-template-columns:1fr 1fr;grid-template-areas:"table-name buttons close";align-items:center;justify-content:center;font-size:var(--wptb-plugin-theme-header-font-size-base);position:relative;z-index:10}.wptb-left-panel[data-wptb-panel-location=right]+.wptb-builder-panel .wptb-header{grid-template-areas:"close buttons table-name"!important;grid-template-columns:auto 1fr 1fr!important}.wptb-header-buttons-container{display:flex;flex-direction:row;align-items:center;justify-content:center;grid-area:buttons;height:100%}.wptb-header-close{font-size:30px;width:30px;height:30px;text-decoration:none;color:var(--wptb-plugin-gray-500)}.wptb-logo{padding-left:30px;float:left;margin-top:17px}.wptb-right{width:100%;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;height:100%}.wptb-left-panel[data-wptb-panel-location=right]+.wptb-builder-panel .wptb-right{flex-direction:row-reverse!important}.wptb-right .wptb-settings-section-item{margin:0!important}.wptb-plugin-width-full{width:100%}.wptb-plugin-height-full{height:100%}#wptb-messaging-area{align-self:center;position:absolute;left:0;right:0;bottom:100px;pointer-events:none}#wptb-messaging-area .wptb-message{border-radius:4px;max-width:410px;padding:20px;margin:auto}#wptb-messaging-area .wptb-success{color:green;background-color:#90ee90;font-size:15px}#wptb-messaging-area .wptb-error{color:red;background-color:#ffd5d5;font-size:15px}.wptb-panel-sub-container-buttons{display:flex;justify-content:center;align-items:center;height:100%;border-left:1px solid var(--wptb-plugin-theme-sidebar-bg);border-right:1px solid var(--wptb-plugin-theme-sidebar-bg)}.wptb-header .wptb-settings-section-item{padding:15px!important}.wptb-undo-redo-container{padding:0 20px}.wptb-redo,.wptb-undo{display:inline-block;cursor:pointer}.wptb-undo{margin-right:7px}.wptb-undoredo-disabled{cursor:default;opacity:.4}.wptb-embed-btn,.wptb-preview-btn,.wptb-save-btn{text-decoration:none}.wptb-embed,.wptb-embed-btn,.wptb-preview,.wptb-preview-btn,.wptb-save,.wptb-save-btn{display:flex;justify-content:center;align-items:center;height:100%}.wptb-button-grey{background-color:var(--wptb-plugin-white);text-transform:uppercase;text-decoration:none;color:inherit}.wptb-button-grey:hover,.wptb-save-btn{color:inherit}.wptb-button-grey.wptb-button-disable,.wptb-save-btn.wptb-save-disabled{cursor:not-allowed;color:#cbd5e0!important}.wptb-close a,.wptb-save-btn.wptb-save-disabled:hover{text-decoration:none}.wptb-close{background-color:var(--wptb-plugin-white);border-left:1px solid var(--wptb-plugin-gray-300)}.wptb-close:hover{background:var(--wptb-plugin-gray-300)}.wptb-popup-dark-area{position:fixed;width:100%;height:100%;visibility:hidden;top:0;left:0;z-index:1000;background-color:#708090;opacity:0;transition:all .3s}.wptb-popup-window-modal.wptb-popup-show~.wptb-popup-dark-area{visibility:visible;opacity:.6}.wptb-popup-window-modal{position:fixed;top:50%;left:50%;width:50%;max-width:630px;min-width:300px;height:auto;z-index:2000;visibility:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateX(-50%) translateY(-50%)}.wptb-popup-window-modal.wptb-popup-show{visibility:visible}.wptb-popup-box{transform:scale(.7);opacity:0;transition:all .3s;border-radius:0;box-shadow:0 2px 6px rgba(0,0,0,.2);padding:30px;background-color:#fff}.wptb-popup-window-modal.wptb-popup-show .wptb-popup-box{transform:scale(1);opacity:1}.wptb-popup-window-close-icon{height:20px;width:20px;position:absolute;top:10px;right:10px;cursor:pointer;opacity:.6;text-align:center;font-size:27px!important;line-height:14px!important;display:none;z-index:1}.wptb-popup-content p{font-size:15px;text-align:center}#wptb-embed-shortcode{width:100%;text-align:center;font-size:24px;display:block;border:1px solid #d6d6d6;padding:10px;box-shadow:none;margin:20px auto 0}.wptb-edit-bar ul{display:flex;display:-webkit-flex;list-style:none;margin:0;padding:0}.wptb-edit-bar{border-radius:2px;display:none;padding:.3em .4em 0;position:relative;width:auto;z-index:10;background:0 0;max-width:870px;margin:auto;clear:both}.wptb-edit-bar.visible{display:block}.wptb-edit-bar ul li{height:auto;margin:0;padding:0}.wptb-table_change_button{cursor:pointer;box-sizing:border-box;height:41px;background:#fafbfc;font-size:13px;color:#37454c;border-radius:3px;border:1px solid #a4a4a4;padding-left:12px;padding-right:12px;position:relative;display:inline-block;text-transform:uppercase;letter-spacing:.02em;font-weight:bolder;text-align:center;margin-top:0;margin-right:1em;line-height:2.4em;margin-bottom:8px}.wptb-management.wptb-bar.wptb-edit-bar.visible button.visible:hover{color:#4fbe31;transition:all .1s ease-out}#wptb-delete-column,#wptb-delete-row{background-color:#eb4c63}#wptb-left-scroll-panel-curtain .wptb-table-edit-mode-close{margin:auto;display:block}.wptb-table-edit-mode-close{background:#329d3f;color:#fff}.wptb-edit-bar svg{cursor:pointer}.wptb-edit-bar svg *{fill:transparent!important;stroke:#fff!important}.wptb-left-panel{position:fixed;height:100%;box-sizing:border-box;background-color:var(--wptb-plugin-theme-sidebar-bg);transition:all .2s ease-out,right .2s ease-out;box-shadow:0 0 5px 3px rgba(0,0,0,.2);z-index:100001;font-size:var(--wptb-plugin-theme-side-bar-font-size-base)}.wptb-left-panel[data-wptb-panel-location=left]{left:0}.wptb-left-panel[data-wptb-panel-location=right]{right:0}.collapsed .wptb-left-panel[data-wptb-panel-location=left]{transform:translateX(calc(-100% + var(--wptb-plugin-left-panel-constant)))}.collapsed .wptb-left-panel[data-wptb-panel-location=right]{transform:translateX(calc(100% - var(--wptb-plugin-left-panel-constant)))}.collapsed .wptb-left-panel .wptb-left-panel-sidebar-content,.collapsed .wptb-left-panel .wptb-panel-tabs{opacity:0}.wptb-left-scroll-panel{height:100%;overflow-y:auto;overflow-x:hidden}#wptb-left-scroll-panel-cell-settings,#wptb-left-scroll-panel-curtain{position:absolute;top:0;right:0;left:0;bottom:0;background-color:var(--wptb-plugin-theme-sidebar-bg);padding:20px;display:none}#wptb-left-scroll-panel-cell-settings{padding:0}#wptb-left-scroll-panel-cell-settings.visible,#wptb-left-scroll-panel-curtain.visible{display:block}.wptb-panel-left{height:100%;width:var(--wptb-plugin-sidebar-size-full);display:grid;grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr;grid-auto-flow:row;transition:width .2s ease-out;grid-template-areas:"brand" "sidebar-tabs" "sidebar-content" "sidebar-footer"}.wptb-left-panel-sidebar-content{grid-area:sidebar-content;overflow:auto;transition:all .2s ease-out}.wptb-panel-drawer-toggle{background-color:var(--wptb-plugin-theme-sidebar-bg);height:50px;width:25px;position:absolute;top:calc(50% - 25px);left:calc(100%);display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:0 5px 5px 0;box-shadow:3px 1px 5px rgba(0,0,0,.2)}.wptb-panel-drawer-icon::after{content:"\f341"}.collapsed .wptb-panel-drawer-icon::after{content:"\f345"}.wptb-panel-brand{grid-area:brand;background-color:var(--wptb-plugin-logo-color);color:var(--wptb-plugin-white);padding:25px 0;font-size:170%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:"brand-position";text-align:center;height:61px}.wptb-brand-logo,.wptb-brand-name{grid-area:brand-position}.wptb-brand-logo{display:none}.wptb-panel-tabs{grid-area:sidebar-tabs;text-align:center;justify-content:stretch;transition:all .2s ease-out}.wptb-panel-tabs div{width:100%;margin:0!important;font-size:90%;padding:10px!important}.wptb-left-panel-extend{position:absolute;top:50%;left:100%;margin-top:-55px;overflow:hidden;width:18px;border-top-right-radius:8px;border-bottom-right-radius:8px;height:40px;background-color:#f0f3f3;box-shadow:1px 0 5px 0 rgba(25,31,40,.2);display:flex;justify-content:center;align-items:center;font-size:12px;color:#353638;z-index:-1;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-top:1px solid #ccc}.wptb-left-panel-extend svg{display:inline-block;width:1em;height:1em;line-height:1em;vertical-align:middle;stroke-width:0;stroke:currentColor;fill:currentColor}.wptb-container.collapsed .wptb-left-panel .wptb-left-panel-extend svg{transform:rotate(180deg)}.wptb-settings-section p{font-size:16px;margin:0 0 10px}.wptb-input-px{right:35%;top:0;position:absolute;margin-top:7px}.wptb-settings-dropdown{font-size:16px;padding:16px 20px;position:relative;background-color:#fff;color:#186cba;border-top:.5px solid #ccc;border-bottom:.5px solid #ccc}.wptb-panel-table-empty-message{padding:0 20px;text-align:center;font-size:80%;font-style:italic}.wptb-cell-management,.wptb-settings-items{transition:1s 0s ease}.wptb-cell-management{display:none}#wptb-inner-border-settings.visible,.wptb-cell-management.visible,.wptb-settings-items.visible{display:block!important;opacity:1}.wptb-settings-item-title{font-size:14px!important;margin:0!important}.wptb-settings-item-header,.wptb-settings-item-header-include-right{font-size:14px;line-height:14px;padding:14px 0 14px 10px;position:relative;background:var(--wptb-plugin-gray-100)}.wptb-settings-item-header-include-right{padding:14px 10px}.wptb-settings-row,.wptb-settings-row label{display:flex;flex-direction:row;align-items:center}.wptb-settings-row{box-sizing:border-box!important;flex:0 1 auto;flex-wrap:wrap}.wptb-settings-row label{justify-content:space-between}.wptb-settings-middle-xs{align-items:center;background:var(--wptb-plugin-gray-100);padding:15px!important;border-bottom:1px solid #e5dfdf}.wptb-settings-middle-xs *{font-size:14px!important}.wptb-settings-col-xs-12{flex-basis:100%;max-width:100%}.wptb-settings-col-xs-8{flex-basis:66.66666667%;max-width:66.66666667%}.wptb-settings-col-xs-4{flex-basis:33.33333333%;max-width:33.33333333%;position:relative}.wptb-number-input{max-width:75px;width:100%;margin-left:10px;margin-top:3px}input[type=number]{height:28px!important;line-height:1;padding:3px 5px!important}input[type=range]::-moz-focus-inner{border:0}input[type=range]::-moz-focus-outer{border:0;outline:0}input[type=range]:focus{outline:0}input[type=range]{-webkit-appearance:none;-webkit-tap-highlight-color:transparent;width:100%;height:8px;margin:0;border:0;padding:1px 2px;border-radius:14px;background:#ccc;outline:0}input[type=range]::-moz-range-track{border:inherit;background:#ccc}input[type=range]::-ms-track{border:inherit;color:transparent;background:#ccc}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper{background:#ccc}input[type=range]::-ms-tooltip{display:none}input[type=range]::-webkit-slider-thumb:before{content:"";position:absolute;left:-3000px;right:100%;top:50%;height:6px;padding:0;background:#1d9b2a;transform:translate(0,-50%)}input[type=range]::-moz-range-progress{background-color:#3b7ec0;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border:1px solid #3b7ec0;border-radius:50%;background-image:linear-gradient(to bottom,#fff 0,#fff 100%)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border:1px solid #3b7ec0;border-radius:50%;background-image:linear-gradient(to bottom,#fff 0,#fff 100%)}input[type=range]::-ms-thumb{width:18px;height:18px;border-radius:50%;border:1px solid #3b7ec0;background-image:linear-gradient(to bottom,#fff 0,#fff 100%)}.wptb-toggle{display:inline-block;width:95%}.wptb-toggle input{display:none}.wptb-toggle input:checked+i::after{transform:translateX(20px)}.wptb-toggle input:checked+i{background:#3b7ec0}.wptb-toggle i{float:right;padding:2px;width:40px;height:20px;border-radius:13px;vertical-align:middle;transition:.25s .09s;position:relative;background:#d8d9db;box-sizing:initial}.wptb-toggle i::after{content:" ";display:block;width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;left:2px;transition:.25s}.wptb-toggle.wptb-size-fixed-auto input:checked+i::after,.wptb-toggle.wptb-toggle2 input:checked+i::after{transform:translateX(50px)}.wptb-toggle.wptb-size-fixed-auto i,.wptb-toggle.wptb-toggle2 i{float:left;width:100px;border-radius:5px;height:25px}.wptb-toggle.wptb-size-fixed-auto i:after,.wptb-toggle.wptb-toggle2 i:after{width:50px;height:25px;border-radius:5px;transform:translateX(0)}.wptb-checkbox{display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-top:3px;padding-bottom:3px}.wptb-checkbox span{vertical-align:middle}.wptb-checkbox input[type=checkbox]{opacity:0;height:0;width:0;display:none}.wptb-checkbox-checkmark{height:25px;width:25px;background-color:#d8d9db;display:inline-block;position:relative;border-radius:3px;margin-left:5px}.wptb-checkbox:hover input[type=checkbox]~.wptb-checkbox-checkmark{background-color:#6ea4d8}.wptb-checkbox input[type=checkbox]:checked~.wptb-checkbox-checkmark{background-color:#3b7ec0}.wptb-checkbox-checkmark:after{content:"";position:absolute;display:none}.wptb-checkbox input[type=checkbox]:checked~.wptb-checkbox-checkmark:after{display:block}.wptb-checkbox .wptb-checkbox-checkmark:after{left:10px;top:7px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.wptb-column-auto,.wptb-column-fixed{position:absolute;font-size:15px;width:50%;height:100%;text-align:center;line-height:25px}.wptb-column-fixed{color:#d8d9db}.wptb-column-auto{color:#3b7ec0;right:0}#element-options-group,.wptb-elements-section,.wptb-responsive-section,.wptb-settings-section{grid-area:sidebar-content}#element-options-group{padding-top:20px}[data-wptb-section]{padding-top:20px;-webkit-animation:wptb-basic-appear .2s ease-out;animation:wptb-basic-appear .2s ease-out}.wptb-tabs{width:100%;margin:0;padding:0;background:#fff;border-bottom:.5px solid #ccc;max-width:349px;z-index:10}ul.wptb-tabs{list-style:none}.wptb-tabs li{float:left;width:49.3%;margin:0}.wptb-tabs li:last-of-type{float:right}.wptb-tabs li a{display:block;text-align:center;padding:18px 10px;font-size:16px}.wptb-tabs li a,.wptb-tabs li a:hover{color:#186cba;text-decoration:none}.wptb-tabs li a:focus{box-shadow:none}.wptb-tabs li .active,.wptb-tabs li .active:hover{color:#186cba}.wptb-tabs #element-options .active,.wptb-tabs #wptb-add-elements .active{background:#fff}.wptb-tab-content{padding:0}.wptb-panel-toggle,.wptb-panel-toggle-group{background-color:var(--wptb-plugin-theme-color-light)}.wptb-panel-toggle-group{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);margin:20px 0}.wptb-panel-toggle{padding:10px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;border-bottom:3px solid var(--wptb-plugin-theme-sidebar-bg)}.wptb-element-options .wptb-panel-toggle{cursor:pointer}.wptb-panel-toggle .header{text-transform:uppercase;font-size:90%;display:flex;flex-direction:row}.header .wptb-back-button{margin-right:10px}.wptb-panel-toggle .toggle-icon{cursor:pointer}.wptb-panel-toggle .toggle-icon::after{content:"\f343"}.wptb-panel-toggle-content .wptb-panel-toggle .toggle-icon::after{content:"\f347"}.wptb-panel-toggle-target{padding:20px 10px}.wptb-panel-section-toggle-target,.wptb-panel-toggle-target{background-color:var(--wptb-plugin-gray-100)}.wptb-panel-elements-inner-wrapper{display:grid;grid-auto-flow:row;grid-template-columns:1fr 1fr;grid-gap:10px;color:var(--wptb-plugin-theme-text-color-main);font-size:80%}.wptb-section-group-tabbed{display:grid;grid-template-columns:1fr;grid-template-areas:"header" "tabButtons" "controls";grid-auto-flow:row;grid-template-rows:auto}.wptb-section-group-tabbed-header{grid-area:header;justify-content:center!important}.wptb-section-group-tabbed-tabs-buttons{grid-area:tabButtons;display:flex;flex-direction:row;background-color:var(--wptb-plugin-theme-color-light);text-align:center;justify-content:stretch;border-bottom:1px solid #e5dfdf}.wptb-section-group-tabbed-tabs-buttons div{width:100%;margin:0!important;font-size:90%;padding:7px!important}.wptb-section-group-tab-content{grid-area:controls;transition:opacity .2s ease-out}.wptb-plugin-non-visible{height:0;opacity:0;pointer-events:none;transition:none!important}.wptb-plugin-non-visible div{height:0}.wptb-elements-container{width:100%;max-height:inherit;padding:0 0 60px;background-color:inherit}.wptb-element{position:relative;background:var(--wptb-plugin-theme-color-light);display:flex;align-items:center;justify-content:center;flex-direction:column;height:100px;text-align:center;border-radius:5px;border:2px solid var(--wptb-plugin-gray-400);transition:all .25s;cursor:move}.wptb-element p,.wptb-table-generator input{margin:0}.wptb-element:hover{box-shadow:3px 3px 2px .5px rgba(0,0,0,.2)}.wptb-element svg{fill:var(--wptb-plugin-theme-text-color-main)!important}.wptb-element-draggable-icon{position:absolute;top:0;right:0;color:var(--wptb-plugin-gray-500)!important}.left,.right{width:47.5%;float:left;margin:6px 0 -4px 6px}.right{float:right;margin:6px 5px -4px 0}.wptb-builder-panel{position:relative;min-height:100%;transition:all .2s ease-out,right .2s ease-out;width:calc(100% - var(--wptb-plugin-sidebar-size-full));text-align:center;z-index:100000}.wptb-left-panel[data-wptb-panel-location=left]+.wptb-builder-panel{left:var(--wptb-plugin-sidebar-size-full)}.wptb-left-panel[data-wptb-panel-location=right]+.wptb-builder-panel{left:0}.collapsed .wptb-left-panel[data-wptb-panel-location=left]+.wptb-builder-panel{left:calc(0px + var(--wptb-plugin-left-panel-constant))!important;width:calc(100% - var(--wptb-plugin-left-panel-constant))!important}.collapsed .wptb-left-panel[data-wptb-panel-location=right]+.wptb-builder-panel{right:calc(0px - var(--wptb-plugin-left-panel-constant))!important;width:calc(100% - var(--wptb-plugin-left-panel-constant))!important}.wptb-name-setup{text-align:start;margin:0 20px;grid-area:table-name}.wptb-left-panel[data-wptb-panel-location=right]+.wptb-builder-panel .wptb-name-setup,.wptb-left-panel[data-wptb-panel-location=right]+.wptb-builder-panel .wptb-name-setup input{text-align:end!important}.wptb-plugin-header-close{grid-area:close}#wptb-setup-name{height:50px;box-shadow:none;border:1px solid var(--wptb-plugin-gray-300);font-size:100%;width:420px;padding:0 20px}.wptb-messaging{color:#fff;height:0;margin:0 auto;padding:5px;transition:all 1s 0s;width:90%;text-align:initial}.wptb-messaging.wptb-success{background:#4caf50;background:linear-gradient(45deg,#4caf50 0,#8bc34a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#4caf50', endColorstr='#8bc34a', GradientType=1);height:auto}.wptb-messaging.wptb-warning{background:#f44336;background:linear-gradient(45deg,#f44336 0,#ff5722 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f44336', endColorstr='#ff5722', GradientType=1);height:auto}.wptb-management_table_container{margin:auto;text-align:initial}.wptb-table-setup{justify-content:center;position:relative;z-index:1;background:#fff;margin:30px auto;max-width:700px;overflow-x:auto;overflow-y:hidden}#wptb-cell_mode_background{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(49,59,71,.49);display:none;text-align:initial}#wptb-cell_mode_background.visible,.wptb-droppable.wptb-cell li .wptb-list-item-content p span.content{display:block}table.wptb-table{border-collapse:collapse}.wptb-wrapper{margin:0 auto;padding:40px;max-width:960px;text-align:initial}.wptb-table{margin:20px 0 60px;width:100%;border:1px solid #ccc;box-shadow:0 1px 3px rgba(0,0,0,.2);display:table}@media screen and (max-width:580px){.wptb-table{display:block}}.wptb-row{display:table-row;background:#bebebe}.wptb-row:nth-of-type(odd){background:#bebebe}.wptb-row.wptb-table-header{font-weight:900;color:#fff;background:#ea6153}.wptb-row.wptb-green{background:#27ae60}.wptb-row.wptb-blue{background:#2980b9}@media screen and (max-width:580px){.wptb-row{padding:14px 0 7px;display:block}.wptb-row.wptb-table-header{padding:0;height:6px}.wptb-row.wptb-table-header .wptb-cell{display:none}.wptb-row .wptb-cell{margin-bottom:10px}.wptb-row .wptb-cell:before{margin-bottom:3px;content:attr(data-title);min-width:98px;font-size:10px;line-height:10px;font-weight:700;text-transform:uppercase;color:#969696;display:block}}.wptb-cell{padding:12px;display:table-wptb-cell}.wptb-preview-table{table-layout:fixed;font-size:15px;display:table;border-collapse:collapse!important;margin:auto;width:auto}.wptb-preview-table.wptb-preview-table-auto-width{width:auto}.wptb-preview-table-manage-cells tbody>tr>td::after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;z-index:100}.wptb-preview-table-manage-cells td:hover::after{background:rgba(207,218,239,.2);border-color:inherit}.wptb-preview-table p{margin:0;font-size:15px;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.wptb-preview-table ul{list-style-type:disc;margin-left:15px}.wptb-preview-table tr{display:table-row;background:#fcfcfc}.wptb-preview-table tr:nth-of-type(odd){background:#eee}.wptb-state-dragging td{cursor:all-scroll}.wptb-preview-table td{padding:15px;position:relative;box-sizing:content-box}.wptb-preview-table td.wptb-td-default-width{width:100px}.wptb-preview-table .wptb-row td.wptb-highlighted,.wptb-state-dragging td:hover{outline:1px solid #90ee90}.wptb-preview-table .wptb-row.wptb-highlighted-row{background-color:rgba(59,125,191,.34);border:1px solid pink}.wptb-preview-table .wptb-row td.wptb-highlighted-row-first,.wptb-preview-table .wptb-row td.wptb-highlighted-row-inner{background-color:rgba(59,125,191,.34);border-bottom:1px solid pink;border-left:1px solid pink;border-right:inherit;border-top:1px solid pink}.wptb-preview-table .wptb-row td.wptb-highlighted-row-inner{border-left:inherit}.wptb-preview-table .wptb-row td.wptb-highlighted-column-first,.wptb-preview-table .wptb-row td.wptb-highlighted-row-last{background-color:rgba(59,125,191,.34);border-bottom:1px solid pink;border-left:inherit;border-right:1px solid pink;border-top:1px solid pink}.wptb-preview-table .wptb-row td.wptb-highlighted-column-first{border-bottom:inherit;border-left:1px solid pink}.wptb-preview-table .wptb-row td.wptb-highlighted-column-inner,.wptb-preview-table .wptb-row td.wptb-highlighted-column-last{background-color:rgba(59,125,191,.34);border-bottom:inherit;border-left:1px solid pink;border-right:1px solid pink;border-top:inherit}.wptb-preview-table .wptb-row td.wptb-highlighted-column-last{border-bottom:1px solid pink}.wptb-row td:empty::before{content:'Cell';display:block;font-weight:400;font-size:80%;text-align:center;color:#969fa6}.wptb-row td:empty::after{content:'';display:block;border:1px dashed #969fa6;position:absolute;top:2px;right:2px;bottom:2px;left:2px}.wptb-preview-table.wptb-table-preview-head .wptb-row:first-child td:empty::before{content:'Header'}.wptb-ph-element{position:relative;border:1px solid #fff0;min-height:15px}.wptb-image-wrapper img{width:100%;display:block;padding:0;max-width:100%;height:auto}.wptb-image-wrapper a{display:block!important;position:relative;margin:auto}.wptb-icon-image-button{display:block;padding:5px;background:#747d84;border-radius:5px;color:#000;cursor:pointer}.wptb-image-wrapper::after{content:"";display:block;height:0;width:100%;clear:both}.wptb-button-wrapper>a,.wptb-image-wrapper a{text-decoration:none;max-width:100%}.wptb-button,.wptb-button-icon,.wptb-button-wrapper{display:flex;justify-content:center;align-items:center}.wptb-button{padding:16px;background:#329d3f;color:#fff;cursor:pointer;border-radius:5px;border:0;box-shadow:none;transition:all .2s ease-out}.wptb-button-icon{margin:0 5px;order:-1;width:25px;height:25px}.wptb-button-icon svg{width:100%;height:100%;fill:currentColor}.wptb-button-icon[data-wptb-button-icon-src=""],br[data-mce-bogus="1"]{display:none}.wptb-plugin-button-order-right .wptb-button-icon,[data-wptb-button-icon-position=right] .wptb-button-icon{order:2}.wptb-button:hover{color:#fff}.wptb-table-generator{text-align:center;margin:60px auto 20px}.wptb-generator-btn{width:92%;padding:15px;background:var(--wptb-plugin-logo-color);color:#fff;cursor:pointer;border:0;box-shadow:none;border-radius:5px}.wptb-input-number{width:80px;padding:0 12px;vertical-align:top;text-align:center;outline:0;border:1px solid #ccc;height:40px}.wptb-input-number-decrement,.wptb-input-number-increment{border:1px solid #ccc;height:40px;display:inline-block;width:30px;line-height:38px;background:#f1f1f1;color:#444;text-align:center;font-weight:700;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.wptb-input-number-decrement:active,.wptb-input-number-increment:active{background:#ddd}.wptb-input-number-decrement{border-right:none;border-radius:4px 0 0 4px}.wptb-input-number-increment{border-left:none;border-radius:0 4px 4px 0}.wptb-allow-drop{background:#b5e0d7}#wpcd_fixed_toolbar{min-height:55px;text-align:center;position:-webkit-sticky!important;position:sticky!important;top:95px;z-index:100;display:inline-block}#wpcd_fixed_toolbar>div.toolbar-active{display:block!important}.wptb-btn-size-btn{padding:8px 15px;margin:0;vertical-align:middle;border:solid 1px #ccc;font-size:12px;border-radius:4px;cursor:pointer}.wptb-btn-size-switcher{background:linear-gradient(to bottom,#fff,#eee);display:table-cell;border-right:none;border-radius:0;color:#433f33}.wptb-btn-size-switcher:first-child{border-radius:4px 0 0 4px}.wptb-btn-size-switcher:last-child{border-radius:0 4px 4px 0;border-right:solid 1px #ccc}.wptb-btn-size-switcher:hover{background:#fff}.wptb-btn-size-switcher:active{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.1)}.wptb-btn-size-switcher.bnt-selected{background:#fff;box-shadow:inset 0 0 20px 4px rgba(0,0,0,.15);cursor:default}.mce-content-body{min-height:19px;word-break:break-word}.mce-tinymce.mce-tinymce-inline.mce-container.mce-panel{left:50%!important;transform:translate(-50%,0)!important;border:0!important}.mce-container.mce-panel.mce-floatpanel.mce-window.mce-in{z-index:100100!important}.mce-container.mce-panel.mce-floatpanel.mce-menu.mce-animate.mce-fixed.mce-menu-align.mce-in{z-index:100101!important}.mce-edit-focus{outline:0!important}.mce-btn button{padding:14px 18px!important}.mce-ico{font-size:20px!important}.mce-content-body [data-mce-selected=inline-boundary]{background:0 0!important}.wptb-text-container .mce-content-body a{color:#1e73be}.wptb-droppable.wptb-cell ol,.wptb-droppable.wptb-cell ul{border:1px solid transparent;margin:0;padding:1em .2em .4em;width:100%}.wptb-droppable.wptb-cell ol article,.wptb-droppable.wptb-cell ul article{align-items:flex-start;border:1px solid transparent;display:flex;flex-direction:row;justify-content:flex-start;list-style-type:none;margin-bottom:0;padding:0;position:relative;width:100%}.wptb-list-container ul li{list-style:none;margin:0}.wptb-droppable.wptb-cell li .wptb-list-item-content{min-height:30px}.wptb-droppable.wptb-cell li .wptb-list-item-content p{word-wrap:break-word;line-height:30px;font-size:15px;padding-left:20px}.wptb-list-container ul li>div>p::before{content:attr(data-list-style-type-index);display:inline-block;line-height:30px;padding:0 5px 0 0;font-family:verdana,sans-serif;cursor:text;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;margin-left:-20px}.wptb-list-container ul li>div>p.wptb-list-style-type-disc::before{content:'\25CF'}.wptb-list-container ul li>div>p.wptb-list-style-type-circle::before{content:'\25CB'}.wptb-list-container ul li>div>p.wptb-list-style-type-square::before{content:'\25A0'}.wptb-list-container ul li>div>p.wptb-list-style-type-none::before{content:'';padding-right:0}.wptb-droppable.wptb-cell .wptb-directlyhovered{outline:1px solid #1ea5e5!important;position:relative}.wptb-cell .wptb-ph-element.edit-active{outline:2px solid #1ea5e5!important;position:relative}.wptb-droppable.wptb-cell .wptb-list-container.wptb-directlyhovered,.wptb-rating-stars-box ul>li.wptb-rating-star span svg,wptb_shortcode_container_element{display:block}.wptb-droppable.wptb-cell .wptb-directlyhovered .wptb-directlyhovered{display:flex;width:100%}.wptb-droppable.wptb-cell .wptb-list-container.wptb-directlyhovered .wptb-directlyhovered{display:list-item;border:0!important}.wptb-droppable.wptb-cell .wptb-list-container.wptb-directlyhovered .wptb-directlyhovered:before{content:"";display:inline-block;position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid #1ea5e5!important}.wptb-actions{align-items:center;background-color:#1ea5e5;border-top-left-radius:4px;border-top-right-radius:4px;color:#fff;justify-content:space-between;line-height:1em;padding:0 5px;position:absolute;height:15px;font-size:9pt;display:none;max-width:70px;z-index:100001;box-sizing:border-box}.wptb-ph-element:hover .wptb-actions{display:inline}.wptb-actions .dashicons.dashicons-admin-page.wptb-duplicate-action,.wptb-actions .dashicons.wptb-prebuilt-mark-action{font-size:10pt;margin:0 .05em 0 .1em;width:16px;height:16px;cursor:pointer}.wptb-actions .dashicons.dashicons-trash.wptb-delete-action{font-size:10pt;margin:0 .1em 0 .05em;width:16px;height:16px;order:2;cursor:pointer}.wptb-cell-management .wptb-button{background:#3e99ca;color:#fff;border:0;border-radius:2px;padding:.4em 0;width:100%;box-shadow:2px 1px 0 0 rgba(13,85,126,.71)}.wptb-cell-management .wptb-button[disabled]{display:none}.wptb-space-between{min-height:10px;width:100%}.wptb-ph-element.wptb-directlyhovered.wptb-moving-mode{outline:0!important}.wptb-ph-element.wptb-ondragenter::before{content:"";display:block;position:absolute;top:0;bottom:0;left:0;right:0;z-index:101000}.wptb-ph-element.wptb-moving-mode{opacity:.4;transform:scale(.9) translate(-5%,-5%);transition:all .2s ease-in-out}.wptb-drop-handle{height:11px;position:absolute;z-index:101000;display:none}.wptb-drop-handle::after{content:attr(data-text);background-color:#1e90ff;color:#fff;display:block;font-variant:small-caps;position:relative;text-align:center;width:100%;height:100%;font-size:11px;line-height:1;text-transform:uppercase;box-sizing:border-box}.wptb-drop-border-marker{position:absolute;width:1px;height:1px;z-index:101000}.wptb-drop-border-marker.wptb-moving-into-same-elem,.wptb-drop-handle.wptb-moving-into-same-elem{opacity:0;visibility:hidden}.wptb-drop-border-marker>div{position:absolute;background:#1ea9eb}.wptb-drop-border-marker-top{top:0;left:0;height:1px}.wptb-drop-border-marker-right{top:0;width:1px}.wptb-drop-border-marker-bottom{left:0;height:1px}.wptb-drop-border-marker-left{top:0;left:0;width:1px}.wptb-space-between.visible:empty::before{background-color:#1e90ff;border:1px solid #1e90ff;color:#fff;content:'drop here';display:block;font-variant:small-caps;margin:2px 5%;padding:.5em 0;position:relative;text-align:center;width:90%}.wptb-draggable{border:0}.wptb-actions .dashicons.dashicons-move.wptb-move-action{font-size:14px!important;cursor:move;width:16px;height:16px;order:-1}.wptb-multiple-select-action:not(.visible),.wptb-no-cell-action:not(.visible),.wptb-single-action:not(.visible){cursor:not-allowed;opacity:.3}.wptb-item-dragging{background-color:purple;min-height:30px;min-width:30px;position:absolute;transition:all .2s ease;transition-property:left,top;width:auto;z-index:11000}.wptb-range-input{height:20px;position:relative}.wptb-range-input .slider{background-color:#fff;border:1px solid #4b88c4;border-radius:200px;box-sizing:border-box;height:20px;left:2px;position:absolute;top:0;width:20px;z-index:10}.wptb-range-input .rail{background:#ccc;border-radius:14px;bottom:6px;height:8px;position:absolute;width:100%;z-index:1}.wptb-preview-table.wptb-table-preview-head .wptb-row:first-child td.wptb-drop-here-empty:empty::before,.wptb-row td.wptb-drop-here-empty:empty::before{background-color:#1e90ff;border:1px solid #1e90ff;box-sizing:border-box;color:#fff;content:'drop here';display:block;font-size:1em;font-variant:small-caps;padding:.2em .4em;text-align:center;width:100%}td[class*=wptb-fused-cell]{display:none!important}.wptb-size-s .wptb-button{border-radius:.2rem;padding:.35rem .6rem;max-width:100%}.wptb-size-s .wptb-button p{font-size:.875rem;line-height:1.5}.wptb-size-l .wptb-button,.wptb-size-m .wptb-button{border-radius:.3rem;padding:.475rem .85rem;max-width:100%}.wptb-size-m .wptb-button p{font-size:1.125rem;line-height:1.5}.wptb-size-l .wptb-button{padding:.6rem 1.2rem}.wptb-size-l .wptb-button p{font-size:1.25rem;line-height:1.5}.wptb-size-xl .wptb-button{border-radius:.4rem;padding:.8rem 1.35rem;max-width:100%}.wptb-size-xl .wptb-button p{font-size:1.35rem;line-height:1.5}[class*=wptb-element-text-] p{color:inherit!important;font-size:inherit!important}.wptb-split-page-title-action .wptb-expander::after,.wptb-split-page-title-action a,.wptb-split-page-title-action a:active{padding:6px 10px;position:relative;top:-3px;text-decoration:none;border:1px solid #ccc;border-radius:2px;background:#f7f7f7;text-shadow:none;font-weight:600;font-size:13px;line-height:normal;color:#0073aa;cursor:pointer;outline:0}.wptb-split-page-title-action a:hover{color:#fff;background-color:#1f8abb}.wptb-column-title-mobile{display:none}.wptb-star_rating-container{text-align:center}.wptb-rating-stars-box{text-align:center;display:inline-block;padding:7px}.wptb-rating-stars-box ul{list-style-type:none;-moz-user-select:none;-webkit-user-select:none;padding:.5em .2em .2em}.wptb-rating-stars-box ul li{display:inline-block}.wptb-rating-stars-box ul>li.wptb-rating-star{color:#ccc;cursor:pointer;margin:0;position:relative;width:20px;height:20px}.wptb-rating-stars-box ul>li.wptb-rating-star span{position:absolute;height:100%;width:100%;top:0;left:0;z-index:10;display:block}.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-rating-star-left-signal-part,.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-rating-star-right-signal-part{height:100%;width:50%;z-index:20}.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-rating-star-left-signal-part{left:0}.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-rating-star-left-signal-part span.wptb-rating-star-zero-set{left:0;width:40%;height:100%;top:0;z-index:30px}.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-rating-star-right-signal-part{right:0;left:auto}.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-half-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-hover-half span.wptb-not-filled-rating-star{display:none}.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-not-filled-rating-star{fill:#ccc}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-hover-half span.wptb-half-filled-rating-star{display:block;fill:#ff912c;opacity:.5}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-hover-full span.wptb-half-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-hover-full span.wptb-not-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-hover-half span.wptb-filled-rating-star{display:none}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-hover-full span.wptb-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-half.wptb-rating-star-hover-full span.wptb-filled-rating-star{display:block;fill:#ff912c;opacity:.5}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-full.wptb-rating-star-hover-full span,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-full.wptb-rating-star-hover-half span,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-half.wptb-rating-star-hover-full span,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-half.wptb-rating-star-hover-half span{opacity:1}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-half span.wptb-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-half span.wptb-not-filled-rating-star{display:none}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-full span.wptb-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-half span.wptb-half-filled-rating-star{display:block;fill:#ff912c}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-full span.wptb-half-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-full span.wptb-not-filled-rating-star{display:none}.wptb-number-rating-box{text-align:center;font-size:20px}.wptb-number-rating-box>div{vertical-align:top;display:inline-block;color:#888;text-align:center;height:25px;font-size:25px;line-height:25px}@media screen and (max-width:1375px){#wptb-messaging-area{position:relative}#wptb-messaging-area .wptb-message{max-width:400px;padding:20px 5px;box-sizing:border-box}}@media screen and (max-width:1070px){#wptb-messaging-area{position:absolute;top:190px;left:30px;right:30px;margin:auto}#wptb-messaging-area .wptb-message{padding:50px 20px}}@media screen and (max-width:970px){#wptb-setup-name{width:100%;max-width:420px;margin-left:0}}.wptb-cell img{max-width:100%}.wptb-exit-options{text-decoration:none}.wptb-option-text{text-align:center}.wptb-rating-alignment-btn{padding:8px 15px 3px;margin:0;vertical-align:middle;border:solid 1px #ccc;font-size:12px;border-radius:4px;cursor:pointer}.wptb-rating-alignment-switcher{background:linear-gradient(to bottom,#fff,#eee);display:table-cell;border-right:none;border-radius:0;color:#433f33}.wptb-rating-alignment-switcher:first-child{border-radius:4px 0 0 4px}.wptb-rating-alignment-switcher:last-child{border-radius:0 4px 4px 0;border-right:solid 1px #ccc}.wptb-rating-alignment-switcher:hover{background:#fff}.wptb-rating-alignment-switcher:active{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.1)}.wptb-rating-alignment-switcher.selected{background:#fff;box-shadow:inset 0 0 20px 4px rgba(0,0,0,.15);cursor:default}.wptb-list-alignment-btn{padding:8px 15px 3px;margin:0;vertical-align:middle;border:solid 1px #ccc;font-size:12px;border-radius:4px;cursor:pointer}.wptb-list-alignment-switcher{background:linear-gradient(to bottom,#fff,#eee);display:table-cell;border-right:none;border-radius:0;color:#433f33}.wptb-list-alignment-switcher:first-child{border-radius:4px 0 0 4px}.wptb-list-alignment-switcher:last-child{border-radius:0 4px 4px 0;border-right:solid 1px #ccc}.wptb-list-alignment-switcher:hover{background:#fff}.wptb-list-alignment-switcher:active{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.1)}.wptb-list-alignment-switcher.selected{background:#fff;box-shadow:inset 0 0 20px 4px rgba(0,0,0,.15);cursor:default}.wptb-button-alignment-btn{padding:8px 15px 3px;margin:0;vertical-align:middle;border:solid 1px #ccc;font-size:12px;border-radius:4px;cursor:pointer}.wptb-button-alignment-switcher{background:linear-gradient(to bottom,#fff,#eee);display:table-cell;border-right:none;border-radius:0;color:#433f33}.wptb-button-alignment-switcher:first-child{border-radius:4px 0 0 4px}.wptb-button-alignment-switcher:last-child{border-radius:0 4px 4px 0;border-right:solid 1px #ccc}.wptb-button-alignment-switcher:hover{background:#fff}.wptb-button-alignment-switcher:active{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.1)}.wptb-button-alignment-switcher.selected{background:#fff;box-shadow:inset 0 0 20px 4px rgba(0,0,0,.15);cursor:default}.wptb-image-alignment-btn{padding:8px 15px 3px;margin:0;vertical-align:middle;border:solid 1px #ccc;font-size:12px;border-radius:4px;cursor:pointer}.wptb-image-alignment-switcher{background:linear-gradient(to bottom,#fff,#eee);display:table-cell;border-right:none;border-radius:0;color:#433f33}.wptb-image-alignment-switcher:first-child{border-radius:4px 0 0 4px}.wptb-image-alignment-switcher:last-child{border-radius:0 4px 4px 0;border-right:solid 1px #ccc}.wptb-image-alignment-switcher:hover{background:#fff}.wptb-image-alignment-switcher:active{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.1)}.wptb-image-alignment-switcher.selected{background:#fff;box-shadow:inset 0 0 20px 4px rgba(0,0,0,.15);cursor:default}.wptb-justify-content-left{justify-content:left}.wptb-justify-content-center{justify-content:center}.wptb-justify-content-right{justify-content:right}.wptb-float-left{float:left}.wptb-float-center{float:none}.wptb-float-right{float:right}.wptb-text-align-left{text-align:left}.wptb-text-align-center{text-align:center}.wptb-text-align-right{text-align:right}.wptb-menu-page-wrapper{display:flex;justify-content:center;align-items:center;width:100%;height:90vh;color:#4a5568;line-height:normal}.wptb-settings-wrapper{background-color:#fff;min-width:90%;height:90%;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(-webkit-min-content,-webkit-max-content) minmax(-webkit-min-content,-webkit-max-content) 1fr minmax(-webkit-min-content,-webkit-max-content);grid-template-rows:minmax(min-content,max-content) minmax(min-content,max-content) 1fr minmax(min-content,max-content);border-radius:5px;overflow:hidden;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.wptb-settings-wrapper .import-export{grid-template-rows:minmax(-webkit-min-content,-webkit-max-content) minmax(-webkit-min-content,-webkit-max-content) minmax(-webkit-min-content,-webkit-max-content) 1fr minmax(-webkit-min-content,-webkit-max-content);grid-template-rows:minmax(min-content,max-content) minmax(min-content,max-content) minmax(min-content,max-content) 1fr minmax(min-content,max-content)}.wptb-settings-header{display:flex;justify-content:space-between;align-items:center;background-color:#3299d1;padding:10px}.wptb-settings-header *{color:#fff}.wptb-settings-header a{text-decoration:none;font-size:1rem;margin:0 10px}.wptb-settings-header a:hover{color:#cbd5e0}.wptb-settings-brand{font-size:2.5rem;display:flex;align-items:center;cursor:default}.wptb-settings-header-name{margin-left:1rem}.wptb-settings-sections-wrapper{position:relative;display:flex;flex-direction:row;margin-bottom:10px;background-color:#fff;border-bottom:1px solid #cbd5e0}.wptb-plugins-m-b-40{margin-bottom:40px}.wptb-settings-checkbox-row{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;margin:5px 0;width:100%}.wptb-settings-sections-wrapper.child{display:flex;flex-direction:row;justify-content:center;margin-top:-10px}.wptb-settings-section-item{text-transform:uppercase;font-size:1rem;padding:20px;margin:0 10px;cursor:pointer;transition:background-color .5s ease-out}.wptb-settings-section-item.static-active{border-bottom:3px solid transparent}.wptb-settings-section-item.static-active.active{border-bottom:3px solid var(--wptb-plugin-logo-color)!important;background-color:var(--wptb-plugin-gray-100)}.child .wptb-settings-section-item{font-size:.8rem;padding:10px}.wptb-settings-section-item:hover{background-color:#edf2f7}.wptb-settings-section-item.disabled{color:#cbd5e0!important}.wptb-panel-tabs .wptb-settings-section-item.disabled{color:inherit!important}.wptb-menu-active-section-indicator{position:absolute;border-bottom:2px solid var(--wptb-plugin-logo-color);transition:all .3s ease-out}.wptb-settings-controls-wrapper{padding:20px 40px;overflow:auto}.wptb-settings-controls-wrapper.grid{display:grid;grid-gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-auto-rows:minmax(-webkit-min-content,-webkit-max-content);grid-auto-rows:minmax(min-content,max-content);grid-auto-flow:row}.wptb-settings-controls-wrapper.center{display:flex;justify-content:center;align-items:flex-start}.wptb-setting-control{padding:20px;transition:all .2s ease-out;border:1px solid transparent}.wptb-setting-control:hover{border:1px solid #cbd5e0;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);transform:translateY(-5px)}.wptb-menu-export-control-title,.wptb-setting-control .title{font-weight:700;font-size:1rem;text-transform:capitalize;padding:10px 0;border-bottom:1px solid #cbd5e0}.wptb-setting-control .title{margin-bottom:30px}.wptb-menu-export-control-title{width:100%}.wptb-setting-control-row{display:flex;align-items:center;margin:20px 0}.wptb-setting-control-row label,.wptb-settings-header a{text-transform:capitalize}.wptb-setting-control-row input,.wptb-setting-control-row select{margin-right:20px}.wptb-settings-footer{background-color:#fff;display:flex;justify-content:space-between;width:100%;border-top:1px solid #cbd5e0;padding:20px 0}.wptb-settings-messages{margin:0 20px;display:flex;align-items:center}.wptb-settings-message{font-style:italic;font-weight:700;text-transform:uppercase}.wptb-settings-message.ok{color:#3299d1}.wptb-settings-message.error{color:#e53e3e}.wptb-settings-fetching{animation:wptb-settings-rotate 1s linear infinite reverse}.wptb-settings-button-container{display:flex;justify-content:center;align-items:center}.wptb-settings-button{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:0 20px;color:#fff;font-size:1rem;padding:10px 20px;border-radius:5px;text-transform:uppercase;cursor:pointer;transition:all .2s ease-out}.wptb-settings-button:hover{color:#cbd5e0}.wptb-settings-button.primary{background-color:#3299d1}.wptb-settings-button.danger{background-color:#e53e3e}.wptb-settings-button.disabled{background-color:#cbd5e0!important}.wptb-settings-button.small{font-size:inherit}.wptb-settings-button.disabled:hover{color:#fff!important;cursor:not-allowed}.wptb-fade-enter-active,.wptb-fade-leave-active{transition:opacity .2s ease-out}.wptb-fade-enter,.wptb-fade-leave-to{opacity:0}.wptb-menu-file-drop{border:2px dashed #cbd5e0;width:500px;height:200px;margin:20px 0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-transform:capitalize;transition:all .2s ease-out;border-radius:5px}.wptb-import-table tbody tr:hover,.wptb-menu-file-drop.dragenter,.wptb-menu-list-table thead td:hover{background-color:#edf2f7}.wptb-menu-file-drop div{margin:10px 0}.wptb-menu-file-drop .hint{font-style:italic;color:#cbd5e0;font-size:1.3rem}.wptb-menu-file-drop .supported{font-style:italic;color:#cbd5e0;font-size:1rem}.wptb-menu-file-drop .file{text-transform:none;font-size:1.3rem;color:inherit}.wptb-menu-file-drop a{text-decoration:underline;cursor:pointer}.wptb-menu-file-drop .file-icon{color:#cbd5e0;transform:scale(4)}.wptb-flex{display:flex}.wptb-flex-col{flex-direction:column}.wptb-flex-row{flex-direction:row}.wptb-flex-align-center{align-items:center}.wptb-flex-justify-center{justify-content:center}.wptb-flex-justify-space-between{justify-content:space-between}.wptb-import-tables-wrapper{margin-top:50px;margin-bottom:30px;display:flex;justify-content:center}.wptb-import-table{text-align:center;border-collapse:collapse}.wptb-import-table th,td{padding:15px 10px}.wptb-import-table th,.wptb-menu-list-table thead{border-bottom:1px solid #cbd5e0}.wptb-menu-overflow-auto{overflow:auto}.wptb-text-transform-cap{text-transform:capitalize!important}.wptb-text-transform-none{text-transform:none!important}.wptb-import-table-count-info{margin-bottom:20px;font-weight:700;font-style:italic}.wptb-menu-export-wrapper{display:grid;grid-auto-flow:column;grid-template-columns:1fr auto 1fr;grid-template-rows:.9fr;justify-content:center;align-content:center;grid-gap:30px;width:90%;height:100%}.wptb-menu-export-card{display:grid;grid-auto-flow:row;grid-template-rows:auto 1fr;position:relative;border:1px solid #cbd5e0;padding:10px;overflow:auto}.wptb-menu-export-controls-wrapper{padding:10px 0;overflow-y:auto;display:grid;grid-auto-flow:row}.wptb-menu-empty-cover{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;font-style:italic;font-size:1.2rem;color:#cbd5e0}.wptb-menu-export-middle-section{display:flex;flex-direction:column;justify-content:space-around;align-items:center}.wptb-menu-export-middle-section .arrow-holder{max-width:100px;width:50%;cursor:pointer}.wptb-menu-export-middle-section img{max-width:100px;cursor:pointer;transition:transform .1s ease-out}.wptb-menu-export-middle-section img:hover{transform:scale(1.2)}.wptb-menu-export-middle-section img:active{transform:scale(1)}.wptb-menu-export-middle-section .flip{transform:rotateZ(180deg)}.wptb-menu-popup-wrapper{display:flex;position:relative;justify-content:center;align-items:center;margin:0 10px;border:1px solid #cbd5e0;width:20px;height:20px;border-radius:50%;cursor:pointer;transition:all .2s ease-out}.wptb-menu-popup-wrapper:hover{background-color:#cbd5e0}.wptb-menu-popup-message{display:block;position:fixed;color:#fff;min-width:100px;max-width:200px;transition:opacity .2s ease-out;opacity:0;text-align:start;z-index:999;pointer-events:none}.wptb-menu-popup-wrapper:hover+.wptb-menu-popup-message{opacity:1}.wptb-menu-popup-inner-holder{position:relative;background-color:#4a5568;padding:10px}.wptb-menu-popup-arrow{position:absolute;background-color:inherit;width:10px;height:10px;bottom:-5px;left:calc(50% - 5px);transform:rotateZ(45deg)}.wptb-menu-list-table{border-collapse:collapse;width:100%}.wptb-menu-list-table thead{text-align:start}.wptb-menu-list-table thead td{font-weight:700;transition:all .2s ease-out;cursor:pointer}.wptb-menu-list-table tbody tr:nth-child(even){background-color:#edf2f7}.wptb-plugin-box-shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.wptb-plugin-filter-box-shadow-md{filter:drop-shadow(4px 6px 2px rgba(0,0,0,.1))}.wptb-plugin-filter-box-shadow-md-close{filter:drop-shadow(4px 1px 2px rgba(0,0,0,.1))}.wptb-plugin-box-shadow-up-md{box-shadow:0 -5px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.wptb-plugin-box-shadow-xl{box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.3)!important}.wptb-plugin-inset-shadow-md{box-shadow:inset 0 4px 6px -1px rgba(0,0,0,.2),0 2px 4px -1px rgba(0,0,0,.2)}.wptb-plugin-margin-no{margin:0!important}.wptb-settings-space-between{display:flex;flex-direction:row;width:100%;justify-content:space-between;align-items:center}.wptb-icon-select-wrapper{align-items:center;height:100%}.wptb-icon-select-display{width:50px;height:50px;background-color:var(--wptb-plugin-theme-color-light);border:1px solid var(--wptb-plugin-gray-400);border-radius:5px;position:relative}.wptb-icon-select-preview{width:100%;height:100%;justify-content:center;align-items:center;padding:5px;cursor:pointer;position:relative}.wptb-icon-select-preview img[src='']{display:none}.wptb-icon-select-preview img,.wptb-prebuilt-card-icon svg{width:100%;height:100%}.wptb-icon-select-drawer{position:fixed;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-auto-flow:row;grid-gap:15px;background-color:var(--wptb-plugin-theme-color-light);border:1px solid var(--wptb-plugin-gray-400);border-radius:5px;padding:10px;width:200px;max-height:200px;overflow-y:hidden;z-index:110000}.wptb-icon-search-wrapper,.wptb-icon-search-wrapper input{width:100%}.wptb-icon-previews{position:relative;width:100%;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:row;grid-gap:10px;justify-content:center;align-items:center;overflow-y:scroll}.wptb-icon-select-drawer-preview{display:flex;justify-content:center;align-items:center}.wptb-icon-select-drawer-preview img{width:25px;height:25px;transition:transform .2s ease-out;cursor:pointer}.wptb-icon-select-drawer-preview img:hover{transform:scale(1.2)}.wptb-icon-preview-active{border:2px solid var(--wptb-plugin-logo-color)}.wptb-icon-reset{border:1px solid var(--wptb-plugin-theme-sidebar-bg);width:100%;height:100%;border-radius:5px;cursor:pointer}.wptb-help-support-section-wrapper,.wptb-html-control-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center}.wptb-help-support-section-wrapper{padding:20px 0}.wptb-help-support-section-wrapper div{margin:5px 0}.wptb-builder-responsive{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fff;z-index:400000;margin:auto;padding:40px 10px}.wptb-responsive-menu-tools{margin:auto auto 60px;max-width:700px}.wptb-screen-size-slider-wrapper{display:grid;grid-template-columns:1fr;grid-template-areas:'content';justify-content:center;align-items:center;margin-bottom:80px}.wptb-screen-size-slider-empty{width:100%;position:relative;height:5px;border-radius:3px;background-color:#fff;border:1px solid var(--wptb-plugin-gray-400);grid-area:content}.wptb-screen-size-slider-fill{height:100%;position:absolute;left:0;border-radius:3px;background-color:var(--wptb-plugin-logo-color);border:1px solid transparent;transition:all .1s linear}.wptb-drag-active .wptb-screen-size-slider-arrow,.wptb-drag-active .wptb-screen-size-slider-fill{transition:none!important}.wptb-screen-size-slider-arrow{position:absolute;top:-30px;cursor:-webkit-grab;cursor:grab;transition:all .1s linear}.wptb-screen-size-slider-arrow:active{cursor:-webkit-grabbing;cursor:grabbing}.wptb-size-slider-stops-wrapper{z-index:900000;position:absolute;top:-10px}.wptb-slider-stop{position:absolute;display:flex;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;flex-direction:column;justify-content:center;align-items:center;cursor:pointer}.wptb-slider-stop-knob{width:20px;height:20px;background-color:#fff;border:2px solid var(--wptb-plugin-logo-color);border-radius:50%;margin-bottom:5px;transition:all .2s ease-out}.wptb-slider-stop-label{text-transform:capitalize;font-size:90%;color:var(--wptb-plugin-gray-400)}.wptb-slider-stop-active .wptb-slider-stop-knob{background-color:var(--wptb-plugin-logo-color);color:inherit!important}.wptb-slider-stop-active .wptb-slider-stop-label{color:inherit!important}.wptb-size-input-wrapper{display:flex;justify-content:center;align-items:center;font-size:90%}.wptb-size-input-wrapper *{margin:0 10px;font-size:inherit!important;font-variant-numeric:tabular-nums}.wptb-size-input{width:calc(9ch);border:1px solid var(--wptb-plugin-gray-400)!important;background-color:var(--wptb-plugin-gray-100)!important;text-align:center;color:var(--wptb-plugin-theme-text-color-main)!important}.wptb-responsive-builder-main{margin-bottom:20px;padding:0 20px;position:relative}.wptb-responsive-toolbox-wrapper{display:grid;align-items:center;border:1px solid var(--wptb-plugin-gray-300);border-radius:3px;grid-area:toolbox}.wptb-responsive-toolbox-top-static{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;align-items:center;grid-gap:10px}.wptb-responsive-toolbox-dynamic-wrapper{display:grid;grid-template-columns:1fr;grid-gap:10px;grid-auto-rows:auto}.wptb-responsive-toolbox-wrapper>div{padding:10px;border-bottom:1px solid var(--wptb-plugin-gray-300)}.wptb-responsive-toolbox-row div:nth-child(even){justify-self:end}.wptb-responsive-toolbox-wrapper>div:last-child{border-bottom:none!important}.wptb-responsive-toolbox-dynamic-controls-holder{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:5px}.wptb-responsive-toolbox-dynamic-controls-holder>div:nth-child(even){justify-self:end}.wptb-responsive-size-range-name{justify-self:center;font-weight:700}.wptb-responsive-clone-wrapper{height:100%;grid-area:main;padding:20px 0;justify-self:center;border:1px solid var(--wptb-plugin-gray-300);border-top:none!important;align-items:center}.wptb-responsive-clone-inner-wrapper,.wptb-responsive-clone-wrapper{display:flex;justify-content:center;width:100%}.wptb-checkerboard-pattern{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyIDIiPgogICAgPHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMSIgeD0iMCIgeT0iMCIgZmlsbD0icmdiKDIwMywyMTMsMjI0KSIvPgogICAgPHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMSIgeD0iMSIgeT0iMCIgZmlsbD0icmdiKDIzNywyNDIsMjQ3KSIvPgogICAgPHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMSIgeD0iMSIgeT0iMSIgZmlsbD0icmdiKDIwMywyMTMsMjI0KSIvPgogICAgPHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMSIgeD0iMCIgeT0iMSIgZmlsbD0icmdiKDIzNywyNDIsMjQ3KSIvPgo8L3N2Zz4=);background-repeat:repeat;background-size:20px}.wptb-responsive-disabled-table-overlay{position:absolute;left:0;top:0;width:100%;height:100%;background-image:repeating-linear-gradient(45deg,transparent,transparent 15px,rgba(1,1,1,.2) 15px,rgba(1,1,1,.2) 30px);z-index:10}.wptb-responsive-wait-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,.4);color:#fff;text-transform:uppercase;font-weight:700}.wptb-responsive-wait-overlay:after{content:'';-webkit-animation:wptb-text-dots 2s infinite;animation:wptb-text-dots 2s infinite}.wptb-controls-flex-row{display:flex;align-items:center;flex-direction:row}.wptb-controls-flex-row label{margin:0 5px}.wptb-responsive-builder-main input[type=checkbox]{margin-top:0!important}.wptb-plugin-modal-window,.wptb-responsive-cell-identifier{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.wptb-responsive-cell-identifier{font-size:4rem;text-shadow:3px 3px 1px var(--wptb-plugin-gray-300);opacity:0;transition:opacity .5s ease-out;z-index:100}.wptb-responsive-show-cell-identifier .wptb-responsive-cell-identifier{opacity:1!important}.wptb-plugin-modal-window{background-color:rgba(0,0,0,.5);z-index:600000}.wptb-plugin-modal-inner-window{max-width:400px;background-color:#fff;padding:20px;border-radius:3px;display:grid;grid-template-areas:"modalIcon message" "buttonContainer buttonContainer";grid-gap:10px}.wptb-plugin-modal-icon{grid-area:modalIcon;width:50px;height:100%;display:flex;justify-content:center;align-items:center;transform:scale(2);pointer-events:none}.wptb-plugin-modal-message{grid-area:message}.wptb-plugin-modal-button-container{margin:5px 0 0;justify-self:center;grid-area:buttonContainer;width:100%}.wptb-plugin-button-material{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px;border-radius:3px;background-color:var(--wptb-plugin-logo-color);color:#fff;cursor:pointer;transition:all .05s ease-out}.wptb-plugin-button-material:active{transform:scale(.95)}.wptb-plugin-button-material-fit-content{width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important}.wptb-plugin-button-material-full-size{width:100%}.wptb-plugin-responsive-base{min-width:auto!important;width:100%!important}.wptb-responsive-toolbox-wrapper .wptb-menu-popup-wrapper{margin-right:0!important}.wptb-responsive-breakpoint-edit-wrapper{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-flow:row;align-items:center}.wptb-toggle input:disabled+i{background:var(--wptb-plugin-gray-400)}.wptb-control-row{width:95%}.wptb-builder-content{position:relative}.wptb-responsive-builder-toolbox-float{grid-area:toolbox;padding:10px 0;display:flex;justify-content:space-between}.wptb-responsive-builder-toolbox-left-float{display:flex;justify-content:flex-start;align-items:center}.wptb-number-postfix-buttons-wrapper{margin-left:10px;display:flex!important;height:100%}.wptb-number-postfix-button{display:flex;justify-content:center;align-items:center;width:30px;border:1px solid var(--wptb-plugin-gray-400)!important;background-color:var(--wptb-plugin-gray-100)!important;border-radius:5px;cursor:pointer;font-weight:700;color:var(--wptb-plugin-theme-text-color-main)!important;font-size:110%}.wptb-number-postfix-button:active{-webkit-animation:wptb-push .2s ease-out;animation:wptb-push .2s ease-out}.wptb-panel-toggle-section{grid-area:sidebar-footer;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;padding:20px 10px;background-color:var(--wptb-plugin-logo-color);color:#fff}.wptb-left-panel[data-wptb-panel-location=right] .wptb-panel-toggle-section{justify-content:flex-start!important}.wptb-panel-toggle-section .wptb-panel-drawer-icon{cursor:pointer;transform:scale(2)}.wptb-left-panel[data-wptb-panel-location=right] .wptb-panel-toggle-section .wptb-panel-drawer-icon{transform:scale(2) rotateZ(180deg)}.collapsed .wptb-panel-toggle-section{opacity:1!important}.wptb-cell-related-drop-handle{position:fixed;display:none;background-color:#e2e8f0c7;z-index:300000;pointer-events:none;transition:all .2s ease-out;-webkit-animation:wptb-basic-appear .2s ease-out;animation:wptb-basic-appear .2s ease-out;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;text-transform:uppercase;color:#4a5568}.wptb-control-media-select-button{width:100px;height:50px;border:1px solid var(--wptb-plugin-gray-400);background-position:center center;background-size:contain;background-repeat:no-repeat;cursor:pointer}.wptb-control-media-button-wrapper{position:relative}.wptb-control-media-clear-button{position:absolute;width:20px;height:20px;top:-5px;right:-10px;color:red;cursor:pointer}.wptb-control-media-clear-button span{transform:scale(1.8)}.wptb-controls-ul-row{display:flex}.wptb-button-svg-center{display:flex!important;justify-content:center;align-items:center}.wptb-sides-link-icon-wrapper{width:16px;height:16px;cursor:pointer;transition:transform .1s ease-out;filter:opacity(.7)}.wptb-sides-link-icon-wrapper:active{transform:scale(.9)}.wptb-sides-controls-wrapper{display:grid;grid-template-columns:repeat(5,1fr)}.wptb-side-control-header{color:var(--wptb-plugin-gray-500);text-align:center;margin:5px 0}.wptb-side-control-main-input{width:100%;height:30px!important;border:1.5px solid var(--wptb-plugin-gray-300)!important;border-radius:0!important;text-align:center}.wptb-side-control-number-input{transition:all .3s ease-out;margin-left:5px}.wptb-side-values-linked .wptb-side-control-number-input{margin-left:0}.wptb-side-control-main-input:active,.wptb-side-control-main-input:focus{outline:0!important;box-shadow:none!important}.wptb-side-control-input-wrapper:first-of-type .wptb-side-control-main-input{border-left-width:3px!important;border-radius:5px 0 0 5px!important}.wptb-side-control-input-wrapper:last-of-type .wptb-side-control-main-input{border-right-width:3px!important;border-radius:0 5px 5px 0!important}.wptb-side-control-dropdown-wrapper{align-self:end}.wptb-side-control-dropdown{background-color:var(--wptb-plugin-gray-400)!important}.wptb-named-toggle-control-wrapper{position:relative;min-height:30px;display:grid;grid-template-columns:1fr;grid-auto-columns:1fr;grid-auto-flow:column;justify-content:center;align-items:center;border:1px solid var(--wptb-plugin-gray-400);border-radius:5px;background-color:var(--wptb-plugin-white);overflow:hidden}.wptb-named-toggle-item{display:flex;justify-content:center;align-items:center;text-wrap:avoid;padding:10px;z-index:10;cursor:pointer;color:var(--wptb-plugin-gray-400);font-weight:700;font-size:90%!important}.wptb-named-toggle-item[data-wptb-named-toggle-active=true]{color:var(--wptb-plugin-white)}.wptb-named-toggle-active-indicator{position:absolute;height:100%;background-color:var(--wptb-plugin-logo-color);z-index:9;transition:left .2s ease-out}.wptb-cell[data-wptb-cell-vertical-alignment=top]{vertical-align:baseline}.wptb-cell[data-wptb-cell-vertical-alignment=center]{vertical-align:middle}.wptb-cell[data-wptb-cell-vertical-alignment=bottom]{vertical-align:bottom}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal]::after,.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical]::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal]::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical]::after{position:absolute;top:0;bottom:0;z-index:101;display:grid;font-family:dashicons;font-size:35px;align-content:center;text-align:center}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=ask]::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=ask]::after{content:"\f142";right:0}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=desk].sortable-hover::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=desk].sortable-hover::after{content:"\f142";cursor:pointer;opacity:.7}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=desk]::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=desk]::after{content:"\f140";right:0}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=ask].sortable-hover::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=ask].sortable-hover::after{content:"\f140";cursor:pointer;opacity:.7}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=ask]::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=ask]::after{content:"\f141";left:0}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=desk].sortable-hover::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=desk].sortable-hover::after{content:"\f141";cursor:pointer;opacity:.7}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=desk]::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=desk]::after{content:"\f139";left:0}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=ask].sortable-hover::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=ask].sortable-hover::after{content:"\f139";cursor:pointer;opacity:.7}.wptb-generate-wrapper{margin:0 50px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:inherit}.wptb-generate-menu{display:grid;grid-template-columns:1fr;grid-template-areas:'header' 'listing'}.wptb-generate-menu-header{grid-area:header;padding:30px;border-bottom:1px solid var(--wptb-plugin-gray-300)}.wptb-generate-menu-listing{grid-area:listing;padding:30px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap}.wptb-generate-search{border:1px solid var(--wptb-plugin-gray-300)!important;text-align:center;font-size:90%;color:inherit}.wptb-generate-search:active,.wptb-generate-search:focus{border:1px solid var(--wptb-plugin-gray-400)!important;inset:0!important;box-shadow:none!important}.wptb-prebuilt-card{width:200px;max-width:200px;display:grid;grid-template-columns:1fr;grid-template-rows:125px auto;grid-template-areas:'main' 'footer';border-radius:5px;transition:all .4s ease-out;background-color:var(--wptb-plugin-theme-color-light);cursor:pointer;margin:calc(var(--wptb-prebuilt-card-control-size) + 10px)}.wptb-prebuilt-card-active{cursor:default;-webkit-animation:wptb-pop .2s ease-out;animation:wptb-pop .2s ease-out}.wptb-prebuilt-card:hover{box-shadow:3px 3px 2px .5px rgba(0,0,0,.2)}.wptb-prebuilt-card-preview{position:relative;grid-area:main;border:var(--wptb-prebuilt-card-border-size) solid var(--wptb-plugin-gray-400);border-bottom:1px solid var(--wptb-plugin-gray-400)!important;background-color:var(--wptb-plugin-gray-300);display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:'preview';justify-content:center;align-items:center;border-radius:5px 5px 0 0}.wptb-team-prebuilt{border:var(--wptb-prebuilt-card-border-size) solid var(--wptb-plugin-logo-color)!important}.wptb-prebuilt-card-controls{grid-area:preview;position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.wptb-prebuilt-live-display{width:100%;height:100%;grid-area:preview;padding:15px}.wptb-prebuilt-live-table{width:100%;height:100%;background-color:var(--wptb-plugin-theme-color-light);border-radius:5px;border:1px solid var(--wptb-plugin-gray-400);display:grid}.wptb-prebuilt-live-cell{width:100%;height:100%;border:.5px solid var(--wptb-plugin-gray-400);cursor:pointer;display:flex;justify-content:center;align-items:center;position:relative;overflow:visible;z-index:10}.wptb-prebuilt-live-cell-hover{opacity:.7}.wptb-prebuilt-live-cell:hover .wptb-prebuilt-live-control{opacity:unset;pointer-events:all}.wptb-prebuilt-live-control-hide .wptb-prebuilt-live-control{display:none}.wptb-prebuilt-live-cell-hover,.wptb-prebuilt-live-control-active{background-color:var(--wptb-plugin-logo-color)}.wptb-prebuilt-live-control{position:absolute;opacity:0;pointer-events:none;transition:all .1s ease-out;font-size:120%}.wptb-prebuilt-live-control:active{-webkit-animation:wptb-push .2s ease-out;animation:wptb-push .2s ease-out}.wptb-prebuilt-added-cell{background-color:#40e0d0;cursor:default;z-index:1!important}.wptb-prebuilt-control{position:absolute;display:flex;justify-content:center;align-items:center;pointer-events:all}.wptb-prebuilt-control[data-orientation=row]{top:0;transform:translateY(calc(-100% - var(--wptb-prebuilt-card-border-size)));display:flex;justify-content:center;align-items:center}.wptb-prebuilt-control[data-orientation=col]{left:0;transform:translateX(calc(-100% - var(--wptb-prebuilt-card-border-size)));display:flex;flex-wrap:wrap;flex-direction:column-reverse;width:var(--wptb-prebuilt-card-control-size);justify-content:center;align-items:center}.wptb-prebuilt-control-input{text-align:center;width:var(--wptb-prebuilt-card-control-size);height:var(--wptb-prebuilt-card-control-size);border:1px solid var(--wptb-plugin-gray-300)!important;color:inherit!important;border-radius:0!important;margin:0!important}.wptb-prebuilt-control-input:active,.wptb-prebuilt-control-input:focus{border:1px solid var(--wptb-plugin-gray-400)!important;inset:0!important;box-shadow:none!important}.wptb-prebuilt-control-input:disabled{color:var(--wptb-plugin-gray-300)!important}.wptb-prebuilt-control-increment-box{width:var(--wptb-prebuilt-card-control-size);height:var(--wptb-prebuilt-card-control-size);background-color:var(--wptb-plugin-gray-300);display:flex;justify-content:center;align-items:center;font-size:150%;cursor:pointer}.wptb-prebuilt-control-increment-box:hover{background-color:var(--wptb-plugin-gray-400)}.wptb-prebuilt-control-increment-box[disabled]{background-color:var(--wptb-plugin-gray-200)!important;color:var(--wptb-plugin-gray-400)!important;cursor:default}.wptb-prebuilt-card-footer{grid-area:footer;display:flex;justify-content:center;align-items:center}.wptb-prebuilt-card-footer-element{padding:15px;border:var(--wptb-prebuilt-card-border-size) solid var(--wptb-plugin-gray-400);border-top:0!important;width:100%;height:100%;border-radius:0 0 5px 5px}.wptb-prebuilt-card-footer-button-holder{padding:0!important;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;background-color:var(--wptb-plugin-gray-500)}.wptb-prebuilt-card-footer-button-holder-single{grid-template-columns:1fr!important}.wptb-prebuilt-blank{font-size:400%;color:var(--wptb-plugin-gray-500);margin:0!important}.wptb-prebuilt-footer-button{width:100%;height:100%;cursor:pointer;transition:color .2s ease-out;font-weight:700;padding:15px;color:var(--wptb-plugin-gray-400)}.wptb-prebuilt-footer-generate{background-color:var(--wptb-plugin-logo-color)}.wptb-prebuilt-footer-edit{background-color:var(--wptb-plugin-green-500)}.wptb-prebuilt-footer-button:first-of-type{border-radius:0 0 0 5px}.wptb-prebuilt-footer-button:last-of-type{border-radius:0 0 5px 0}.wptb-prebuilt-footer-button:only-of-type{border-radius:0 0 5px 5px}.wptb-prebuilt-footer-button:hover{color:var(--wptb-plugin-theme-color-light)}.wptb-preview-table-manage-cells table tr td div,.wptb-unselectable{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.wptb-no-pointer-events{pointer-events:none}.wptb-plugin-basic-disappear{-webkit-animation:wptb-basic-disappear .1s ease-out;animation:wptb-basic-disappear .1s ease-out}.wptb-prebuilt-ad{margin:50px;color:var(--wptb-plugin-gray-500)}.wptb-prebuilt-ad-link{font-size:120%;color:var(--wptb-plugin-logo-color)!important;font-weight:700}.wptb-prebuilt-table-wrapper{width:100%;overflow:hidden!important;display:flex;justify-content:center;align-items:center;padding:20px;animation:wptb-basic-disappear .2s ease-out alternate-reverse;pointer-events:none}.wptb-prebuilt-card-search-indicator-main{color:var(--wptb-plugin-gray-500)}.wptb-prebuilt-card-search-indicator{color:var(--wptb-plugin-logo-color)!important;font-weight:700}.wptb-prebuilt-card-icon{width:25px;height:25px;position:absolute;cursor:pointer;display:flex;justify-content:center;align-items:center}.wptb-prebuilt-card-fav-icon{left:8px;top:8px}.wptb-prebuilt-card-delete-icon{background-color:var(--wptb-plugin-gray-200);padding:6px;border-radius:50%;width:35px;height:35px;right:-15px;top:-15px;display:flex;justify-content:center;align-items:center;border:2px solid var(--wptb-plugin-gray-400);transition:all .2s ease-out;z-index:120;fill:red}.wptb-prebuilt-card-delete-icon:hover{transform:scale(1.1)}.wptb-prebuilt-card-fav-icon svg{transition:fill .2s ease-out;fill:transparent;stroke-width:40;stroke:var(--wptb-plugin-theme-color-light)}.wptb-prebuilt-card-circle-icon-button:active,.wptb-prebuilt-card-fav-icon:active{-webkit-animation:wptb-push .2s ease-out;animation:wptb-push .2s ease-out}.wptb-prebuilt-card-fav-icon.is-fav svg{fill:var(--wptb-plugin-logo-color)!important;stroke-width:0!important}.wptb-prebuilt-card-fav-icon:hover svg{fill:var(--wptb-plugin-theme-color-light)}.wptb-prebuilt-delete-module-confirmation-overlay{position:absolute;width:100%;height:100%;top:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:rgba(0,0,0,.5);color:var(--wptb-plugin-theme-color-light);z-index:100;border-radius:5px 5px 0 0}.wptb-prebuilt-delete-module-confirmation-overlay div{margin:5px}.wptb-prebuilt-delete-button-container{width:100%;display:flex;justify-content:space-evenly;align-items:center}.wptb-prebuilt-card-circle-icon-button{width:30px;height:30px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;color:var(--wptb-plugin-theme-color-light)}.wptb-prebuilt-card-circle-icon-button svg{width:100%;height:100%;fill:currentColor}.wptb-prebuilt-card-circle-icon-button[data-wptb-button-type=positive]{background-color:var(--wptb-plugin-green-500)}.wptb-prebuilt-card-circle-icon-button[data-wptb-button-type=negative]{background-color:red}.wptb-prebuilt-mark-indicator{position:absolute;pointer-events:none;width:calc(100% + 10px);height:calc(100% + 10px);top:-5px;left:-5px;opacity:.2}.wptb-prebuilt-mark-indicator,.wptb-repeating-linear-gradient{background:repeating-linear-gradient(45deg,white,white 5px,var(--wptb-plugin-logo-color) 5px,var(--wptb-plugin-logo-color) 10px);background-size:400% 400%;animation:linear-gradient-move 20s linear infinite reverse}.wptb-prebuilt-card .wptb-prebuilt-mark-indicator{display:none}.wptb-prebuilt-tab-control{position:absolute;top:20px;left:20px;border:1px solid var(--wptb-plugin-gray-400);display:flex;justify-content:center;align-items:center;border-radius:5px}.wptb-prebuilt-dev-tool div,.wptb-prebuilt-tab-control div{padding:5px}.wptb-prebuilt-tab-control-label{text-transform:capitalize;border-right:1px solid var(--wptb-plugin-gray-400);white-space:nowrap}.wptb-prebuilt-tab-control-buttons-wrapper{display:flex;justify-content:center;align-items:center;flex-direction:row;flex-wrap:nowrap}.wptb-prebuilt-tab-control-icon{width:35px;height:35px;display:flex;justify-content:center;align-items:center}.wptb-prebuilt-tab-control-icon[data-wptb-prebuilt-tab-control-type=stop]{fill:red}.wptb-prebuilt-tab-control-icon[data-wptb-prebuilt-tab-control-type=restart]{fill:var(--wptb-plugin-green-500)}.wptb-prebuilt-tab-control-icon svg{width:100%;height:100%;cursor:pointer}.wptb-prebuilt-dev-tool .prebuilt-button:active,.wptb-prebuilt-tab-control-icon svg:active{-webkit-animation:wptb-push .2s ease-out;animation:wptb-push .2s ease-out}.wptb-prebuilt-dev-tool{position:absolute;top:20px;right:20px;border:1px solid var(--wptb-plugin-gray-400);display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center;align-items:center;border-radius:5px}.wptb-prebuilt-dev-tool .label{font-weight:700;border-bottom:1px solid var(--wptb-plugin-gray-400)}.wptb-prebuilt-dev-tool .prebuilt-button{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:10px;margin:5px;color:var(--wptb-plugin-theme-color-light);background-color:var(--wptb-plugin-logo-color);border-radius:5px;cursor:pointer}.wptb-prebuilt-display-calculate{width:700px}.wptb-preview-table-manage-cells table tr td div{pointer-events:none}.wptb-plugin-blocker-element{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.wptb-plugin-blocker-element-empty::before{content:'Cell';display:block;font-weight:400;font-size:80%;text-align:center;color:#969fa6}.wptb-plugin-blocker-element-empty::after{content:'';display:block;border:1px dashed #969fa6;position:absolute;top:2px;right:2px;bottom:2px;left:2px}.wptb-plugin-header-toolbar{top:0;position:absolute;left:50%;padding:0 10px;border:1px solid var(--wptb-plugin-gray-200);z-index:1;background-color:var(--wptb-plugin-theme-color-light);transition:top .2s ease-out}.wptb-plugin-header-toolbar div{font-size:95%;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px;margin:0}.wptb-settings-version-control{max-width:800px;width:100%;display:grid;grid-template-columns:1fr 300px;grid-template-areas:'main changelog';grid-template-rows:500px;grid-gap:50px}.wptb-version-control-main{grid-area:main;padding:20px;display:flex;flex-direction:column;justify-content:space-between;align-items:center}.wptb-version-control-main-row{width:100%;display:flex;justify-content:center;padding:10px 0;flex-direction:column}.wptb-version-control-warning-span{color:var(--wptb-plugin-red-600)!important;text-transform:uppercase;font-weight:700;font-size:120%}.wptb-version-control-warning-info{font-size:90%}.wptb-version-control-changelog{grid-area:changelog;background-color:var(--wptb-plugin-gray-200);border:1px solid var(--wptb-plugin-gray-300);font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;padding:10px;overflow-y:scroll;height:100%}.wptb-version-control-controls{width:100%;height:100%;margin:20px 0;display:grid;grid-template-columns:auto 1fr;grid-template-rows:repeat(3,auto);align-items:center;grid-gap:20px}.wptb-version-control-row-element{padding:10px 0}.wptb-version-control-row-label{text-transform:capitalize;font-weight:700}.wptb-version-control-row-label:after{content:':'}.wptb-version-indicator{height:100%;display:flex;align-items:center;margin-right:10px}.wptb-version-indicator-circle{width:15px;height:15px;border-radius:50%;margin-right:10px}.wptb-version-indicator-match{background-color:var(--wptb-plugin-green-500)}.wptb-version-indicator-low{background-color:var(--wptb-plugin-yellow-500)}.wptb-version-control-anchor{text-transform:capitalize}.wptb-version-control-row-slot{width:100%;height:100%;display:flex;justify-content:flex-start;align-items:center;flex-direction:row}.wptb-table-tags-menu-wrapper{position:fixed;width:100%;height:100%;top:0;left:0}.wptb-tag-control-cloud-wrapper{width:100%}.wptb-tag-control-create-wrapper{margin-top:20px!important;border-top:1px solid var(--wptb-plugin-gray-400);padding-top:10px}.wptb-tag-control-cloud-wrapper:nth-of-type(n+1){margin-top:10px}.wptb-tag-control-cloud-wrapper .wptb-settings-item-title{text-transform:capitalize;font-size:90%!important;font-weight:700}.wptb-tag-control-cloud{width:100%;min-height:90px;max-height:90px;overflow-y:auto;background-color:var(--wptb-plugin-gray-200);padding:3px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;position:relative;border:1px solid var(--wptb-plugin-gray-400);border-radius:5px}.wptb-tag-ribbon-wrapper{color:var(--wptb-plugin-theme-color-light);font-size:90%!important;padding:3px 5px 3px 10px;background-color:var(--wptb-plugin-logo-color);border-radius:999px!important;display:flex;align-items:center;justify-content:space-between;margin:5px;cursor:default;-webkit-animation:wptb-basic-appear .2s ease-out;animation:wptb-basic-appear .2s ease-out}.wptb-tag-ribbon-name{font-size:inherit!important}.wptb-tag-ribbon-wrapper:hover .wptb-tag-operation-button{opacity:1}.wptb-tag-operation-button{width:20px;height:20px;border-radius:100%;margin-left:10px;opacity:0;transition:all .3s ease-out;display:flex;justify-content:center;align-items:center;cursor:pointer}.wptb-tag-operation-add-button{background-color:var(--wptb-plugin-green-500)}.wptb-tag-operation-remove-button{background-color:var(--wptb-plugin-red-600)}.wptb-tag-control-cloud-empty,.wptb-tag-control-search-wrapper{width:100%;display:flex;justify-content:center;align-items:center}.wptb-tag-control-cloud-empty{position:absolute;top:0;left:0;height:100%;color:var(--wptb-plugin-gray-500);font-style:italic;font-size:90%!important}.wptb-tag-control-cloud-empty:after,.wptb-tag-control-cloud-empty:before{content:'==';margin:0 5px}.wptb-tag-control-search-wrapper{margin-top:5px}.wptb-tag-control-search{border:1px solid var(--wptb-plugin-gray-400)!important;text-align:center;font-size:90%!important;color:inherit;border-radius:999px!important;padding:0!important}.wptb-tag-control-search:active,.wptb-tag-control-search:focus{border:1px solid var(--wptb-plugin-gray-500)!important;inset:0!important;box-shadow:none!important}.wptb-tag-control-search-input{position:relative;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;font-size:90%!important}.wptb-tag-control-search-clear{position:absolute;top:0;right:10px;height:100%;display:flex;justify-content:center;align-items:center;color:var(--wptb-plugin-gray-500);cursor:pointer;padding:5px}.wptb-tag-control-search-indicator{font-weight:700;color:var(--wptb-plugin-green-500)!important;font-size:inherit!important}.wptb-tag-control-create-controls-wrapper{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:10px;margin-top:10px}.wptb-tag-control-create-controls-wrapper input{width:100%!important}.wptb-tag-control-create-control-label{font-size:90%!important;text-transform:capitalize}.wptb-tag-control-create-button{background-color:var(--wptb-plugin-logo-color);color:var(--wptb-plugin-theme-color-light);display:flex;justify-self:end;justify-content:center;align-items:center;font-size:90%!important;text-transform:uppercase;padding:5px;border-radius:5px;grid-column:2;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;cursor:pointer;transition:all .2s ease-out}.wptb-tag-control-create-button[data-disabled]{background-color:var(--wptb-plugin-gray-400);pointer-events:none}.wptb-tag-control-busy,.wptb-tag-control-status{grid-column:1;width:100%;height:100%;display:flex;align-items:center}.wptb-tag-control-status[data-status=positive]{color:var(--wptb-plugin-green-500)!important}.wptb-tag-control-status[data-status=negative]{color:var(--wptb-plugin-red-600)!important}.wptb-tag-control-busy{color:var(--wptb-plugin-logo-color)}.wptb-table-cell-select-wrapper{display:grid;grid-gap:5px;width:100%;height:150px;border:1px solid var(--wptb-plugin-gray-400);padding:10px;border-radius:3px;background-color:var(--wptb-plugin-gray-300)}.wptb-table-cell-select-cell{width:100%;height:100%;cursor:pointer;transition:all .2s ease-out;border-radius:3px;background-color:var(--wptb-plugin-gray-400)}.wptb-table-cell-select-cell:hover{background-color:var(--wptb-plugin-gray-500)}.wptb-table-cell-select-cell[data-cell-selected=true]{background-color:var(--wptb-plugin-logo-color)!important}.wptb-table-cell-indicator{position:fixed;opacity:.2;pointer-events:none}.wptb-different-border-control-wrapper .wptb-settings-middle-xs{padding-top:5px!important;border-bottom:0!important}.wptb-different-border-range-input .wptb-settings-item-header{padding-bottom:0!important}.wptb-color-picker-wrapper{width:100%}.wptb-color-picker-input{cursor:pointer}.wptb-color-picker-input:disabled{cursor:default}[data-wptb-text-disabled=true]{color:var(--wptb-plugin-gray-400)!important}
1
+ @-webkit-keyframes wptb-beat{0%,30%,to{transform:scale(1)}15%{transform:scale(1.5)}}@keyframes wptb-beat{0%,30%,to{transform:scale(1)}15%{transform:scale(1.5)}}@-webkit-keyframes wptb-settings-rotate{0%{transform:rotateZ(0deg)}to{transform:rotateZ(360deg)}}@keyframes wptb-settings-rotate{0%{transform:rotateZ(0deg)}to{transform:rotateZ(360deg)}}@-webkit-keyframes wptb-basic-appear{0%{opacity:0}to{opacity:1}}@keyframes wptb-basic-appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes wptb-text-dots{0%{content:''}33%{content:'.'}66%{content:'..'}to{content:'...'}}@keyframes wptb-text-dots{0%{content:''}33%{content:'.'}66%{content:'..'}to{content:'...'}}@-webkit-keyframes wptb-pop{0%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes wptb-pop{0%{transform:scale(1)}50%{transform:scale(1.05)}}@-webkit-keyframes wptb-basic-disappear{0%{opacity:1}to{opacity:0}}@keyframes wptb-basic-disappear{0%{opacity:1}to{opacity:0}}@-webkit-keyframes wptb-push{0%,to{transform:scale(1)}50%{transform:scale(.9)}}@keyframes wptb-push{0%,to{transform:scale(1)}50%{transform:scale(.9)}}@-webkit-keyframes linear-gradient-move{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes linear-gradient-move{0%{background-position:0 50%}to{background-position:100% 50%}}@-webkit-keyframes wptb-unfold-up{0%{transform:perspective(100px) rotateX(-90deg)}to{transform:perspective(100px) rotateX(0deg)}}@keyframes wptb-unfold-up{0%{transform:perspective(100px) rotateX(-90deg)}to{transform:perspective(100px) rotateX(0deg)}}:root{--wptb-plugin-sidebar-size-full: 300px;--wptb-plugin-logo-color: #3299D1;--wptb-plugin-gray-100: #F7FAFC;--wptb-plugin-gray-200: #EDF2F7;--wptb-plugin-gray-300: #E2E8F0;--wptb-plugin-gray-400: #CBD5E0;--wptb-plugin-gray-500: #A0AEC0;--wptb-plugin-gray-600: #718096;--wptb-plugin-gray-700: #4A5568;--wptb-plugin-green-500: #48BB78;--wptb-plugin-yellow-500: #ECC94B;--wptb-plugin-red-600: #E53E3E;--wptb-plugin-blue-300: #90CDF4;--wptb-plugin-white: #FFF;--wptb-plugin-black: #000;--wptb-plugin-gold: #D4AF37;--wptb-plugin-cta-button: #F7C948;--wptb-plugin-theme-text-color-main: var(--wptb-plugin-gray-700);--wptb-plugin-theme-color-light: var(--wptb-plugin-white);--wptb-plugin-theme-sidebar-bg: var(--wptb-plugin-gray-300);--wptb-plugin-theme-side-bar-font-size-base: 16px;--wptb-plugin-theme-header-font-size-base: 16px;--wptb-plugin-theme-side-bar-sections-font-base: 80%;--wptb-plugin-left-panel-constant: 40px;--wptb-prebuilt-card-border-size: 2px;--wptb-prebuilt-card-control-size: 30px;--wptb-busy-duration: 0.9s}html{overflow-y:hidden}body>img{position:absolute;z-index:1000001}.wptb-admin-container,.wptb-container{position:fixed;left:0;top:0;right:0;bottom:0;overflow-y:auto}.wptb-admin-container{background:#fff;color:var(--wptb-plugin-theme-text-color-main);z-index:100000;height:100%;min-width:0;margin:0!important}.wptb-container{overflow-x:hidden}.wptb-container *{box-sizing:border-box}.wptb-builder-header{position:-webkit-sticky!important;position:sticky!important;top:0;z-index:10}.wptb-header{width:100%;background-color:var(--wptb-plugin-theme-color-light);border-bottom:1px solid var(--wptb-plugin-theme-sidebar-bg);text-align:center;display:grid;grid-auto-flow:row;grid-template-columns:1fr 1fr;grid-template-areas:"table-name buttons close";align-items:center;justify-content:center;font-size:var(--wptb-plugin-theme-header-font-size-base);position:relative;z-index:10}.wptb-left-panel[data-wptb-panel-location=right]+.wptb-builder-panel .wptb-header{grid-template-areas:"close buttons table-name"!important;grid-template-columns:auto 1fr 1fr!important}.wptb-header-buttons-container{display:flex;flex-direction:row;align-items:center;justify-content:center;grid-area:buttons;height:100%}.wptb-header-close{font-size:30px;width:30px;height:30px;text-decoration:none;color:var(--wptb-plugin-gray-500)}.wptb-logo{padding-left:30px;float:left;margin-top:17px}.wptb-right{width:100%;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;height:100%}.wptb-left-panel[data-wptb-panel-location=right]+.wptb-builder-panel .wptb-right{flex-direction:row-reverse!important}.wptb-right .wptb-settings-section-item{margin:0!important}.wptb-plugin-width-full{width:100%}.wptb-plugin-height-full{height:100%}#wptb-messaging-area{align-self:center;position:absolute;left:0;right:0;bottom:100px;pointer-events:none}#wptb-messaging-area .wptb-message{border-radius:4px;max-width:410px;padding:20px;margin:auto}#wptb-messaging-area .wptb-success{color:green;background-color:#90ee90;font-size:15px}#wptb-messaging-area .wptb-error{color:red;background-color:#ffd5d5;font-size:15px}.wptb-panel-sub-container-buttons{display:flex;justify-content:center;align-items:center;height:100%;border-left:1px solid var(--wptb-plugin-theme-sidebar-bg);border-right:1px solid var(--wptb-plugin-theme-sidebar-bg)}.wptb-header .wptb-settings-section-item{padding:15px!important}.wptb-undo-redo-container{padding:0 20px}.wptb-redo,.wptb-undo{display:inline-block;cursor:pointer}.wptb-undo{margin-right:7px}.wptb-undoredo-disabled{cursor:default;opacity:.4}.wptb-embed-btn,.wptb-preview-btn,.wptb-save-btn{text-decoration:none}.wptb-embed,.wptb-embed-btn,.wptb-preview,.wptb-preview-btn,.wptb-save,.wptb-save-btn{display:flex;justify-content:center;align-items:center;height:100%}.wptb-save{position:relative}#wptb_builder[data-wptb-saving] .wptb-save-btn{opacity:0!important}.wptb-busy{position:absolute;width:100%;height:100%;left:0;right:0;display:flex;justify-content:space-evenly;align-items:center;opacity:0;pointer-events:none;transition:all .2s ease-out}.wptb-busy .wptb-busy-circle{width:10px;height:10px;border-radius:100%;background-color:var(--wptb-plugin-gray-700);-webkit-animation:wptb-beat var(--wptb-busy-duration) ease-out forwards infinite;animation:wptb-beat var(--wptb-busy-duration) ease-out forwards infinite}.wptb-busy-circle:nth-of-type(2){-webkit-animation-delay:calc(var(--wptb-busy-duration)/3);animation-delay:calc(var(--wptb-busy-duration)/3)}.wptb-busy-circle:nth-of-type(3){-webkit-animation-delay:calc(var(--wptb-busy-duration)/1.5);animation-delay:calc(var(--wptb-busy-duration)/1.5)}#wptb_builder[data-wptb-saving] .wptb-busy{opacity:1;pointer-events:all;cursor:not-allowed}.wptb-button-grey{background-color:var(--wptb-plugin-white);text-transform:uppercase;text-decoration:none;color:inherit}.wptb-button-grey:hover{color:inherit}.wptb-button-grey.wptb-button-disable,.wptb-save-btn.wptb-save-disabled{cursor:not-allowed;color:#cbd5e0!important}.wptb-save-btn{color:inherit;opacity:1;transition:all .2s ease-out}.wptb-close a,.wptb-save-btn.wptb-save-disabled:hover{text-decoration:none}.wptb-close{background-color:var(--wptb-plugin-white);border-left:1px solid var(--wptb-plugin-gray-300)}.wptb-close:hover{background:var(--wptb-plugin-gray-300)}.wptb-popup-dark-area{position:fixed;width:100%;height:100%;visibility:hidden;top:0;left:0;z-index:1000;background-color:#708090;opacity:0;transition:all .3s}.wptb-popup-window-modal.wptb-popup-show~.wptb-popup-dark-area{visibility:visible;opacity:.6}.wptb-popup-window-modal{position:fixed;top:50%;left:50%;width:50%;max-width:630px;min-width:300px;height:auto;z-index:2000;visibility:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateX(-50%) translateY(-50%)}.wptb-popup-window-modal.wptb-popup-show{visibility:visible}.wptb-popup-box{transform:scale(.7);opacity:0;transition:all .3s;border-radius:0;box-shadow:0 2px 6px rgba(0,0,0,.2);padding:30px;background-color:#fff}.wptb-popup-window-modal.wptb-popup-show .wptb-popup-box{transform:scale(1);opacity:1}.wptb-popup-window-close-icon{height:20px;width:20px;position:absolute;top:10px;right:10px;cursor:pointer;opacity:.6;text-align:center;font-size:27px!important;line-height:14px!important;display:none;z-index:1}.wptb-popup-content p{font-size:15px;text-align:center}#wptb-embed-shortcode{width:100%;text-align:center;font-size:24px;display:block;border:1px solid #d6d6d6;padding:10px;box-shadow:none;margin:20px auto 0}.wptb-edit-bar ul{display:flex;display:-webkit-flex;list-style:none;margin:0;padding:0}.wptb-edit-bar{border-radius:2px;display:none;padding:.3em .4em 0;position:relative;width:auto;z-index:10;background:0 0;max-width:870px;margin:auto;clear:both}.wptb-edit-bar.visible{display:block}.wptb-edit-bar ul li{height:auto;margin:0;padding:0}.wptb-table_change_button{cursor:pointer;box-sizing:border-box;height:41px;background:#fafbfc;font-size:13px;color:#37454c;border-radius:3px;border:1px solid #a4a4a4;padding-left:12px;padding-right:12px;position:relative;display:inline-block;text-transform:uppercase;letter-spacing:.02em;font-weight:bolder;text-align:center;margin-top:0;margin-right:1em;line-height:2.4em;margin-bottom:8px}.wptb-management.wptb-bar.wptb-edit-bar.visible button.visible:hover{color:#4fbe31;transition:all .1s ease-out}#wptb-delete-column,#wptb-delete-row{background-color:#eb4c63}#wptb-left-scroll-panel-curtain .wptb-table-edit-mode-close{margin:auto;display:block}.wptb-table-edit-mode-close{background:#329d3f;color:#fff}.wptb-edit-bar svg{cursor:pointer}.wptb-edit-bar svg *{fill:transparent!important;stroke:#fff!important}.wptb-left-panel{position:fixed;height:100%;box-sizing:border-box;background-color:var(--wptb-plugin-theme-sidebar-bg);transition:all .2s ease-out,right .2s ease-out;box-shadow:0 0 5px 3px rgba(0,0,0,.2);z-index:100001;font-size:var(--wptb-plugin-theme-side-bar-font-size-base)}.wptb-left-panel[data-wptb-panel-location=left]{left:0}.wptb-left-panel[data-wptb-panel-location=right]{right:0}.collapsed .wptb-left-panel[data-wptb-panel-location=left]{transform:translateX(calc(-100% + var(--wptb-plugin-left-panel-constant)))}.collapsed .wptb-left-panel[data-wptb-panel-location=right]{transform:translateX(calc(100% - var(--wptb-plugin-left-panel-constant)))}.collapsed .wptb-left-panel .wptb-left-panel-sidebar-content,.collapsed .wptb-left-panel .wptb-panel-tabs{opacity:0}.wptb-left-scroll-panel{height:100%;overflow-y:auto;overflow-x:hidden}#wptb-left-scroll-panel-cell-settings,#wptb-left-scroll-panel-curtain{position:absolute;top:0;right:0;left:0;bottom:0;background-color:var(--wptb-plugin-theme-sidebar-bg);padding:20px;display:none}#wptb-left-scroll-panel-cell-settings{padding:0}#wptb-left-scroll-panel-cell-settings.visible,#wptb-left-scroll-panel-curtain.visible{display:block}.wptb-panel-left{height:100%;width:var(--wptb-plugin-sidebar-size-full);display:grid;grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr;grid-auto-flow:row;transition:width .2s ease-out;grid-template-areas:"brand" "sidebar-tabs" "sidebar-content" "sidebar-footer"}.wptb-left-panel-sidebar-content{grid-area:sidebar-content;overflow:auto;transition:all .2s ease-out}.wptb-panel-drawer-toggle{background-color:var(--wptb-plugin-theme-sidebar-bg);height:50px;width:25px;position:absolute;top:calc(50% - 25px);left:calc(100%);display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:0 5px 5px 0;box-shadow:3px 1px 5px rgba(0,0,0,.2)}.wptb-panel-drawer-icon::after{content:"\f341"}.collapsed .wptb-panel-drawer-icon::after{content:"\f345"}.wptb-panel-brand{grid-area:brand;background-color:var(--wptb-plugin-logo-color);color:var(--wptb-plugin-white);padding:25px 0;font-size:170%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:"brand-position";text-align:center;height:61px}.wptb-brand-logo,.wptb-brand-name{grid-area:brand-position}.wptb-brand-logo{display:none}.wptb-panel-tabs{grid-area:sidebar-tabs;text-align:center;justify-content:stretch;transition:all .2s ease-out}.wptb-panel-tabs div{width:100%;margin:0!important;font-size:90%;padding:10px!important}.wptb-left-panel-extend{position:absolute;top:50%;left:100%;margin-top:-55px;overflow:hidden;width:18px;border-top-right-radius:8px;border-bottom-right-radius:8px;height:40px;background-color:#f0f3f3;box-shadow:1px 0 5px 0 rgba(25,31,40,.2);display:flex;justify-content:center;align-items:center;font-size:12px;color:#353638;z-index:-1;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-top:1px solid #ccc}.wptb-left-panel-extend svg{display:inline-block;width:1em;height:1em;line-height:1em;vertical-align:middle;stroke-width:0;stroke:currentColor;fill:currentColor}.wptb-container.collapsed .wptb-left-panel .wptb-left-panel-extend svg{transform:rotate(180deg)}.wptb-settings-section p{font-size:16px;margin:0 0 10px}.wptb-input-px{right:35%;top:0;position:absolute;margin-top:7px}.wptb-settings-dropdown{font-size:16px;padding:16px 20px;position:relative;background-color:#fff;color:#186cba;border-top:.5px solid #ccc;border-bottom:.5px solid #ccc}.wptb-panel-table-empty-message{padding:0 20px;text-align:center;font-size:80%;font-style:italic}.wptb-cell-management,.wptb-settings-items{transition:1s 0s ease}.wptb-cell-management{display:none}#wptb-inner-border-settings.visible,.wptb-cell-management.visible,.wptb-settings-items.visible{display:block!important;opacity:1}.wptb-settings-item-title{font-size:14px!important;margin:0!important}.wptb-settings-item-header,.wptb-settings-item-header-include-right{font-size:14px;line-height:14px;padding:14px 0 14px 10px;position:relative;background:var(--wptb-plugin-gray-100)}.wptb-settings-item-header-include-right{padding:14px 10px}.wptb-settings-row,.wptb-settings-row label{display:flex;flex-direction:row;align-items:center}.wptb-settings-row{box-sizing:border-box!important;flex:0 1 auto;flex-wrap:wrap}.wptb-settings-row label{justify-content:space-between}.wptb-settings-middle-xs{align-items:center;background:var(--wptb-plugin-gray-100);padding:15px!important;border-bottom:1px solid #e5dfdf}.wptb-settings-middle-xs *{font-size:14px!important}.wptb-settings-col-xs-12{flex-basis:100%;max-width:100%}.wptb-settings-col-xs-8{flex-basis:66.66666667%;max-width:66.66666667%}.wptb-settings-col-xs-4{flex-basis:33.33333333%;max-width:33.33333333%;position:relative}.wptb-number-input{max-width:75px;width:100%;margin-left:10px;margin-top:3px}input[type=number]{height:28px!important;line-height:1;padding:3px 5px!important}input[type=range]::-moz-focus-inner{border:0}input[type=range]::-moz-focus-outer{border:0;outline:0}input[type=range]:focus{outline:0}input[type=range]{-webkit-appearance:none;-webkit-tap-highlight-color:transparent;width:100%;height:8px;margin:0;border:0;padding:1px 2px;border-radius:14px;background:#ccc;outline:0}input[type=range]::-moz-range-track{border:inherit;background:#ccc}input[type=range]::-ms-track{border:inherit;color:transparent;background:#ccc}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper{background:#ccc}input[type=range]::-ms-tooltip{display:none}input[type=range]::-webkit-slider-thumb:before{content:"";position:absolute;left:-3000px;right:100%;top:50%;height:6px;padding:0;background:#1d9b2a;transform:translate(0,-50%)}input[type=range]::-moz-range-progress{background-color:#3b7ec0;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border:1px solid #3b7ec0;border-radius:50%;background-image:linear-gradient(to bottom,#fff 0,#fff 100%)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border:1px solid #3b7ec0;border-radius:50%;background-image:linear-gradient(to bottom,#fff 0,#fff 100%)}input[type=range]::-ms-thumb{width:18px;height:18px;border-radius:50%;border:1px solid #3b7ec0;background-image:linear-gradient(to bottom,#fff 0,#fff 100%)}.wptb-toggle{display:inline-block;width:95%}.wptb-toggle input{display:none}.wptb-toggle input:checked+i::after{transform:translateX(20px)}.wptb-toggle input:checked+i{background:#3b7ec0}.wptb-toggle i{float:right;padding:2px;width:40px;height:20px;border-radius:13px;vertical-align:middle;transition:.25s .09s;position:relative;background:#d8d9db;box-sizing:initial}.wptb-toggle i::after{content:" ";display:block;width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;left:2px;transition:.25s}.wptb-toggle.wptb-size-fixed-auto input:checked+i::after,.wptb-toggle.wptb-toggle2 input:checked+i::after{transform:translateX(50px)}.wptb-toggle.wptb-size-fixed-auto i,.wptb-toggle.wptb-toggle2 i{float:left;width:100px;border-radius:5px;height:25px}.wptb-toggle.wptb-size-fixed-auto i:after,.wptb-toggle.wptb-toggle2 i:after{width:50px;height:25px;border-radius:5px;transform:translateX(0)}.wptb-checkbox{display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-top:3px;padding-bottom:3px}.wptb-checkbox span{vertical-align:middle}.wptb-checkbox input[type=checkbox]{opacity:0;height:0;width:0;display:none}.wptb-checkbox-checkmark{height:25px;width:25px;background-color:#d8d9db;display:inline-block;position:relative;border-radius:3px;margin-left:5px}.wptb-checkbox:hover input[type=checkbox]~.wptb-checkbox-checkmark{background-color:#6ea4d8}.wptb-checkbox input[type=checkbox]:checked~.wptb-checkbox-checkmark{background-color:#3b7ec0}.wptb-checkbox-checkmark:after{content:"";position:absolute;display:none}.wptb-checkbox input[type=checkbox]:checked~.wptb-checkbox-checkmark:after{display:block}.wptb-checkbox .wptb-checkbox-checkmark:after{left:10px;top:7px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.wptb-column-auto,.wptb-column-fixed{position:absolute;font-size:15px;width:50%;height:100%;text-align:center;line-height:25px}.wptb-column-fixed{color:#d8d9db}.wptb-column-auto{color:#3b7ec0;right:0}#element-options-group,.wptb-elements-section,.wptb-responsive-section,.wptb-settings-section{grid-area:sidebar-content}#element-options-group{padding-top:20px}[data-wptb-section]{padding-top:20px;-webkit-animation:wptb-basic-appear .2s ease-out;animation:wptb-basic-appear .2s ease-out}.wptb-tabs{width:100%;margin:0;padding:0;background:#fff;border-bottom:.5px solid #ccc;max-width:349px;z-index:10}ul.wptb-tabs{list-style:none}.wptb-tabs li{float:left;width:49.3%;margin:0}.wptb-tabs li:last-of-type{float:right}.wptb-tabs li a{display:block;text-align:center;padding:18px 10px;font-size:16px}.wptb-tabs li a,.wptb-tabs li a:hover{color:#186cba;text-decoration:none}.wptb-tabs li a:focus{box-shadow:none}.wptb-tabs li .active,.wptb-tabs li .active:hover{color:#186cba}.wptb-tabs #element-options .active,.wptb-tabs #wptb-add-elements .active{background:#fff}.wptb-tab-content{padding:0}.wptb-panel-toggle,.wptb-panel-toggle-group{background-color:var(--wptb-plugin-theme-color-light)}.wptb-panel-toggle-group{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);margin:20px 0}.wptb-panel-toggle{padding:10px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;border-bottom:3px solid var(--wptb-plugin-theme-sidebar-bg)}.wptb-element-options .wptb-panel-toggle{cursor:pointer}.wptb-panel-toggle .header{text-transform:uppercase;font-size:90%;display:flex;flex-direction:row}.header .wptb-back-button{margin-right:10px}.wptb-panel-toggle .toggle-icon{cursor:pointer}.wptb-panel-toggle .toggle-icon::after{content:"\f343"}.wptb-panel-toggle-content .wptb-panel-toggle .toggle-icon::after{content:"\f347"}.wptb-panel-toggle-target{padding:20px 10px}.wptb-panel-section-toggle-target,.wptb-panel-toggle-target{background-color:var(--wptb-plugin-gray-100)}.wptb-panel-elements-inner-wrapper{display:grid;grid-auto-flow:row;grid-template-columns:1fr 1fr;grid-gap:10px;color:var(--wptb-plugin-theme-text-color-main);font-size:80%}.wptb-section-group-tabbed{display:grid;grid-template-columns:1fr;grid-template-areas:"header" "tabButtons" "controls";grid-auto-flow:row;grid-template-rows:auto}.wptb-section-group-tabbed-header{grid-area:header;justify-content:center!important}.wptb-section-group-tabbed-tabs-buttons{grid-area:tabButtons;display:flex;flex-direction:row;background-color:var(--wptb-plugin-theme-color-light);text-align:center;justify-content:stretch;border-bottom:1px solid #e5dfdf}.wptb-section-group-tabbed-tabs-buttons div{width:100%;margin:0!important;font-size:90%;padding:7px!important}.wptb-section-group-tab-content{grid-area:controls;transition:opacity .2s ease-out}.wptb-plugin-non-visible{height:0;opacity:0;pointer-events:none;transition:none!important}.wptb-plugin-non-visible div{height:0}.wptb-elements-container{width:100%;max-height:inherit;padding:0 0 60px;background-color:inherit}.wptb-element{position:relative;background:var(--wptb-plugin-theme-color-light);display:flex;align-items:center;justify-content:center;flex-direction:column;height:100px;text-align:center;border-radius:5px;border:2px solid var(--wptb-plugin-gray-400);transition:all .25s;cursor:move}.wptb-element p,.wptb-table-generator input{margin:0}.wptb-element:hover{box-shadow:3px 3px 2px .5px rgba(0,0,0,.2)}.wptb-element svg{fill:var(--wptb-plugin-theme-text-color-main)!important}.wptb-element-draggable-icon{position:absolute;top:0;right:0;color:var(--wptb-plugin-gray-500)!important}.left,.right{width:47.5%;float:left;margin:6px 0 -4px 6px}.right{float:right;margin:6px 5px -4px 0}.wptb-builder-panel{position:relative;min-height:100%;transition:all .2s ease-out,right .2s ease-out;width:calc(100% - var(--wptb-plugin-sidebar-size-full));text-align:center;z-index:100000}.wptb-left-panel[data-wptb-panel-location=left]+.wptb-builder-panel{left:var(--wptb-plugin-sidebar-size-full)}.wptb-left-panel[data-wptb-panel-location=right]+.wptb-builder-panel{left:0}.collapsed .wptb-left-panel[data-wptb-panel-location=left]+.wptb-builder-panel{left:calc(0px + var(--wptb-plugin-left-panel-constant))!important;width:calc(100% - var(--wptb-plugin-left-panel-constant))!important}.collapsed .wptb-left-panel[data-wptb-panel-location=right]+.wptb-builder-panel{right:calc(0px - var(--wptb-plugin-left-panel-constant))!important;width:calc(100% - var(--wptb-plugin-left-panel-constant))!important}.wptb-name-setup{text-align:start;margin:0 20px;grid-area:table-name}.wptb-left-panel[data-wptb-panel-location=right]+.wptb-builder-panel .wptb-name-setup,.wptb-left-panel[data-wptb-panel-location=right]+.wptb-builder-panel .wptb-name-setup input{text-align:end!important}.wptb-plugin-header-close{grid-area:close}#wptb-setup-name{height:50px;box-shadow:none;border:1px solid var(--wptb-plugin-gray-300);font-size:100%;width:420px;padding:0 20px}.wptb-messaging{color:#fff;height:0;margin:0 auto;padding:5px;transition:all 1s 0s;width:90%;text-align:initial}.wptb-messaging.wptb-success{background:#4caf50;background:linear-gradient(45deg,#4caf50 0,#8bc34a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#4caf50', endColorstr='#8bc34a', GradientType=1);height:auto}.wptb-messaging.wptb-warning{background:#f44336;background:linear-gradient(45deg,#f44336 0,#ff5722 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f44336', endColorstr='#ff5722', GradientType=1);height:auto}.wptb-management_table_container{margin:auto;text-align:initial}.wptb-table-setup{justify-content:center;position:relative;z-index:1;background:#fff;margin:30px auto;max-width:700px;overflow-x:auto;overflow-y:hidden}#wptb-cell_mode_background{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(49,59,71,.49);display:none;text-align:initial}#wptb-cell_mode_background.visible,.wptb-droppable.wptb-cell li .wptb-list-item-content p span.content{display:block}table.wptb-table{border-collapse:collapse}.wptb-wrapper{margin:0 auto;padding:40px;max-width:960px;text-align:initial}.wptb-table{margin:20px 0 60px;width:100%;border:1px solid #ccc;box-shadow:0 1px 3px rgba(0,0,0,.2);display:table}@media screen and (max-width:580px){.wptb-table{display:block}}.wptb-row{display:table-row;background:#bebebe}.wptb-row:nth-of-type(odd){background:#bebebe}.wptb-row.wptb-table-header{font-weight:900;color:#fff;background:#ea6153}.wptb-row.wptb-green{background:#27ae60}.wptb-row.wptb-blue{background:#2980b9}@media screen and (max-width:580px){.wptb-row{padding:14px 0 7px;display:block}.wptb-row.wptb-table-header{padding:0;height:6px}.wptb-row.wptb-table-header .wptb-cell{display:none}.wptb-row .wptb-cell{margin-bottom:10px}.wptb-row .wptb-cell:before{margin-bottom:3px;content:attr(data-title);min-width:98px;font-size:10px;line-height:10px;font-weight:700;text-transform:uppercase;color:#969696;display:block}}.wptb-cell{padding:12px;display:table-wptb-cell}.wptb-preview-table{table-layout:fixed;font-size:15px;display:table;border-collapse:collapse!important;margin:auto;width:auto}.wptb-preview-table.wptb-preview-table-auto-width{width:auto}.wptb-preview-table-manage-cells tbody>tr>td::after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;z-index:100}.wptb-preview-table-manage-cells td:hover::after{background:rgba(207,218,239,.2);border-color:inherit}.wptb-preview-table p{margin:0;font-size:15px;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.wptb-preview-table ul{list-style-type:disc;margin-left:15px}.wptb-preview-table tr{display:table-row;background:#fcfcfc}.wptb-preview-table tr:nth-of-type(odd){background:#eee}.wptb-state-dragging td{cursor:all-scroll}.wptb-preview-table td{padding:15px;position:relative;box-sizing:content-box}.wptb-preview-table td.wptb-td-default-width{width:100px}.wptb-preview-table .wptb-row td.wptb-highlighted,.wptb-state-dragging td:hover{outline:1px solid #acc1e2}.wptb-preview-table .wptb-row.wptb-highlighted-row{background-color:rgba(59,125,191,.34);border:1px solid pink}.wptb-preview-table .wptb-row td.wptb-highlighted-row-first,.wptb-preview-table .wptb-row td.wptb-highlighted-row-inner{background-color:rgba(59,125,191,.34);border-bottom:1px solid pink;border-left:1px solid pink;border-right:inherit;border-top:1px solid pink}.wptb-preview-table .wptb-row td.wptb-highlighted-row-inner{border-left:inherit}.wptb-preview-table .wptb-row td.wptb-highlighted-column-first,.wptb-preview-table .wptb-row td.wptb-highlighted-row-last{background-color:rgba(59,125,191,.34);border-bottom:1px solid pink;border-left:inherit;border-right:1px solid pink;border-top:1px solid pink}.wptb-preview-table .wptb-row td.wptb-highlighted-column-first{border-bottom:inherit;border-left:1px solid pink}.wptb-preview-table .wptb-row td.wptb-highlighted-column-inner,.wptb-preview-table .wptb-row td.wptb-highlighted-column-last{background-color:rgba(59,125,191,.34);border-bottom:inherit;border-left:1px solid pink;border-right:1px solid pink;border-top:inherit}.wptb-preview-table .wptb-row td.wptb-highlighted-column-last{border-bottom:1px solid pink}.wptb-row td:empty::before{content:'Cell';display:block;font-weight:400;font-size:80%;text-align:center;color:#969fa6}.wptb-row td:empty::after{content:'';display:block;border:1px dashed #969fa6;position:absolute;top:2px;right:2px;bottom:2px;left:2px}.wptb-preview-table.wptb-table-preview-head .wptb-row:first-child td:empty::before{content:'Header'}.wptb-ph-element{position:relative;border:1px solid #fff0;min-height:15px}.wptb-image-wrapper img{width:100%;display:block;padding:0;max-width:100%;height:auto}.wptb-image-wrapper a{display:block!important;position:relative;margin:auto}.wptb-icon-image-button{display:block;padding:5px;background:#747d84;border-radius:5px;color:#000;cursor:pointer}.wptb-image-wrapper::after{content:"";display:block;height:0;width:100%;clear:both}.wptb-button-wrapper>a,.wptb-image-wrapper a{text-decoration:none;max-width:100%}.wptb-button,.wptb-button-icon,.wptb-button-wrapper{display:flex;justify-content:center;align-items:center}.wptb-button{padding:16px;background:#329d3f;color:#fff;cursor:pointer;border-radius:5px;border:0;box-shadow:none;transition:all .2s ease-out}.wptb-button-icon{margin:0 5px;order:-1;width:25px;height:25px}.wptb-button-icon svg{width:100%;height:100%;fill:currentColor}.wptb-button-icon[data-wptb-button-icon-src=""],br[data-mce-bogus="1"]{display:none}.wptb-plugin-button-order-right .wptb-button-icon,[data-wptb-button-icon-position=right] .wptb-button-icon{order:2}.wptb-button:hover{color:#fff}.wptb-table-generator{text-align:center;margin:60px auto 20px}.wptb-generator-btn{width:92%;padding:15px;background:var(--wptb-plugin-logo-color);color:#fff;cursor:pointer;border:0;box-shadow:none;border-radius:5px}.wptb-input-number{width:80px;padding:0 12px;vertical-align:top;text-align:center;outline:0;border:1px solid #ccc;height:40px}.wptb-input-number-decrement,.wptb-input-number-increment{border:1px solid #ccc;height:40px;display:inline-block;width:30px;line-height:38px;background:#f1f1f1;color:#444;text-align:center;font-weight:700;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.wptb-input-number-decrement:active,.wptb-input-number-increment:active{background:#ddd}.wptb-input-number-decrement{border-right:none;border-radius:4px 0 0 4px}.wptb-input-number-increment{border-left:none;border-radius:0 4px 4px 0}.wptb-allow-drop{background:#b5e0d7}#wpcd_fixed_toolbar{min-height:55px;text-align:center;position:-webkit-sticky!important;position:sticky!important;top:95px;z-index:100;display:inline-block}#wpcd_fixed_toolbar>div.toolbar-active{display:block!important}.wptb-btn-size-btn{padding:8px 15px;margin:0;vertical-align:middle;border:solid 1px #ccc;font-size:12px;border-radius:4px;cursor:pointer}.wptb-btn-size-switcher{background:linear-gradient(to bottom,#fff,#eee);display:table-cell;border-right:none;border-radius:0;color:#433f33}.wptb-btn-size-switcher:first-child{border-radius:4px 0 0 4px}.wptb-btn-size-switcher:last-child{border-radius:0 4px 4px 0;border-right:solid 1px #ccc}.wptb-btn-size-switcher:hover{background:#fff}.wptb-btn-size-switcher:active{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.1)}.wptb-btn-size-switcher.bnt-selected{background:#fff;box-shadow:inset 0 0 20px 4px rgba(0,0,0,.15);cursor:default}.mce-content-body{min-height:19px;word-break:break-word}.mce-tinymce.mce-tinymce-inline.mce-container.mce-panel{left:50%!important;transform:translate(-50%,0)!important;border:0!important}.mce-container.mce-panel.mce-floatpanel.mce-window.mce-in{z-index:100100!important}.mce-container.mce-panel.mce-floatpanel.mce-menu.mce-animate.mce-fixed.mce-menu-align.mce-in{z-index:100101!important}.mce-edit-focus{outline:0!important}.mce-btn button{padding:14px 18px!important}.mce-ico{font-size:20px!important}.mce-content-body [data-mce-selected=inline-boundary]{background:0 0!important}.wptb-text-container .mce-content-body a{color:#1e73be}.wptb-droppable.wptb-cell ol,.wptb-droppable.wptb-cell ul{border:1px solid transparent;margin:0;padding:1em .2em .4em;width:100%}.wptb-droppable.wptb-cell ol article,.wptb-droppable.wptb-cell ul article{align-items:flex-start;border:1px solid transparent;display:flex;flex-direction:row;justify-content:flex-start;list-style-type:none;margin-bottom:0;padding:0;position:relative;width:100%}.wptb-list-container ul li{list-style:none;margin:0}.wptb-droppable.wptb-cell li .wptb-list-item-content{min-height:30px}.wptb-droppable.wptb-cell li .wptb-list-item-content p{word-wrap:break-word;line-height:30px;font-size:15px;padding-left:20px}.wptb-list-container ul li>div>p::before{content:attr(data-list-style-type-index);display:inline-block;line-height:30px;padding:0 5px 0 0;font-family:verdana,sans-serif;cursor:text;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;margin-left:-20px}.wptb-list-container ul li>div>p.wptb-list-style-type-disc::before{content:'\25CF'}.wptb-list-container ul li>div>p.wptb-list-style-type-circle::before{content:'\25CB'}.wptb-list-container ul li>div>p.wptb-list-style-type-square::before{content:'\25A0'}.wptb-list-container ul li>div>p.wptb-list-style-type-none::before{content:'';padding-right:0}.wptb-droppable.wptb-cell .wptb-directlyhovered{outline:1px solid #1ea5e5!important;position:relative}.wptb-cell .wptb-ph-element.edit-active{outline:2px solid #1ea5e5!important;position:relative}.wptb-droppable.wptb-cell .wptb-list-container.wptb-directlyhovered,.wptb-rating-stars-box ul>li.wptb-rating-star span svg,wptb_shortcode_container_element{display:block}.wptb-droppable.wptb-cell .wptb-directlyhovered .wptb-directlyhovered{display:flex;width:100%}.wptb-droppable.wptb-cell .wptb-list-container.wptb-directlyhovered .wptb-directlyhovered{display:list-item;border:0!important}.wptb-droppable.wptb-cell .wptb-list-container.wptb-directlyhovered .wptb-directlyhovered:before{content:"";display:inline-block;position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid #1ea5e5!important}.wptb-actions{align-items:center;background-color:#1ea5e5;border-top-left-radius:4px;border-top-right-radius:4px;color:#fff;justify-content:space-between;line-height:1em;padding:0 5px;position:absolute;height:15px;font-size:9pt;display:none;max-width:70px;z-index:100001;box-sizing:border-box}.wptb-ph-element:hover .wptb-actions{display:inline}.wptb-actions .dashicons.dashicons-admin-page.wptb-duplicate-action,.wptb-actions .dashicons.wptb-prebuilt-mark-action{font-size:10pt;margin:0 .05em 0 .1em;width:16px;height:16px;cursor:pointer}.wptb-actions .dashicons.dashicons-trash.wptb-delete-action{font-size:10pt;margin:0 .1em 0 .05em;width:16px;height:16px;order:2;cursor:pointer}.wptb-cell-management .wptb-button{background:#3e99ca;color:#fff;border:0;border-radius:2px;padding:.4em 0;width:100%;box-shadow:2px 1px 0 0 rgba(13,85,126,.71)}.wptb-cell-management .wptb-button[disabled]{display:none}.wptb-space-between{min-height:10px;width:100%}.wptb-ph-element.wptb-directlyhovered.wptb-moving-mode{outline:0!important}.wptb-ph-element.wptb-ondragenter::before{content:"";display:block;position:absolute;top:0;bottom:0;left:0;right:0;z-index:101000}.wptb-ph-element.wptb-moving-mode{opacity:.4;transform:scale(.9) translate(-5%,-5%);transition:all .2s ease-in-out}.wptb-drop-handle{height:11px;position:absolute;z-index:101000;display:none}.wptb-drop-handle::after{content:attr(data-text);background-color:#1e90ff;color:#fff;display:block;font-variant:small-caps;position:relative;text-align:center;width:100%;height:100%;font-size:11px;line-height:1;text-transform:uppercase;box-sizing:border-box}.wptb-drop-border-marker{position:absolute;width:1px;height:1px;z-index:101000}.wptb-drop-border-marker.wptb-moving-into-same-elem,.wptb-drop-handle.wptb-moving-into-same-elem{opacity:0;visibility:hidden}.wptb-drop-border-marker>div{position:absolute;background:#1ea9eb}.wptb-drop-border-marker-top{top:0;left:0;height:1px}.wptb-drop-border-marker-right{top:0;width:1px}.wptb-drop-border-marker-bottom{left:0;height:1px}.wptb-drop-border-marker-left{top:0;left:0;width:1px}.wptb-space-between.visible:empty::before{background-color:#1e90ff;border:1px solid #1e90ff;color:#fff;content:'drop here';display:block;font-variant:small-caps;margin:2px 5%;padding:.5em 0;position:relative;text-align:center;width:90%}.wptb-draggable{border:0}.wptb-actions .dashicons.dashicons-move.wptb-move-action{font-size:14px!important;cursor:move;width:16px;height:16px;order:-1}.wptb-multiple-select-action:not(.visible),.wptb-no-cell-action:not(.visible),.wptb-single-action:not(.visible){cursor:not-allowed;opacity:.3}.wptb-item-dragging{background-color:purple;min-height:30px;min-width:30px;position:absolute;transition:all .2s ease;transition-property:left,top;width:auto;z-index:11000}.wptb-range-input{height:20px;position:relative}.wptb-range-input .slider{background-color:#fff;border:1px solid #4b88c4;border-radius:200px;box-sizing:border-box;height:20px;left:2px;position:absolute;top:0;width:20px;z-index:10}.wptb-range-input .rail{background:#ccc;border-radius:14px;bottom:6px;height:8px;position:absolute;width:100%;z-index:1}.wptb-preview-table.wptb-table-preview-head .wptb-row:first-child td.wptb-drop-here-empty:empty::before,.wptb-row td.wptb-drop-here-empty:empty::before{background-color:#1e90ff;border:1px solid #1e90ff;box-sizing:border-box;color:#fff;content:'drop here';display:block;font-size:1em;font-variant:small-caps;padding:.2em .4em;text-align:center;width:100%}td[class*=wptb-fused-cell]{display:none!important}.wptb-size-s .wptb-button{border-radius:.2rem;padding:.35rem .6rem;max-width:100%}.wptb-size-s .wptb-button p{font-size:.875rem;line-height:1.5}.wptb-size-l .wptb-button,.wptb-size-m .wptb-button{border-radius:.3rem;padding:.475rem .85rem;max-width:100%}.wptb-size-m .wptb-button p{font-size:1.125rem;line-height:1.5}.wptb-size-l .wptb-button{padding:.6rem 1.2rem}.wptb-size-l .wptb-button p{font-size:1.25rem;line-height:1.5}.wptb-size-xl .wptb-button{border-radius:.4rem;padding:.8rem 1.35rem;max-width:100%}.wptb-size-xl .wptb-button p{font-size:1.35rem;line-height:1.5}[class*=wptb-element-text-] p{color:inherit!important;font-size:inherit!important}.wptb-split-page-title-action .wptb-expander::after,.wptb-split-page-title-action a,.wptb-split-page-title-action a:active{padding:6px 10px;position:relative;top:-3px;text-decoration:none;border:1px solid #ccc;border-radius:2px;background:#f7f7f7;text-shadow:none;font-weight:600;font-size:13px;line-height:normal;color:#0073aa;cursor:pointer;outline:0}.wptb-split-page-title-action a:hover{color:#fff;background-color:#1f8abb}.wptb-column-title-mobile{display:none}.wptb-star_rating-container{text-align:center}.wptb-rating-stars-box{text-align:center;display:inline-block;padding:7px}.wptb-rating-stars-box ul{list-style-type:none;-moz-user-select:none;-webkit-user-select:none;padding:.5em .2em .2em}.wptb-rating-stars-box ul li{display:inline-block}.wptb-rating-stars-box ul>li.wptb-rating-star{color:#ccc;cursor:pointer;margin:0;position:relative;width:20px;height:20px}.wptb-rating-stars-box ul>li.wptb-rating-star span{position:absolute;height:100%;width:100%;top:0;left:0;z-index:10;display:block}.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-rating-star-left-signal-part,.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-rating-star-right-signal-part{height:100%;width:50%;z-index:20}.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-rating-star-left-signal-part{left:0}.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-rating-star-left-signal-part span.wptb-rating-star-zero-set{left:0;width:40%;height:100%;top:0;z-index:30px}.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-rating-star-right-signal-part{right:0;left:auto}.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-half-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-hover-half span.wptb-not-filled-rating-star{display:none}.wptb-rating-stars-box ul>li.wptb-rating-star span.wptb-not-filled-rating-star{fill:#ccc}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-hover-half span.wptb-half-filled-rating-star{display:block;fill:#ff912c;opacity:.5}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-hover-full span.wptb-half-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-hover-full span.wptb-not-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-hover-half span.wptb-filled-rating-star{display:none}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-hover-full span.wptb-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-half.wptb-rating-star-hover-full span.wptb-filled-rating-star{display:block;fill:#ff912c;opacity:.5}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-full.wptb-rating-star-hover-full span,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-full.wptb-rating-star-hover-half span,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-half.wptb-rating-star-hover-full span,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-half.wptb-rating-star-hover-half span{opacity:1}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-half span.wptb-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-half span.wptb-not-filled-rating-star{display:none}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-full span.wptb-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-half span.wptb-half-filled-rating-star{display:block;fill:#ff912c}.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-full span.wptb-half-filled-rating-star,.wptb-rating-stars-box ul>li.wptb-rating-star.wptb-rating-star-selected-full span.wptb-not-filled-rating-star{display:none}.wptb-number-rating-box{text-align:center;font-size:20px}.wptb-number-rating-box>div{vertical-align:top;display:inline-block;color:#888;text-align:center;height:25px;font-size:25px;line-height:25px}@media screen and (max-width:1375px){#wptb-messaging-area{position:relative}#wptb-messaging-area .wptb-message{max-width:400px;padding:20px 5px;box-sizing:border-box}}@media screen and (max-width:1070px){#wptb-messaging-area{position:absolute;top:190px;left:30px;right:30px;margin:auto}#wptb-messaging-area .wptb-message{padding:50px 20px}}@media screen and (max-width:970px){#wptb-setup-name{width:100%;max-width:420px;margin-left:0}}.wptb-cell img{max-width:100%}.wptb-exit-options{text-decoration:none}.wptb-option-text{text-align:center}.wptb-rating-alignment-btn{padding:8px 15px 3px;margin:0;vertical-align:middle;border:solid 1px #ccc;font-size:12px;border-radius:4px;cursor:pointer}.wptb-rating-alignment-switcher{background:linear-gradient(to bottom,#fff,#eee);display:table-cell;border-right:none;border-radius:0;color:#433f33}.wptb-rating-alignment-switcher:first-child{border-radius:4px 0 0 4px}.wptb-rating-alignment-switcher:last-child{border-radius:0 4px 4px 0;border-right:solid 1px #ccc}.wptb-rating-alignment-switcher:hover{background:#fff}.wptb-rating-alignment-switcher:active{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.1)}.wptb-rating-alignment-switcher.selected{background:#fff;box-shadow:inset 0 0 20px 4px rgba(0,0,0,.15);cursor:default}.wptb-list-alignment-btn{padding:8px 15px 3px;margin:0;vertical-align:middle;border:solid 1px #ccc;font-size:12px;border-radius:4px;cursor:pointer}.wptb-list-alignment-switcher{background:linear-gradient(to bottom,#fff,#eee);display:table-cell;border-right:none;border-radius:0;color:#433f33}.wptb-list-alignment-switcher:first-child{border-radius:4px 0 0 4px}.wptb-list-alignment-switcher:last-child{border-radius:0 4px 4px 0;border-right:solid 1px #ccc}.wptb-list-alignment-switcher:hover{background:#fff}.wptb-list-alignment-switcher:active{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.1)}.wptb-list-alignment-switcher.selected{background:#fff;box-shadow:inset 0 0 20px 4px rgba(0,0,0,.15);cursor:default}.wptb-button-alignment-btn{padding:8px 15px 3px;margin:0;vertical-align:middle;border:solid 1px #ccc;font-size:12px;border-radius:4px;cursor:pointer}.wptb-button-alignment-switcher{background:linear-gradient(to bottom,#fff,#eee);display:table-cell;border-right:none;border-radius:0;color:#433f33}.wptb-button-alignment-switcher:first-child{border-radius:4px 0 0 4px}.wptb-button-alignment-switcher:last-child{border-radius:0 4px 4px 0;border-right:solid 1px #ccc}.wptb-button-alignment-switcher:hover{background:#fff}.wptb-button-alignment-switcher:active{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.1)}.wptb-button-alignment-switcher.selected{background:#fff;box-shadow:inset 0 0 20px 4px rgba(0,0,0,.15);cursor:default}.wptb-image-alignment-btn{padding:8px 15px 3px;margin:0;vertical-align:middle;border:solid 1px #ccc;font-size:12px;border-radius:4px;cursor:pointer}.wptb-image-alignment-switcher{background:linear-gradient(to bottom,#fff,#eee);display:table-cell;border-right:none;border-radius:0;color:#433f33}.wptb-image-alignment-switcher:first-child{border-radius:4px 0 0 4px}.wptb-image-alignment-switcher:last-child{border-radius:0 4px 4px 0;border-right:solid 1px #ccc}.wptb-image-alignment-switcher:hover{background:#fff}.wptb-image-alignment-switcher:active{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.1)}.wptb-image-alignment-switcher.selected{background:#fff;box-shadow:inset 0 0 20px 4px rgba(0,0,0,.15);cursor:default}.wptb-justify-content-left{justify-content:left}.wptb-justify-content-center{justify-content:center}.wptb-justify-content-right{justify-content:right}.wptb-float-left{float:left}.wptb-float-center{float:none}.wptb-float-right{float:right}.wptb-text-align-left{text-align:left}.wptb-text-align-center{text-align:center}.wptb-text-align-right{text-align:right}.wptb-menu-page-wrapper{display:flex;justify-content:center;align-items:center;width:100%;height:90vh;color:#4a5568;line-height:normal}.wptb-settings-wrapper{background-color:#fff;min-width:90%;height:90%;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(-webkit-min-content,-webkit-max-content) minmax(-webkit-min-content,-webkit-max-content) 1fr minmax(-webkit-min-content,-webkit-max-content);grid-template-rows:minmax(min-content,max-content) minmax(min-content,max-content) 1fr minmax(min-content,max-content);border-radius:5px;overflow:hidden;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.wptb-settings-wrapper .import-export{grid-template-rows:minmax(-webkit-min-content,-webkit-max-content) minmax(-webkit-min-content,-webkit-max-content) minmax(-webkit-min-content,-webkit-max-content) 1fr minmax(-webkit-min-content,-webkit-max-content);grid-template-rows:minmax(min-content,max-content) minmax(min-content,max-content) minmax(min-content,max-content) 1fr minmax(min-content,max-content)}.wptb-settings-header{display:flex;justify-content:space-between;align-items:center;background-color:#3299d1;padding:10px}.wptb-settings-header *{color:#fff}.wptb-settings-header a{text-decoration:none;font-size:1rem;margin:0 10px}.wptb-settings-header a:hover{color:#cbd5e0}.wptb-settings-brand{font-size:2.5rem;display:flex;align-items:center;cursor:default}.wptb-settings-header-name{margin-left:1rem}.wptb-settings-sections-wrapper{position:relative;display:flex;flex-direction:row;margin-bottom:10px;background-color:#fff;border-bottom:1px solid #cbd5e0}.wptb-plugins-m-b-40{margin-bottom:40px}.wptb-settings-checkbox-row{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;margin:5px 0;width:100%}.wptb-settings-sections-wrapper.child{display:flex;flex-direction:row;justify-content:center;margin-top:-10px}.wptb-settings-section-item{text-transform:uppercase;font-size:1rem;padding:20px;margin:0 10px;cursor:pointer;transition:background-color .5s ease-out}.wptb-settings-section-item.static-active{border-bottom:3px solid transparent}.wptb-settings-section-item.static-active.active{border-bottom:3px solid var(--wptb-plugin-logo-color)!important;background-color:var(--wptb-plugin-gray-100)}.child .wptb-settings-section-item{font-size:.8rem;padding:10px}.wptb-settings-section-item:hover{background-color:#edf2f7}.wptb-settings-section-item.disabled{color:#cbd5e0!important}.wptb-panel-tabs .wptb-settings-section-item.disabled{color:inherit!important}.wptb-menu-active-section-indicator{position:absolute;border-bottom:2px solid var(--wptb-plugin-logo-color);transition:all .3s ease-out}.wptb-settings-controls-wrapper{padding:20px 40px;overflow:auto}.wptb-settings-controls-wrapper.grid{display:grid;grid-gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-auto-rows:minmax(-webkit-min-content,-webkit-max-content);grid-auto-rows:minmax(min-content,max-content);grid-auto-flow:row}.wptb-settings-controls-wrapper.center{display:flex;justify-content:center;align-items:flex-start}.wptb-setting-control{padding:20px;transition:all .2s ease-out;border:1px solid transparent}.wptb-setting-control:hover{border:1px solid #cbd5e0;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);transform:translateY(-5px)}.wptb-menu-export-control-title,.wptb-setting-control .title{font-weight:700;font-size:1rem;text-transform:capitalize;padding:10px 0;border-bottom:1px solid #cbd5e0}.wptb-setting-control .title{margin-bottom:30px}.wptb-menu-export-control-title{width:100%}.wptb-setting-control-row{display:flex;align-items:center;margin:20px 0}.wptb-setting-control-row label,.wptb-settings-header a{text-transform:capitalize}.wptb-setting-control-row input,.wptb-setting-control-row select{margin-right:20px}.wptb-settings-footer{background-color:#fff;display:flex;justify-content:space-between;width:100%;border-top:1px solid #cbd5e0;padding:20px 0}.wptb-settings-messages{margin:0 20px;display:flex;align-items:center}.wptb-settings-message{font-style:italic;font-weight:700;text-transform:uppercase}.wptb-settings-message.ok{color:#3299d1}.wptb-settings-message.error{color:#e53e3e}.wptb-settings-fetching{animation:wptb-settings-rotate 1s linear infinite reverse}.wptb-settings-button-container{display:flex;justify-content:center;align-items:center}.wptb-settings-button{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:0 20px;color:#fff;font-size:1rem;padding:10px 20px;border-radius:5px;text-transform:uppercase;cursor:pointer;transition:all .2s ease-out}.wptb-settings-button:hover{color:#cbd5e0}.wptb-settings-button.primary{background-color:#3299d1}.wptb-settings-button.danger{background-color:#e53e3e}.wptb-settings-button.disabled{background-color:#cbd5e0!important}.wptb-settings-button.small{font-size:inherit}.wptb-settings-button.disabled:hover{color:#fff!important;cursor:not-allowed}.wptb-fade-enter-active,.wptb-fade-leave-active{transition:opacity .2s ease-out}.wptb-fade-enter,.wptb-fade-leave-to{opacity:0}.wptb-menu-file-drop{border:2px dashed #cbd5e0;width:500px;height:200px;margin:20px 0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-transform:capitalize;transition:all .2s ease-out;border-radius:5px}.wptb-import-table tbody tr:hover,.wptb-menu-file-drop.dragenter,.wptb-menu-list-table thead td:hover{background-color:#edf2f7}.wptb-menu-file-drop div{margin:10px 0}.wptb-menu-file-drop .hint{font-style:italic;color:#cbd5e0;font-size:1.3rem}.wptb-menu-file-drop .supported{font-style:italic;color:#cbd5e0;font-size:1rem}.wptb-menu-file-drop .file{text-transform:none;font-size:1.3rem;color:inherit}.wptb-menu-file-drop a{text-decoration:underline;cursor:pointer}.wptb-menu-file-drop .file-icon{color:#cbd5e0;transform:scale(4)}.wptb-flex{display:flex}.wptb-flex-col{flex-direction:column}.wptb-flex-row{flex-direction:row}.wptb-flex-align-center{align-items:center}.wptb-flex-justify-center{justify-content:center}.wptb-flex-justify-space-between{justify-content:space-between}.wptb-import-tables-wrapper{margin-top:50px;margin-bottom:30px;display:flex;justify-content:center}.wptb-import-table{text-align:center;border-collapse:collapse}.wptb-import-table th,td{padding:15px 10px}.wptb-import-table th,.wptb-menu-list-table thead{border-bottom:1px solid #cbd5e0}.wptb-menu-overflow-auto{overflow:auto}.wptb-text-transform-cap{text-transform:capitalize!important}.wptb-text-transform-none{text-transform:none!important}.wptb-import-table-count-info{margin-bottom:20px;font-weight:700;font-style:italic}.wptb-menu-export-wrapper{display:grid;grid-auto-flow:column;grid-template-columns:1fr auto 1fr;grid-template-rows:.9fr;justify-content:center;align-content:center;grid-gap:30px;width:90%;height:100%}.wptb-menu-export-card{display:grid;grid-auto-flow:row;grid-template-rows:auto 1fr;position:relative;border:1px solid #cbd5e0;padding:10px;overflow:auto}.wptb-menu-export-controls-wrapper{padding:10px 0;overflow-y:auto;display:grid;grid-auto-flow:row}.wptb-menu-empty-cover{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;font-style:italic;font-size:1.2rem;color:#cbd5e0}.wptb-menu-export-middle-section{display:flex;flex-direction:column;justify-content:space-around;align-items:center}.wptb-menu-export-middle-section .arrow-holder{max-width:100px;width:50%;cursor:pointer}.wptb-menu-export-middle-section img{max-width:100px;cursor:pointer;transition:transform .1s ease-out}.wptb-menu-export-middle-section img:hover{transform:scale(1.2)}.wptb-menu-export-middle-section img:active{transform:scale(1)}.wptb-menu-export-middle-section .flip{transform:rotateZ(180deg)}.wptb-menu-popup-wrapper{display:flex;position:relative;justify-content:center;align-items:center;margin:0 10px;border:1px solid #cbd5e0;width:20px;height:20px;border-radius:50%;cursor:pointer;transition:all .2s ease-out}.wptb-menu-popup-wrapper:hover{background-color:#cbd5e0}.wptb-menu-popup-message{display:block;position:fixed;color:#fff;min-width:100px;max-width:200px;transition:opacity .2s ease-out;opacity:0;text-align:start;z-index:999;pointer-events:none}.wptb-menu-popup-wrapper:hover+.wptb-menu-popup-message{opacity:1}.wptb-menu-popup-inner-holder{position:relative;background-color:#4a5568;padding:10px}.wptb-menu-popup-arrow{position:absolute;background-color:inherit;width:10px;height:10px;bottom:-5px;left:calc(50% - 5px);transform:rotateZ(45deg)}.wptb-menu-list-table{border-collapse:collapse;width:100%}.wptb-menu-list-table thead{text-align:start}.wptb-menu-list-table thead td{font-weight:700;transition:all .2s ease-out;cursor:pointer}.wptb-menu-list-table tbody tr:nth-child(even){background-color:#edf2f7}.wptb-plugin-box-shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.wptb-plugin-filter-box-shadow-md{filter:drop-shadow(4px 6px 2px rgba(0,0,0,.1))}.wptb-plugin-filter-box-shadow-md-close{filter:drop-shadow(4px 1px 2px rgba(0,0,0,.1))}.wptb-plugin-box-shadow-up-md{box-shadow:0 -5px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.wptb-plugin-box-shadow-xl{box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.3)!important}.wptb-plugin-inset-shadow-md{box-shadow:inset 0 4px 6px -1px rgba(0,0,0,.2),0 2px 4px -1px rgba(0,0,0,.2)}.wptb-plugin-margin-no{margin:0!important}.wptb-settings-space-between{display:flex;flex-direction:row;width:100%;justify-content:space-between;align-items:center}.wptb-icon-select-wrapper{align-items:center;height:100%}.wptb-icon-select-display{width:50px;height:50px;background-color:var(--wptb-plugin-theme-color-light);border:1px solid var(--wptb-plugin-gray-400);border-radius:5px;position:relative}.wptb-icon-select-preview{width:100%;height:100%;justify-content:center;align-items:center;padding:5px;cursor:pointer;position:relative}.wptb-icon-select-preview img[src='']{display:none}.wptb-icon-select-preview img,.wptb-prebuilt-card-icon svg{width:100%;height:100%}.wptb-icon-select-drawer{position:fixed;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-auto-flow:row;grid-gap:15px;background-color:var(--wptb-plugin-theme-color-light);border:1px solid var(--wptb-plugin-gray-400);border-radius:5px;padding:10px;width:200px;max-height:200px;overflow-y:hidden;z-index:110000}.wptb-icon-search-wrapper,.wptb-icon-search-wrapper input{width:100%}.wptb-icon-previews{position:relative;width:100%;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:row;grid-gap:10px;justify-content:center;align-items:center;overflow-y:scroll}.wptb-icon-select-drawer-preview{display:flex;justify-content:center;align-items:center}.wptb-icon-select-drawer-preview img{width:25px;height:25px;transition:transform .2s ease-out;cursor:pointer}.wptb-icon-select-drawer-preview img:hover{transform:scale(1.2)}.wptb-icon-preview-active{border:2px solid var(--wptb-plugin-logo-color)}.wptb-icon-reset{border:1px solid var(--wptb-plugin-theme-sidebar-bg);width:100%;height:100%;border-radius:5px;cursor:pointer}.wptb-help-support-section-wrapper,.wptb-html-control-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center}.wptb-help-support-section-wrapper{padding:20px 0}.wptb-help-support-section-wrapper div{margin:5px 0}.wptb-builder-responsive{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fff;z-index:400000;margin:auto;padding:40px 10px}.wptb-responsive-menu-tools{margin:auto auto 60px;max-width:700px}.wptb-screen-size-slider-wrapper{display:grid;grid-template-columns:1fr;grid-template-areas:'content';justify-content:center;align-items:center;margin-bottom:80px}.wptb-screen-size-slider-empty{width:100%;position:relative;height:5px;border-radius:3px;background-color:#fff;border:1px solid var(--wptb-plugin-gray-400);grid-area:content}.wptb-screen-size-slider-fill{height:100%;position:absolute;left:0;border-radius:3px;background-color:var(--wptb-plugin-logo-color);border:1px solid transparent;transition:all .1s linear}.wptb-drag-active .wptb-screen-size-slider-arrow,.wptb-drag-active .wptb-screen-size-slider-fill{transition:none!important}.wptb-screen-size-slider-arrow{position:absolute;top:-30px;cursor:-webkit-grab;cursor:grab;transition:all .1s linear}.wptb-screen-size-slider-arrow:active{cursor:-webkit-grabbing;cursor:grabbing}.wptb-size-slider-stops-wrapper{z-index:900000;position:absolute;top:-10px}.wptb-slider-stop{position:absolute;display:flex;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;flex-direction:column;justify-content:center;align-items:center;cursor:pointer}.wptb-slider-stop-knob{width:20px;height:20px;background-color:#fff;border:2px solid var(--wptb-plugin-logo-color);border-radius:50%;margin-bottom:5px;transition:all .2s ease-out}.wptb-slider-stop-label{text-transform:capitalize;font-size:90%;color:var(--wptb-plugin-gray-400)}.wptb-slider-stop-active .wptb-slider-stop-knob{background-color:var(--wptb-plugin-logo-color);color:inherit!important}.wptb-slider-stop-active .wptb-slider-stop-label{color:inherit!important}.wptb-size-input-wrapper{display:flex;justify-content:center;align-items:center;font-size:90%}.wptb-size-input-wrapper *{margin:0 10px;font-size:inherit!important;font-variant-numeric:tabular-nums}.wptb-size-input{width:calc(9ch);border:1px solid var(--wptb-plugin-gray-400)!important;background-color:var(--wptb-plugin-gray-100)!important;text-align:center;color:var(--wptb-plugin-theme-text-color-main)!important}.wptb-responsive-builder-main{margin-bottom:20px;padding:0 20px;position:relative}.wptb-responsive-toolbox-wrapper{display:grid;align-items:center;border:1px solid var(--wptb-plugin-gray-300);border-radius:3px;grid-area:toolbox}.wptb-responsive-toolbox-top-static{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;align-items:center;grid-gap:10px}.wptb-responsive-toolbox-dynamic-wrapper{display:grid;grid-template-columns:1fr;grid-gap:10px;grid-auto-rows:auto}.wptb-responsive-toolbox-wrapper>div{padding:10px;border-bottom:1px solid var(--wptb-plugin-gray-300)}.wptb-responsive-toolbox-row div:nth-child(even){justify-self:end}.wptb-responsive-toolbox-wrapper>div:last-child{border-bottom:none!important}.wptb-responsive-toolbox-dynamic-controls-holder{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:5px}.wptb-responsive-toolbox-dynamic-controls-holder>div:nth-child(even){justify-self:end}.wptb-responsive-size-range-name{justify-self:center;font-weight:700}.wptb-responsive-clone-wrapper{height:100%;grid-area:main;padding:20px 0;justify-self:center;border:1px solid var(--wptb-plugin-gray-300);border-top:none!important;align-items:center}.wptb-responsive-clone-inner-wrapper,.wptb-responsive-clone-wrapper{display:flex;justify-content:center;width:100%}.wptb-checkerboard-pattern{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyIDIiPgogICAgPHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMSIgeD0iMCIgeT0iMCIgZmlsbD0icmdiKDIwMywyMTMsMjI0KSIvPgogICAgPHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMSIgeD0iMSIgeT0iMCIgZmlsbD0icmdiKDIzNywyNDIsMjQ3KSIvPgogICAgPHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMSIgeD0iMSIgeT0iMSIgZmlsbD0icmdiKDIwMywyMTMsMjI0KSIvPgogICAgPHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMSIgeD0iMCIgeT0iMSIgZmlsbD0icmdiKDIzNywyNDIsMjQ3KSIvPgo8L3N2Zz4=);background-repeat:repeat;background-size:20px}.wptb-responsive-disabled-table-overlay{position:absolute;left:0;top:0;width:100%;height:100%;background-image:repeating-linear-gradient(45deg,transparent,transparent 15px,rgba(1,1,1,.2) 15px,rgba(1,1,1,.2) 30px);z-index:10}.wptb-responsive-wait-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,.4);color:#fff;text-transform:uppercase;font-weight:700}.wptb-responsive-wait-overlay:after{content:'';-webkit-animation:wptb-text-dots 2s infinite;animation:wptb-text-dots 2s infinite}.wptb-controls-flex-row{display:flex;align-items:center;flex-direction:row}.wptb-controls-flex-row label{margin:0 5px}.wptb-responsive-builder-main input[type=checkbox]{margin-top:0!important}.wptb-plugin-modal-window,.wptb-responsive-cell-identifier{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.wptb-responsive-cell-identifier{font-size:4rem;text-shadow:3px 3px 1px var(--wptb-plugin-gray-300);opacity:0;transition:opacity .5s ease-out;z-index:100}.wptb-responsive-show-cell-identifier .wptb-responsive-cell-identifier{opacity:1!important}.wptb-plugin-modal-window{background-color:rgba(0,0,0,.5);z-index:600000}.wptb-plugin-modal-inner-window{max-width:400px;background-color:#fff;padding:20px;border-radius:3px;display:grid;grid-template-areas:"modalIcon message" "buttonContainer buttonContainer";grid-gap:10px}.wptb-plugin-modal-icon{grid-area:modalIcon;width:50px;height:100%;display:flex;justify-content:center;align-items:center;transform:scale(2);pointer-events:none}.wptb-plugin-modal-message{grid-area:message}.wptb-plugin-modal-button-container{margin:5px 0 0;justify-self:center;grid-area:buttonContainer;width:100%}.wptb-plugin-button-material{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px;border-radius:3px;background-color:var(--wptb-plugin-logo-color);color:#fff;cursor:pointer;transition:all .05s ease-out}.wptb-plugin-button-material:active{transform:scale(.95)}.wptb-plugin-button-material-fit-content{width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important}.wptb-plugin-button-material-full-size{width:100%}.wptb-plugin-responsive-base{min-width:auto!important;width:100%!important}.wptb-responsive-toolbox-wrapper .wptb-menu-popup-wrapper{margin-right:0!important}.wptb-responsive-breakpoint-edit-wrapper{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-flow:row;align-items:center}.wptb-toggle input:disabled+i{background:var(--wptb-plugin-gray-400)}.wptb-control-row{width:95%}.wptb-builder-content{position:relative}.wptb-responsive-builder-toolbox-float{grid-area:toolbox;padding:10px 0;display:flex;justify-content:space-between}.wptb-responsive-builder-toolbox-left-float{display:flex;justify-content:flex-start;align-items:center}.wptb-number-postfix-buttons-wrapper{margin-left:10px;display:flex!important;height:100%}.wptb-number-postfix-button{display:flex;justify-content:center;align-items:center;width:30px;border:1px solid var(--wptb-plugin-gray-400)!important;background-color:var(--wptb-plugin-gray-100)!important;border-radius:5px;cursor:pointer;font-weight:700;color:var(--wptb-plugin-theme-text-color-main)!important;font-size:110%}.wptb-number-postfix-button:active{-webkit-animation:wptb-push .2s ease-out;animation:wptb-push .2s ease-out}.wptb-panel-toggle-section{grid-area:sidebar-footer;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;padding:20px 10px;background-color:var(--wptb-plugin-logo-color);color:#fff}.wptb-left-panel[data-wptb-panel-location=right] .wptb-panel-toggle-section{justify-content:flex-start!important}.wptb-panel-toggle-section .wptb-panel-drawer-icon{cursor:pointer;transform:scale(2)}.wptb-left-panel[data-wptb-panel-location=right] .wptb-panel-toggle-section .wptb-panel-drawer-icon{transform:scale(2) rotateZ(180deg)}.collapsed .wptb-panel-toggle-section{opacity:1!important}.wptb-cell-related-drop-handle{position:fixed;display:none;background-color:#e2e8f0c7;z-index:300000;pointer-events:none;transition:all .2s ease-out;-webkit-animation:wptb-basic-appear .2s ease-out;animation:wptb-basic-appear .2s ease-out;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;text-transform:uppercase;color:#4a5568}.wptb-control-media-select-button{width:100px;height:50px;border:1px solid var(--wptb-plugin-gray-400);background-position:center center;background-size:contain;background-repeat:no-repeat;cursor:pointer}.wptb-control-media-button-wrapper{position:relative}.wptb-control-media-clear-button{position:absolute;width:20px;height:20px;top:-5px;right:-10px;color:red;cursor:pointer}.wptb-control-media-clear-button span{transform:scale(1.8)}.wptb-controls-ul-row{display:flex}.wptb-button-svg-center{display:flex!important;justify-content:center;align-items:center}.wptb-sides-link-icon-wrapper{width:16px;height:16px;cursor:pointer;transition:transform .1s ease-out;filter:opacity(.7)}.wptb-sides-link-icon-wrapper:active{transform:scale(.9)}.wptb-sides-controls-wrapper{display:grid;grid-template-columns:repeat(5,1fr)}.wptb-side-control-header{color:var(--wptb-plugin-gray-500);text-align:center;margin:5px 0}.wptb-side-control-main-input{width:100%;height:30px!important;border:1.5px solid var(--wptb-plugin-gray-300)!important;border-radius:0!important;text-align:center}.wptb-side-control-number-input{transition:all .3s ease-out;margin-left:5px}.wptb-side-values-linked .wptb-side-control-number-input{margin-left:0}.wptb-side-control-main-input:active,.wptb-side-control-main-input:focus{outline:0!important;box-shadow:none!important}.wptb-side-control-input-wrapper:first-of-type .wptb-side-control-main-input{border-left-width:3px!important;border-radius:5px 0 0 5px!important}.wptb-side-control-input-wrapper:last-of-type .wptb-side-control-main-input{border-right-width:3px!important;border-radius:0 5px 5px 0!important}.wptb-side-control-dropdown-wrapper{align-self:end}.wptb-side-control-dropdown{background-color:var(--wptb-plugin-gray-400)!important}.wptb-named-toggle-control-wrapper{position:relative;min-height:30px;display:grid;grid-template-columns:1fr;grid-auto-columns:1fr;grid-auto-flow:column;justify-content:center;align-items:center;border:1px solid var(--wptb-plugin-gray-400);border-radius:5px;background-color:var(--wptb-plugin-white);overflow:hidden}.wptb-named-toggle-item{display:flex;justify-content:center;align-items:center;text-wrap:avoid;padding:10px;z-index:10;cursor:pointer;color:var(--wptb-plugin-gray-400);font-weight:700;font-size:90%!important}.wptb-named-toggle-item[data-wptb-named-toggle-active=true]{color:var(--wptb-plugin-white)}.wptb-named-toggle-active-indicator{position:absolute;height:100%;background-color:var(--wptb-plugin-logo-color);z-index:9;transition:left .2s ease-out}.wptb-cell[data-wptb-cell-vertical-alignment=top]{vertical-align:baseline}.wptb-cell[data-wptb-cell-vertical-alignment=center]{vertical-align:middle}.wptb-cell[data-wptb-cell-vertical-alignment=bottom]{vertical-align:bottom}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal]::after,.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical]::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal]::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical]::after{position:absolute;top:0;bottom:0;z-index:101;display:grid;font-family:dashicons;font-size:35px;align-content:center;text-align:center}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=ask]::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=ask]::after{content:"\f142";right:0}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=desk].sortable-hover::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=desk].sortable-hover::after{content:"\f142";cursor:pointer;opacity:.7}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=desk]::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=desk]::after{content:"\f140";right:0}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=ask].sortable-hover::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-vertical="1"] td[data-sorted-vertical=ask].sortable-hover::after{content:"\f140";cursor:pointer;opacity:.7}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=ask]::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=ask]::after{content:"\f141";left:0}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=desk].sortable-hover::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=desk].sortable-hover::after{content:"\f141";cursor:pointer;opacity:.7}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=desk]::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=desk]::after{content:"\f139";left:0}.wptb-responsive-clone-wrapper .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=ask].sortable-hover::after,.wptb-table-setup:not(.wptb-preview-table-manage-cells) .wptb-preview-table[data-wptb-sortable-table-horizontal="1"] td[data-sorted-horizontal=ask].sortable-hover::after{content:"\f139";cursor:pointer;opacity:.7}.wptb-generate-wrapper{margin:0 50px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:inherit}.wptb-generate-menu{display:grid;grid-template-columns:1fr;grid-template-areas:'header' 'listing'}.wptb-generate-menu-header{grid-area:header;padding:30px;border-bottom:1px solid var(--wptb-plugin-gray-300)}.wptb-generate-menu-listing{grid-area:listing;padding:30px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap}.wptb-generate-search{border:1px solid var(--wptb-plugin-gray-300)!important;text-align:center;font-size:90%;color:inherit}.wptb-generate-search:active,.wptb-generate-search:focus{border:1px solid var(--wptb-plugin-gray-400)!important;inset:0!important;box-shadow:none!important}.wptb-prebuilt-card{width:200px;max-width:200px;display:grid;grid-template-columns:1fr;grid-template-rows:125px auto;grid-template-areas:'main' 'footer';border-radius:5px;transition:all .4s ease-out;background-color:var(--wptb-plugin-theme-color-light);cursor:pointer;margin:calc(var(--wptb-prebuilt-card-control-size) + 10px)}.wptb-prebuilt-card-active{cursor:default;-webkit-animation:wptb-pop .2s ease-out;animation:wptb-pop .2s ease-out}.wptb-prebuilt-card:hover{box-shadow:3px 3px 2px .5px rgba(0,0,0,.2)}.wptb-prebuilt-card-preview{position:relative;grid-area:main;border:var(--wptb-prebuilt-card-border-size) solid var(--wptb-plugin-gray-400);border-bottom:1px solid var(--wptb-plugin-gray-400)!important;background-color:var(--wptb-plugin-gray-300);display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:'preview';justify-content:center;align-items:center;border-radius:5px 5px 0 0}.wptb-team-prebuilt{border:var(--wptb-prebuilt-card-border-size) solid var(--wptb-plugin-logo-color)!important}.wptb-prebuilt-card-controls{grid-area:preview;position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.wptb-prebuilt-live-display{width:100%;height:100%;grid-area:preview;padding:15px}.wptb-prebuilt-live-table{width:100%;height:100%;background-color:var(--wptb-plugin-theme-color-light);border-radius:5px;border:1px solid var(--wptb-plugin-gray-400);display:grid}.wptb-prebuilt-live-cell{width:100%;height:100%;border:.5px solid var(--wptb-plugin-gray-400);cursor:pointer;display:flex;justify-content:center;align-items:center;position:relative;overflow:visible;z-index:10}.wptb-prebuilt-live-cell-hover{opacity:.7}.wptb-prebuilt-live-cell:hover .wptb-prebuilt-live-control{opacity:unset;pointer-events:all}.wptb-prebuilt-live-control-hide .wptb-prebuilt-live-control{display:none}.wptb-prebuilt-live-cell-hover,.wptb-prebuilt-live-control-active{background-color:var(--wptb-plugin-logo-color)}.wptb-prebuilt-live-control{position:absolute;opacity:0;pointer-events:none;transition:all .1s ease-out;font-size:120%}.wptb-prebuilt-live-control:active{-webkit-animation:wptb-push .2s ease-out;animation:wptb-push .2s ease-out}.wptb-prebuilt-added-cell{background-color:#40e0d0;cursor:default;z-index:1!important}.wptb-prebuilt-control{position:absolute;display:flex;justify-content:center;align-items:center;pointer-events:all}.wptb-prebuilt-control[data-orientation=row]{top:0;transform:translateY(calc(-100% - var(--wptb-prebuilt-card-border-size)));display:flex;justify-content:center;align-items:center}.wptb-prebuilt-control[data-orientation=col]{left:0;transform:translateX(calc(-100% - var(--wptb-prebuilt-card-border-size)));display:flex;flex-wrap:wrap;flex-direction:column-reverse;width:var(--wptb-prebuilt-card-control-size);justify-content:center;align-items:center}.wptb-prebuilt-control-input{text-align:center;width:var(--wptb-prebuilt-card-control-size);height:var(--wptb-prebuilt-card-control-size);border:1px solid var(--wptb-plugin-gray-300)!important;color:inherit!important;border-radius:0!important;margin:0!important}.wptb-prebuilt-control-input:active,.wptb-prebuilt-control-input:focus{border:1px solid var(--wptb-plugin-gray-400)!important;inset:0!important;box-shadow:none!important}.wptb-prebuilt-control-input:disabled{color:var(--wptb-plugin-gray-300)!important}.wptb-prebuilt-control-increment-box{width:var(--wptb-prebuilt-card-control-size);height:var(--wptb-prebuilt-card-control-size);background-color:var(--wptb-plugin-gray-300);display:flex;justify-content:center;align-items:center;font-size:150%;cursor:pointer}.wptb-prebuilt-control-increment-box:hover{background-color:var(--wptb-plugin-gray-400)}.wptb-prebuilt-control-increment-box[disabled]{background-color:var(--wptb-plugin-gray-200)!important;color:var(--wptb-plugin-gray-400)!important;cursor:default}.wptb-prebuilt-card-footer{grid-area:footer;display:flex;justify-content:center;align-items:center}.wptb-prebuilt-card-footer-element{padding:15px;border:var(--wptb-prebuilt-card-border-size) solid var(--wptb-plugin-gray-400);border-top:0!important;width:100%;height:100%;border-radius:0 0 5px 5px}.wptb-prebuilt-card-footer-button-holder{padding:0!important;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;background-color:var(--wptb-plugin-gray-500)}.wptb-prebuilt-card-footer-button-holder-single{grid-template-columns:1fr!important}.wptb-prebuilt-blank{font-size:400%;color:var(--wptb-plugin-gray-500);margin:0!important}.wptb-prebuilt-footer-button{width:100%;height:100%;cursor:pointer;transition:color .2s ease-out;font-weight:700;padding:15px;color:var(--wptb-plugin-gray-400)}.wptb-prebuilt-footer-generate{background-color:var(--wptb-plugin-logo-color)}.wptb-prebuilt-footer-edit{background-color:var(--wptb-plugin-green-500)}.wptb-prebuilt-footer-button:first-of-type{border-radius:0 0 0 5px}.wptb-prebuilt-footer-button:last-of-type{border-radius:0 0 5px 0}.wptb-prebuilt-footer-button:only-of-type{border-radius:0 0 5px 5px}.wptb-prebuilt-footer-button:hover{color:var(--wptb-plugin-theme-color-light)}.wptb-preview-table-manage-cells table tr td div,.wptb-unselectable{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.wptb-no-pointer-events{pointer-events:none}.wptb-plugin-basic-disappear{-webkit-animation:wptb-basic-disappear .1s ease-out;animation:wptb-basic-disappear .1s ease-out}.wptb-prebuilt-ad{margin:50px;color:var(--wptb-plugin-gray-500)}.wptb-prebuilt-ad-link{font-size:120%;color:var(--wptb-plugin-logo-color)!important;font-weight:700}.wptb-prebuilt-table-wrapper{width:100%;overflow:hidden!important;display:flex;justify-content:center;align-items:center;padding:20px;animation:wptb-basic-disappear .2s ease-out alternate-reverse;pointer-events:none}.wptb-prebuilt-card-search-indicator-main{color:var(--wptb-plugin-gray-500)}.wptb-prebuilt-card-search-indicator{color:var(--wptb-plugin-logo-color)!important;font-weight:700}.wptb-prebuilt-card-icon{width:25px;height:25px;position:absolute;cursor:pointer;display:flex;justify-content:center;align-items:center}.wptb-prebuilt-card-fav-icon{left:8px;top:8px}.wptb-prebuilt-card-delete-icon{background-color:var(--wptb-plugin-gray-200);padding:6px;border-radius:50%;width:35px;height:35px;right:-15px;top:-15px;display:flex;justify-content:center;align-items:center;border:2px solid var(--wptb-plugin-gray-400);transition:all .2s ease-out;z-index:120;fill:red}.wptb-prebuilt-card-delete-icon:hover{transform:scale(1.1)}.wptb-prebuilt-card-fav-icon svg{transition:fill .2s ease-out;fill:transparent;stroke-width:40;stroke:var(--wptb-plugin-theme-color-light)}.wptb-prebuilt-card-circle-icon-button:active,.wptb-prebuilt-card-fav-icon:active{-webkit-animation:wptb-push .2s ease-out;animation:wptb-push .2s ease-out}.wptb-prebuilt-card-fav-icon.is-fav svg{fill:var(--wptb-plugin-logo-color)!important;stroke-width:0!important}.wptb-prebuilt-card-fav-icon:hover svg{fill:var(--wptb-plugin-theme-color-light)}.wptb-prebuilt-delete-module-confirmation-overlay{position:absolute;width:100%;height:100%;top:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:rgba(0,0,0,.5);color:var(--wptb-plugin-theme-color-light);z-index:100;border-radius:5px 5px 0 0}.wptb-prebuilt-delete-module-confirmation-overlay div{margin:5px}.wptb-prebuilt-delete-button-container{width:100%;display:flex;justify-content:space-evenly;align-items:center}.wptb-prebuilt-card-circle-icon-button{width:30px;height:30px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;color:var(--wptb-plugin-theme-color-light)}.wptb-prebuilt-card-circle-icon-button svg{width:100%;height:100%;fill:currentColor}.wptb-prebuilt-card-circle-icon-button[data-wptb-button-type=positive]{background-color:var(--wptb-plugin-green-500)}.wptb-prebuilt-card-circle-icon-button[data-wptb-button-type=negative]{background-color:red}.wptb-prebuilt-mark-indicator{position:absolute;pointer-events:none;width:calc(100% + 10px);height:calc(100% + 10px);top:-5px;left:-5px;opacity:.2}.wptb-prebuilt-mark-indicator,.wptb-repeating-linear-gradient{background:repeating-linear-gradient(45deg,white,white 5px,var(--wptb-plugin-logo-color) 5px,var(--wptb-plugin-logo-color) 10px);background-size:400% 400%;animation:linear-gradient-move 20s linear infinite reverse}.wptb-prebuilt-card .wptb-prebuilt-mark-indicator{display:none}.wptb-prebuilt-tab-control{position:absolute;top:20px;left:20px;border:1px solid var(--wptb-plugin-gray-400);display:flex;justify-content:center;align-items:center;border-radius:5px}.wptb-prebuilt-dev-tool div,.wptb-prebuilt-tab-control div{padding:5px}.wptb-prebuilt-tab-control-label{text-transform:capitalize;border-right:1px solid var(--wptb-plugin-gray-400);white-space:nowrap}.wptb-prebuilt-tab-control-buttons-wrapper{display:flex;justify-content:center;align-items:center;flex-direction:row;flex-wrap:nowrap}.wptb-prebuilt-tab-control-icon{width:35px;height:35px;display:flex;justify-content:center;align-items:center}.wptb-prebuilt-tab-control-icon[data-wptb-prebuilt-tab-control-type=stop]{fill:red}.wptb-prebuilt-tab-control-icon[data-wptb-prebuilt-tab-control-type=restart]{fill:var(--wptb-plugin-green-500)}.wptb-prebuilt-tab-control-icon svg{width:100%;height:100%;cursor:pointer}.wptb-prebuilt-dev-tool .prebuilt-button:active,.wptb-prebuilt-tab-control-icon svg:active{-webkit-animation:wptb-push .2s ease-out;animation:wptb-push .2s ease-out}.wptb-prebuilt-dev-tool{position:absolute;top:20px;right:20px;border:1px solid var(--wptb-plugin-gray-400);display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center;align-items:center;border-radius:5px}.wptb-prebuilt-dev-tool .label{font-weight:700;border-bottom:1px solid var(--wptb-plugin-gray-400)}.wptb-prebuilt-dev-tool .prebuilt-button{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:10px;margin:5px;color:var(--wptb-plugin-theme-color-light);background-color:var(--wptb-plugin-logo-color);border-radius:5px;cursor:pointer}.wptb-prebuilt-display-calculate{width:700px}.wptb-preview-table-manage-cells table tr td div{pointer-events:none}.wptb-plugin-blocker-element{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.wptb-highlighted .wptb-plugin-blocker-element{background:repeating-linear-gradient(45deg,white,white 5px,var(--wptb-plugin-logo-color) 5px,var(--wptb-plugin-logo-color) 10px);background-size:400% 400%;animation:linear-gradient-move 40s linear infinite reverse;opacity:.2}.wptb-plugin-blocker-element-empty::before{content:'Cell';display:block;font-weight:400;font-size:80%;text-align:center;color:#969fa6}.wptb-plugin-blocker-element-empty::after{content:'';display:block;border:1px dashed #969fa6;position:absolute;top:2px;right:2px;bottom:2px;left:2px}.wptb-plugin-header-toolbar{top:0;position:absolute;left:50%;padding:0 10px;border:1px solid var(--wptb-plugin-gray-200);z-index:1;background-color:var(--wptb-plugin-theme-color-light);transition:top .2s ease-out}.wptb-plugin-header-toolbar div{font-size:95%;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:5px;margin:0}.wptb-settings-version-control{max-width:800px;width:100%;display:grid;grid-template-columns:1fr 300px;grid-template-areas:'main changelog';grid-template-rows:500px;grid-gap:50px}.wptb-version-control-main{grid-area:main;padding:20px;display:flex;flex-direction:column;justify-content:space-between;align-items:center}.wptb-version-control-main-row{width:100%;display:flex;justify-content:center;padding:10px 0;flex-direction:column}.wptb-version-control-warning-span{color:var(--wptb-plugin-red-600)!important;text-transform:uppercase;font-weight:700;font-size:120%}.wptb-version-control-warning-info{font-size:90%}.wptb-version-control-changelog{grid-area:changelog;background-color:var(--wptb-plugin-gray-200);border:1px solid var(--wptb-plugin-gray-300);font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;padding:10px;overflow-y:scroll;height:100%}.wptb-version-control-controls{width:100%;height:100%;margin:20px 0;display:grid;grid-template-columns:auto 1fr;grid-template-rows:repeat(3,auto);align-items:center;grid-gap:20px}.wptb-version-control-row-element{padding:10px 0}.wptb-version-control-row-label{text-transform:capitalize;font-weight:700}.wptb-version-control-row-label:after{content:':'}.wptb-version-indicator{height:100%;display:flex;align-items:center;margin-right:10px}.wptb-version-indicator-circle{width:15px;height:15px;border-radius:50%;margin-right:10px}.wptb-version-indicator-match{background-color:var(--wptb-plugin-green-500)}.wptb-version-indicator-low{background-color:var(--wptb-plugin-yellow-500)}.wptb-version-control-anchor{text-transform:capitalize}.wptb-version-control-row-slot{width:100%;height:100%;display:flex;justify-content:flex-start;align-items:center;flex-direction:row}.wptb-table-tags-menu-wrapper{position:fixed;width:100%;height:100%;top:0;left:0}.wptb-tag-control-cloud-wrapper{width:100%}.wptb-tag-control-create-wrapper{margin-top:20px!important;border-top:1px solid var(--wptb-plugin-gray-400);padding-top:10px}.wptb-tag-control-cloud-wrapper:nth-of-type(n+1){margin-top:10px}.wptb-tag-control-cloud-wrapper .wptb-settings-item-title{text-transform:capitalize;font-size:90%!important;font-weight:700}.wptb-tag-control-cloud{width:100%;min-height:90px;max-height:90px;overflow-y:auto;background-color:var(--wptb-plugin-gray-200);padding:3px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;position:relative;border:1px solid var(--wptb-plugin-gray-400);border-radius:5px}.wptb-tag-ribbon-wrapper{color:var(--wptb-plugin-theme-color-light);font-size:90%!important;padding:3px 5px 3px 10px;background-color:var(--wptb-plugin-logo-color);border-radius:999px!important;display:flex;align-items:center;justify-content:space-between;margin:5px;cursor:default;-webkit-animation:wptb-basic-appear .2s ease-out;animation:wptb-basic-appear .2s ease-out}.wptb-tag-ribbon-name{font-size:inherit!important}.wptb-tag-ribbon-wrapper:hover .wptb-tag-operation-button{opacity:1}.wptb-tag-operation-button{width:20px;height:20px;border-radius:100%;margin-left:10px;opacity:0;transition:all .3s ease-out;display:flex;justify-content:center;align-items:center;cursor:pointer}.wptb-tag-operation-add-button{background-color:var(--wptb-plugin-green-500)}.wptb-tag-operation-remove-button{background-color:var(--wptb-plugin-red-600)}.wptb-tag-control-cloud-empty,.wptb-tag-control-search-wrapper{width:100%;display:flex;justify-content:center;align-items:center}.wptb-tag-control-cloud-empty{position:absolute;top:0;left:0;height:100%;color:var(--wptb-plugin-gray-500);font-style:italic;font-size:90%!important}.wptb-tag-control-cloud-empty:after,.wptb-tag-control-cloud-empty:before{content:'==';margin:0 5px}.wptb-tag-control-search-wrapper{margin-top:5px}.wptb-tag-control-search{border:1px solid var(--wptb-plugin-gray-400)!important;text-align:center;font-size:90%!important;color:inherit;border-radius:999px!important;padding:0!important}.wptb-tag-control-search:active,.wptb-tag-control-search:focus{border:1px solid var(--wptb-plugin-gray-500)!important;inset:0!important;box-shadow:none!important}.wptb-tag-control-search-input{position:relative;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;font-size:90%!important}.wptb-tag-control-search-clear{position:absolute;top:0;right:10px;height:100%;display:flex;justify-content:center;align-items:center;color:var(--wptb-plugin-gray-500);cursor:pointer;padding:5px}.wptb-tag-control-search-indicator{font-weight:700;color:var(--wptb-plugin-green-500)!important;font-size:inherit!important}.wptb-tag-control-create-controls-wrapper{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:10px;margin-top:10px}.wptb-tag-control-create-controls-wrapper input{width:100%!important}.wptb-tag-control-create-control-label{font-size:90%!important;text-transform:capitalize}.wptb-tag-control-create-button{background-color:var(--wptb-plugin-logo-color);color:var(--wptb-plugin-theme-color-light);display:flex;justify-self:end;justify-content:center;align-items:center;font-size:90%!important;text-transform:uppercase;padding:5px;border-radius:5px;grid-column:2;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;cursor:pointer;transition:all .2s ease-out}.wptb-tag-control-create-button[data-disabled]{background-color:var(--wptb-plugin-gray-400);pointer-events:none}.wptb-tag-control-busy,.wptb-tag-control-status{grid-column:1;width:100%;height:100%;display:flex;align-items:center}.wptb-tag-control-status[data-status=positive]{color:var(--wptb-plugin-green-500)!important}.wptb-tag-control-status[data-status=negative]{color:var(--wptb-plugin-red-600)!important}.wptb-tag-control-busy{color:var(--wptb-plugin-logo-color)}.wptb-table-cell-select-wrapper{display:grid;grid-gap:5px;width:100%;height:150px;border:1px solid var(--wptb-plugin-gray-400);padding:10px;border-radius:3px;background-color:var(--wptb-plugin-gray-300)}.wptb-table-cell-select-cell{width:100%;height:100%;cursor:pointer;transition:all .2s ease-out;border-radius:3px;background-color:var(--wptb-plugin-gray-400)}.wptb-table-cell-select-cell:hover{background-color:var(--wptb-plugin-gray-500)}.wptb-table-cell-select-cell[data-cell-selected=true]{background-color:var(--wptb-plugin-logo-color)!important}.wptb-table-cell-indicator{position:fixed;opacity:.2;pointer-events:none}.wptb-different-border-control-wrapper .wptb-settings-middle-xs{padding-top:5px!important;border-bottom:0!important}.wptb-different-border-range-input .wptb-settings-item-header{padding-bottom:0!important}.wptb-color-picker-wrapper{width:100%}.wptb-color-picker-input{cursor:pointer}.wptb-color-picker-input:disabled{cursor:default}[data-wptb-text-disabled=true]{color:var(--wptb-plugin-gray-400)!important}.wptb-local-dev-file-chooser{position:fixed;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,.6)}.wptb-local-dev-modal{background-color:var(--wptb-plugin-theme-color-light);width:500px;height:300px;border-radius:3px;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(-webkit-min-content,-webkit-max-content) 1fr minmax(-webkit-min-content,-webkit-max-content);grid-template-rows:minmax(min-content,max-content) 1fr minmax(min-content,max-content);grid-template-areas:"header" "files" "footer"}.wptb-local-dev-modal>div{padding:5px;border-bottom:1px solid var(--wptb-plugin-gray-400);display:flex;align-items:center}.wptb-local-dev-modal>div:last-of-type{border-bottom:0}.wptb-local-dev-modal-header{font-weight:700;text-transform:uppercase;justify-content:space-between;padding:0!important}.wptb-local-dev-modal-title{padding:5px!important}.wptb-local-dev-modal-files{position:relative;overflow-y:auto;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;background-color:var(--wptb-plugin-gray-200)}.wptb-local-dev-modal-footer{justify-content:flex-end}.wptb-local-dev-modal-footer .wptb-settings-button{margin:0 5px!important;font-size:90%!important}.wptb-local-dev-image-card{width:100px;max-width:100px;display:grid;grid-template-columns:1fr;grid-template-rows:1fr minmax(-webkit-min-content,-webkit-max-content);grid-template-rows:1fr minmax(min-content,max-content);grid-auto-flow:row;cursor:pointer;justify-content:center;align-items:center;margin:5px;border:2px solid var(--wptb-plugin-gray-300);padding:5px;border-radius:5px;transition:all .2s ease-out;background-color:var(--wptb-plugin-theme-color-light)}.wptb-local-dev-image-card[data-active=true]{border:2px solid var(--wptb-plugin-logo-color)!important}.wptb-local-dev-image-card:hover{border:2px solid var(--wptb-plugin-gray-400);transform:scale(1.05)}.wptb-local-dev-image-holder{width:100%;height:100%}.wptb-local-dev-image-holder img{max-width:100%;max-height:100%;display:block}.wptb-local-dev-image-name{word-break:break-all;display:flex;justify-content:center;align-items:center;font-style:italic;font-size:90%;border-top:1px solid var(--wptb-plugin-gray-300)}.wptb-local-dev-modal-close{padding:0 10px;color:var(--wptb-plugin-red-600);cursor:pointer;font-size:120%!important}.wptb-upsells-wrapper{width:100%;padding:15px;color:var(--wptb-plugin-theme-color-light);cursor:pointer;transition:all .2s ease-out;-webkit-animation:wptb-unfold-up .3s ease-out forwards;animation:wptb-unfold-up .3s ease-out forwards;-webkit-animation-delay:.5s;animation-delay:.5s;transform:rotateX(-90deg);transform-origin:top}.wptb-left-panel .wptb-upsells-wrapper{font-size:90%!important}.wptb-panel-left .wptb-upsells-anchor{display:none}.wptb-upsells-message-holder{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;margin:0!important;border-radius:5px;padding:10px 5px;transition:all .3s ease-out;text-align:center;background-color:var(--wptb-plugin-theme-color-light)!important;border:1px solid var(--wptb-plugin-gray-400);color:var(--wptb-plugin-gray-600);font-weight:500}.wptb-generate-wrapper .wptb-upsells-message-holder{background-color:var(--wptb-plugin-gray-200)!important;padding:15px}.wptb-upsells-pro-label{background-color:var(--wptb-plugin-cta-button)!important;color:var(--wptb-plugin-black);border-radius:3px;padding:5px;font-weight:700;border:1px solid var(--wptb-plugin-gray-400)!important}.wptb-upsells-message-holder:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.3)!important;transform:scale(1.05)}.wptb-upsells-anchor{text-decoration:none}
inc/admin/css/src/admin.css CHANGED
@@ -14,11 +14,16 @@
14
  --wptb-plugin-gray-300: #E2E8F0;
15
  --wptb-plugin-gray-400: #CBD5E0;
16
  --wptb-plugin-gray-500: #A0AEC0;
 
17
  --wptb-plugin-gray-700: #4A5568;
18
  --wptb-plugin-green-500: #48BB78;
19
  --wptb-plugin-yellow-500: #ECC94B;
20
  --wptb-plugin-red-600: #E53E3E;
 
21
  --wptb-plugin-white: #FFF;
 
 
 
22
 
23
  /*theme*/
24
  --wptb-plugin-theme-text-color-main: var(--wptb-plugin-gray-700);
@@ -33,6 +38,8 @@
33
 
34
  --wptb-prebuilt-card-border-size: 2px;
35
  --wptb-prebuilt-card-control-size: 30px;
 
 
36
  }
37
 
38
  html {
@@ -237,6 +244,65 @@ body > img {
237
  height: 100%;
238
  }
239
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
240
  .wptb-button-grey {
241
  background-color: var(--wptb-plugin-white);
242
  /*border: 1px solid #ccc;*/
@@ -260,6 +326,8 @@ body > img {
260
 
261
  .wptb-save-btn {
262
  color: inherit;
 
 
263
  }
264
 
265
  .wptb-save-btn.wptb-save-disabled {
@@ -1626,7 +1694,7 @@ table.wptb-table {
1626
 
1627
  .wptb-preview-table .wptb-row td.wptb-highlighted,
1628
  .wptb-state-dragging td:hover {
1629
- outline: 1px solid lightgreen;
1630
  }
1631
 
1632
  .wptb-preview-table .wptb-row.wptb-highlighted-row {
@@ -5076,6 +5144,13 @@ wptb_shortcode_container_element {
5076
  align-items: center;
5077
  }
5078
 
 
 
 
 
 
 
 
5079
  .wptb-plugin-blocker-element-empty::before {
5080
  content: 'Cell';
5081
  display: block;
@@ -5515,4 +5590,204 @@ wptb_shortcode_container_element {
5515
 
5516
  [data-wptb-text-disabled=true] {
5517
  color: var(--wptb-plugin-gray-400) !important;
5518
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  --wptb-plugin-gray-300: #E2E8F0;
15
  --wptb-plugin-gray-400: #CBD5E0;
16
  --wptb-plugin-gray-500: #A0AEC0;
17
+ --wptb-plugin-gray-600: #718096;
18
  --wptb-plugin-gray-700: #4A5568;
19
  --wptb-plugin-green-500: #48BB78;
20
  --wptb-plugin-yellow-500: #ECC94B;
21
  --wptb-plugin-red-600: #E53E3E;
22
+ --wptb-plugin-blue-300: #90CDF4;
23
  --wptb-plugin-white: #FFF;
24
+ --wptb-plugin-black: #000;
25
+ --wptb-plugin-gold: #D4AF37;
26
+ --wptb-plugin-cta-button: #F7C948;
27
 
28
  /*theme*/
29
  --wptb-plugin-theme-text-color-main: var(--wptb-plugin-gray-700);
38
 
39
  --wptb-prebuilt-card-border-size: 2px;
40
  --wptb-prebuilt-card-control-size: 30px;
41
+
42
+ --wptb-busy-duration: 0.9s;
43
  }
44
 
45
  html {
244
  height: 100%;
245
  }
246
 
247
+ .wptb-save {
248
+ position: relative;
249
+ }
250
+
251
+ #wptb_builder[data-wptb-saving] .wptb-save-btn {
252
+ opacity: 0 !important;
253
+ }
254
+
255
+ .wptb-busy {
256
+ position: absolute;
257
+ width: 100%;
258
+ height: 100%;
259
+ left: 0;
260
+ right: 0;
261
+ display: flex;
262
+ justify-content: space-evenly;
263
+ align-items: center;
264
+ opacity: 0;
265
+ pointer-events: none;
266
+ transition: all 0.2s ease-out;
267
+ }
268
+
269
+ .wptb-busy .wptb-busy-circle {
270
+ width: 10px;
271
+ height: 10px;
272
+ border-radius: 100%;
273
+ background-color: var(--wptb-plugin-gray-700);
274
+ animation: wptb-beat var(--wptb-busy-duration) ease-out forwards infinite;
275
+ }
276
+
277
+ .wptb-busy-circle:nth-of-type(2) {
278
+ animation-delay: calc(var(--wptb-busy-duration) / 3);
279
+ }
280
+
281
+ .wptb-busy-circle:nth-of-type(3) {
282
+ animation-delay: calc(var(--wptb-busy-duration) / 1.5);
283
+ }
284
+
285
+ @keyframes wptb-beat {
286
+ 0% {
287
+ transform: scale(1);
288
+ }
289
+ 15% {
290
+ transform: scale(1.5);
291
+ }
292
+ 30% {
293
+ transform: scale(1);
294
+ }
295
+ 100% {
296
+ transform: scale(1);
297
+ }
298
+ }
299
+
300
+ #wptb_builder[data-wptb-saving] .wptb-busy {
301
+ opacity: 1;
302
+ pointer-events: all;
303
+ cursor: not-allowed;
304
+ }
305
+
306
  .wptb-button-grey {
307
  background-color: var(--wptb-plugin-white);
308
  /*border: 1px solid #ccc;*/
326
 
327
  .wptb-save-btn {
328
  color: inherit;
329
+ opacity: 1;
330
+ transition: all 0.2s ease-out;
331
  }
332
 
333
  .wptb-save-btn.wptb-save-disabled {
1694
 
1695
  .wptb-preview-table .wptb-row td.wptb-highlighted,
1696
  .wptb-state-dragging td:hover {
1697
+ outline: 1px solid #acc1e2;
1698
  }
1699
 
1700
  .wptb-preview-table .wptb-row.wptb-highlighted-row {
5144
  align-items: center;
5145
  }
5146
 
5147
+ .wptb-highlighted .wptb-plugin-blocker-element {
5148
+ background: repeating-linear-gradient(45deg, white, white 5px, var(--wptb-plugin-logo-color) 5px, var(--wptb-plugin-logo-color) 10px);
5149
+ background-size: 400% 400%;
5150
+ animation: linear-gradient-move 40s linear infinite reverse;
5151
+ opacity: 0.2;
5152
+ }
5153
+
5154
  .wptb-plugin-blocker-element-empty::before {
5155
  content: 'Cell';
5156
  display: block;
5590
 
5591
  [data-wptb-text-disabled=true] {
5592
  color: var(--wptb-plugin-gray-400) !important;
5593
+ }
5594
+
5595
+ /*region local dev file control*/
5596
+ .wptb-local-dev-file-chooser {
5597
+ position: fixed;
5598
+ width: 100%;
5599
+ height: 100%;
5600
+ left: 0;
5601
+ top: 0;
5602
+ display: flex;
5603
+ justify-content: center;
5604
+ align-items: center;
5605
+ background-color: rgba(0, 0, 0, 0.6);
5606
+ }
5607
+
5608
+ .wptb-local-dev-modal {
5609
+ background-color: var(--wptb-plugin-theme-color-light);
5610
+ width: 500px;
5611
+ height: 300px;
5612
+ border-radius: 3px;
5613
+ display: grid;
5614
+ grid-template-columns: 1fr;
5615
+ grid-template-rows: minmax(min-content, max-content) 1fr minmax(min-content, max-content);
5616
+ grid-template-areas: "header" "files" "footer";
5617
+ }
5618
+
5619
+ .wptb-local-dev-modal > div {
5620
+ padding: 5px;
5621
+ border-bottom: 1px solid var(--wptb-plugin-gray-400);
5622
+ display: flex;
5623
+ align-items: center;
5624
+ }
5625
+
5626
+ .wptb-local-dev-modal > div:last-of-type {
5627
+ border-bottom: 0;
5628
+ }
5629
+
5630
+ .wptb-local-dev-modal-header {
5631
+ font-weight: bold;
5632
+ text-transform: uppercase;
5633
+ justify-content: space-between;
5634
+ padding: 0 !important;
5635
+ }
5636
+
5637
+ .wptb-local-dev-modal-title {
5638
+ padding: 5px !important;
5639
+ }
5640
+
5641
+ .wptb-local-dev-modal-files {
5642
+ position: relative;
5643
+ overflow-y: auto;
5644
+ display: flex;
5645
+ flex-direction: row;
5646
+ flex-wrap: wrap;
5647
+ justify-content: center;
5648
+ align-items: center;
5649
+ background-color: var(--wptb-plugin-gray-200);
5650
+ }
5651
+
5652
+ .wptb-local-dev-modal-footer {
5653
+ justify-content: flex-end;
5654
+ }
5655
+
5656
+ .wptb-local-dev-modal-footer .wptb-settings-button {
5657
+ margin: 0 5px !important;
5658
+ font-size: 90% !important;
5659
+ }
5660
+
5661
+ .wptb-local-dev-image-card {
5662
+ width: 100px;
5663
+ max-width: 100px;
5664
+ display: grid;
5665
+ grid-template-columns: 1fr;
5666
+ grid-template-rows: 1fr minmax(min-content, max-content);
5667
+ grid-auto-flow: row;
5668
+ cursor: pointer;
5669
+ justify-content: center;
5670
+ align-items: center;
5671
+ margin: 5px;
5672
+ border: 2px solid var(--wptb-plugin-gray-300);
5673
+ padding: 5px;
5674
+ border-radius: 5px;
5675
+ transition: all 0.2s ease-out;
5676
+ background-color: var(--wptb-plugin-theme-color-light);
5677
+ }
5678
+
5679
+ .wptb-local-dev-image-card[data-active=true] {
5680
+ border: 2px solid var(--wptb-plugin-logo-color) !important;
5681
+ }
5682
+
5683
+ .wptb-local-dev-image-card:hover {
5684
+ border: 2px solid var(--wptb-plugin-gray-400);
5685
+ transform: scale(1.05);
5686
+ }
5687
+
5688
+ .wptb-local-dev-image-holder {
5689
+ width: 100%;
5690
+ height: 100%
5691
+ }
5692
+
5693
+ .wptb-local-dev-image-holder img {
5694
+ max-width: 100%;
5695
+ max-height: 100%;
5696
+ display: block;
5697
+ }
5698
+
5699
+ .wptb-local-dev-image-name {
5700
+ word-break: break-all;
5701
+ display: flex;
5702
+ justify-content: center;
5703
+ align-items: center;
5704
+ font-style: italic;
5705
+ font-size: 90%;
5706
+ border-top: 1px solid var(--wptb-plugin-gray-300);
5707
+ }
5708
+
5709
+ .wptb-local-dev-modal-close {
5710
+ padding: 0 10px;
5711
+ color: var(--wptb-plugin-red-600);
5712
+ cursor: pointer;
5713
+ font-size: 120% !important;
5714
+ }
5715
+
5716
+ /*endregion*/
5717
+
5718
+ /*region upsells*/
5719
+ .wptb-upsells-wrapper {
5720
+ width: 100%;
5721
+ padding: 15px;
5722
+ color: var(--wptb-plugin-theme-color-light);
5723
+ cursor: pointer;
5724
+ transition: all 0.2s ease-out;
5725
+ animation: wptb-unfold-up 0.3s ease-out forwards;
5726
+ animation-delay: 0.5s;
5727
+ transform: rotateX(-90deg);
5728
+ transform-origin: top;
5729
+ }
5730
+
5731
+ .wptb-left-panel .wptb-upsells-wrapper {
5732
+ font-size: 90% !important;
5733
+ }
5734
+
5735
+ .wptb-panel-left .wptb-upsells-anchor {
5736
+ display: none;
5737
+ }
5738
+
5739
+ .wptb-upsells-message-holder {
5740
+ display: flex;
5741
+ flex-direction: column;
5742
+ justify-content: center;
5743
+ align-items: center;
5744
+ width: 100%;
5745
+ margin: 0 !important;
5746
+ border-radius: 5px;
5747
+ padding: 10px 5px;
5748
+ transition: all 0.3s ease-out;
5749
+ text-align: center;
5750
+ background-color: var(--wptb-plugin-theme-color-light) !important;
5751
+ border: 1px solid var(--wptb-plugin-gray-400);
5752
+ color: var(--wptb-plugin-gray-600);
5753
+ font-weight: 500;
5754
+ }
5755
+
5756
+ .wptb-generate-wrapper .wptb-upsells-message-holder {
5757
+ background-color: var(--wptb-plugin-gray-200) !important;
5758
+ padding: 15px;
5759
+ }
5760
+
5761
+ .wptb-upsells-pro-label {
5762
+ background-color: var(--wptb-plugin-cta-button) !important;
5763
+ color: var(--wptb-plugin-black);
5764
+ border-radius: 3px;
5765
+ padding: 5px;
5766
+ font-weight: bold;
5767
+ border: 1px solid var(--wptb-plugin-gray-400) !important;
5768
+ }
5769
+
5770
+ .wptb-upsells-message-holder:hover {
5771
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.3) !important;
5772
+ transform: scale(1.05);
5773
+ }
5774
+
5775
+ .wptb-upsells-anchor {
5776
+ text-decoration: none;
5777
+ }
5778
+
5779
+ .wptb-upsells-wrapper:active {
5780
+ /*animation: wptb-push 0.1s ease-out;*/
5781
+ }
5782
+
5783
+ @keyframes wptb-unfold-up {
5784
+ 0% {
5785
+ transform: perspective(100px) rotateX(-90deg);
5786
+ }
5787
+ 100% {
5788
+ transform: perspective(100px) rotateX(0deg);
5789
+ }
5790
+ }
5791
+
5792
+
5793
+ /*endregion*/
inc/admin/js/WPTB_BuilderControls.js CHANGED
@@ -9,7 +9,7 @@ var e=arguments[3];Object.defineProperty(exports,"__esModule",{value:!0}),export
9
  },{}],"wvh1":[function(require,module,exports) {
10
  "use strict";function t(t,a){return n(t)||r(t,a)||u(t,a)||e()}function e(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var r=[],n=!0,a=!1,o=void 0;try{for(var l,u=t[Symbol.iterator]();!(n=(l=u.next()).done)&&(r.push(l.value),!e||r.length!==e);n=!0);}catch(i){a=!0,o=i}finally{try{n||null==u.return||u.return()}finally{if(a)throw o}}return r}}function n(t){if(Array.isArray(t))return t}function a(t){if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(t=u(t))){var e=0,r=function(){};return{s:r,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,a,o=!0,l=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return o=t.done,t},e:function(t){l=!0,a=t},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw a}}}}function o(t){return s(t)||i(t)||u(t)||l()}function l(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(t,e){if(t){if("string"==typeof t)return c(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(t,e):void 0}}function i(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}function s(t){if(Array.isArray(t))return c(t)}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function f(t,e){var r=null;switch(e){case"dataset":r=t.dataset;break;case"style":r=t.style;break;case"class":r="class";break;case"attribute":r="attribute";break;default:r=t.dataset}return r}function y(t){var e=t.query,r=t.type,n=t.key,a=t.format,l=o(document.querySelectorAll(e));if(l.length>0){var u=f(l[0],r);if(u){var i;if(i="class"===u?l[0].getAttribute("class"):"attribute"===u?l[0].getAttribute(n):u[n],a){var s,c=a.replace("{$}","(.+)"),y=new RegExp("^".concat(c,"$"),"g");"class"===u?i.split(" ").some(function(t){var e=y.exec(t);return null!==e&&(s=e,!0)}):s=y.exec(i),i=s?s[1]:null}return{elements:l,value:i,type:r,key:n,format:a}}}throw new Error("no related operation found with a type of [".concat(r,"]"))}function p(e,r){var n=e.elements,o=e.type,l=e.key,u=e.format;Array.isArray(n)&&n.length>0&&n.map(function(e){var n=f(e,o);if("class"===n){var i,s,c=null,y=a(e.classList.entries());try{for(y.s();!(s=y.n()).done;){i=t(s.value,2)[1];var p=u.replace("{$}","(.+)"),m=i.match("^".concat(p,"$"));if(m)c=t(m,2)[1]}}catch(h){y.e(h)}finally{y.f()}if(c){var b=u.replace("{$}",c);e.classList.remove(b)}var d=u.replace("{$}",r);e.classList.add(d)}else{var v=r;u&&(v=(v=u.replace("{$}",r)).replace(new RegExp(/\\/g),"")),"attribute"===n?e.setAttribute(l,v):n[l]=v}})}function m(t,e){t.map(function(t){p(t,e)})}function b(t){var e={elements:[],startupValue:null};return t.map(function(t){var r=y(t);e.elements.push(y(t)),t.useAsStartup&&(e.startupValue=r)}),e.startupValue||(e.startupValue=e.elements[0].value),e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var d={getTargetValue:y,getAllValues:b,setTargetValue:p,setAllValues:m};exports.default=d;
11
  },{}],"LTB1":[function(require,module,exports) {
12
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=t(require("../functions/selector"));function t(e){return e&&e.__esModule?e:{default:e}}var n={props:{label:String,selectors:{type:Array,required:!1,default:function(){return[]}},defaultValue:null,uniqueId:{type:String,required:!1,default:""},elemContainer:{type:String,required:!1,default:""},appearDependOnControl:{type:Object,required:!1,default:function(){return{}}}},data:function(){return{startupValue:null,targetElements:[],elementMainValue:"",mountedDataUpdate:!1,tableSettings:{settings:{}},componentVisibility:!0,cachedDependedValues:{}}},watch:{"tableSettings.settings":{handler:function(){this.updateComponentVisibility()},deep:!0},cachedDependedValues:{handler:function(){this.calculateComponentVisibility()},deep:!0}},mounted:function(){var e=this;if(this.selectors.length>0){var t=this.getTargetElements();this.startupValue=t.startupValue}this.$nextTick(function(){e.tableSettings=WPTB_ControlsManager.getTableSettings(),e.getInputLoadedValues()})},methods:{calculateComponentVisibility:function(){var e=this;this.componentVisibility=Object.keys(this.appearDependOnControl).every(function(t){if(Object.prototype.hasOwnProperty.call(e.appearDependOnControl,t))return!!Object.keys(e.cachedDependedValues).includes(t)&&e.cachedDependedValues[t]===e.appearDependOnControl[t]})},getInputLoadedValues:function(){var e=this,t=document.querySelector(".wptb-panel-left");Array.from(t.querySelectorAll("input")).map(function(t){var n=t.getAttribute("class");Object.keys(e.appearDependOnControl).map(function(a){if(n&&n.includes(a)){var l=t.value;"checkbox"===t.type&&(l=t.checked?"checked":"unchecked"),e.$set(e.cachedDependedValues,a,l)}})})},updateComponentVisibility:function(){var e=this;this.tableSettings.settings&&Object.keys(this.tableSettings.settings).map(function(t){Object.prototype.hasOwnProperty.call(e.tableSettings.settings,t)&&Object.keys(e.appearDependOnControl).includes(t)&&e.$set(e.cachedDependedValues,t,e.tableSettings.settings[t])})},getTargetElements:function(){if(this.selectors.length>0){var t=e.default.getAllValues(this.selectors);return this.targetElements=t.elements,t}return null},generateChangeEvent:function(e){var t=this;this.targetElements.map(function(n){n.elements.map(function(n){WPTB_Helper.wptbDocumentEventGenerate("wptb-control:".concat(t.uniqueId),n,{value:e})})})},assignDefaultValue:function(){void 0!==this.startupValue&&""!==this.startupValue&&null!==this.startupValue?(this.mountedDataUpdate=!0,this.elementMainValue=this.startupValue):null!==this.defaultValue&&(this.mountedDataUpdate=!0,this.elementMainValue=this.defaultValue)},setTargetValue:function(t,n){e.default.setTargetValue(t,n)},setAllValues:function(t){e.default.setAllValues(this.targetElements,t)},setTableDirty:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.mountedDataUpdate||(new WPTB_TableStateSaveManager).tableStateSet(),this.mountedDataUpdate=!1},resetMountedState:function(){this.mountedDataUpdate=!0}}},a=n;exports.default=a;
13
  },{"../functions/selector":"wvh1"}],"DTps":[function(require,module,exports) {
14
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=n(require("../components/IntersectionObserver")),t=n(require("../mixins/ControlBase"));function n(e){return e&&e.__esModule?e:{default:e}}var r={props:{label:String,icons:Object,perPage:{type:Number,default:20}},mixins:[t.default],components:{IntersectionObserver:e.default},data:function(){return{selectedIcon:{url:null,name:null},openDrawer:!1,innerDrawerRef:null,paginationIndex:1,observerHide:!1,debunkedFilterText:"",debunkId:-1,filterText:"",drawerPosition:{left:0}}},mounted:function(){var e=this;document.addEventListener("keyup",function(t){"Escape"===t.code&&e.openDrawer&&e.setDrawerState(!1)}),this.assignDefaultValue();var t=this.elementMainValue;this.selectedIcon.name=""===t?null:t,this.selectedIcon.url=""===t?null:this.icons[t]},watch:{debunkedFilterText:function(e){var t=this;clearTimeout(this.debunkId),this.debunkId=setTimeout(function(){t.filterText=e},500)},selectedIcon:{handler:function(){var e=this;this.getTargetElements();var t=this.targetElements[0].elements;t&&Array.isArray(t)&&(this.selectedIcon.url?fetch(this.selectedIcon.url).then(function(e){return e.text()}).then(function(n){e.setTargetValue(e.targetElements[0],e.selectedIcon.name);var r=document.createRange();t.map(function(e){e.innerHTML="",r.setStart(e,0);var t=r.createContextualFragment(n);e.appendChild(t)})}):(this.setTargetValue(this.targetElements[0],""),t.map(function(e){e.innerHTML=""})))},deep:!0}},methods:{setDrawerState:function(e){this.openDrawer=e},fullIconList:function(){var e=this;return Object.keys(this.icons).filter(function(t){return t.includes(e.filterText)}).slice(0,this.paginationIndex*this.perPage).reduce(function(t,n){return t[n]=e.icons[n],t},{})},toggleIconDrawer:function(){this.calculateDrawerPosition(),this.openDrawer=!this.openDrawer,this.innerDrawerRef=this.$refs.drawerRefElement},setIcon:function(e,t){this.selectedIcon.url=t,this.selectedIcon.name=e,this.toggleIconDrawer(),this.setTableDirty()},observerVisible:function(){this.paginationIndex+=1},calculateDrawerPosition:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=this.$refs.iconSelectButton.getBoundingClientRect(),n=t.x+t.width+e,r=t.y;this.drawerPosition.top=this.toPx(r),this.drawerPosition.left=this.toPx(n)},toPx:function(e){return"".concat(e,"px")}}};exports.default=r;
15
  (function(){var e=exports.default||module.exports;"function"==typeof e&&(e=e.options),Object.assign(e,{render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"wptb-settings-row wptb-settings-middle-xs"},[i("div",{staticClass:"wptb-settings-space-between"},[i("p",{staticClass:"wptb-settings-item-title"},[e._v(e._s(e.label))]),e._v(" "),i("div",{staticClass:"wptb-icon-select-wrapper"},[i("div",{staticClass:"wptb-icon-select-display"},[i("div",{ref:"iconSelectButton",staticClass:"wptb-icon-select-preview",on:{click:e.toggleIconDrawer}},[i("img",{attrs:{src:e.selectedIcon.url}})]),e._v(" "),i("div",{directives:[{name:"show",rawName:"v-show",value:e.openDrawer,expression:"openDrawer"}],staticClass:"wptb-icon-select-drawer wptb-plugin-box-shadow-md",style:e.drawerPosition},[i("div",{staticClass:"wptb-icon-search-wrapper"},[i("input",{directives:[{name:"model",rawName:"v-model.trim",value:e.debunkedFilterText,expression:"debunkedFilterText",modifiers:{trim:!0}}],attrs:{type:"text",placeholder:"Search for icons..."},domProps:{value:e.debunkedFilterText},on:{input:function(t){t.target.composing||(e.debunkedFilterText=t.target.value.trim())},blur:function(t){return e.$forceUpdate()}}})]),e._v(" "),i("div",{ref:"drawerRefElement",staticClass:"wptb-icon-previews"},[i("div",{staticClass:"wptb-icon-select-drawer-preview wptb-icon-reset",on:{click:function(t){return e.setIcon("","")}}}),e._v(" "),e._l(e.fullIconList(),function(t,s){return i("div",{key:s,staticClass:"wptb-icon-select-drawer-preview",class:{"wptb-icon-preview-active":e.selectedIcon.name===s}},[i("img",{attrs:{src:t,title:s,draggable:!1},on:{click:function(i){return e.setIcon(s,t)}}})])}),e._v(" "),i("intersection-observer",{attrs:{"relative-element":e.innerDrawerRef,"force-hide":e.observerHide},on:{visible:e.observerVisible}},[i("div",{staticClass:"wptb-icon-select-drawer-end"})])],2)])])])])])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
@@ -73,9 +73,9 @@ var e=arguments[3];function t(e){return s(e)||l(e)||r(e)||a()}function a(){throw
73
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var t=e(require("./NumberPostfixInput"));function e(t){return t&&t.__esModule?t:{default:t}}function n(t){return a(t)||u(t)||i(t)||r()}function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(t,e){if(t){if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(t,e):void 0}}function u(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}function a(t){if(Array.isArray(t))return o(t)}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var l={props:{value:{type:Number,default:0},buttonStep:{type:Number,default:10},min:{type:Number,default:0},max:{type:Number,default:100}},model:{prop:"value",event:"modelChanged"},inheritAttrs:!1,components:{NumberPostfixInput:t.default},mounted:function(){var t=this;this.$nextTick(function(){t.innerValue=t.value})},data:function(){return{innerValue:0}},watch:{value:function(t){this.innerValue=this.limitValue(t,this.min,this.max)},innerValue:function(t){this.innerValue=this.limitValue(t,this.min,this.max),this.$emit("modelChanged",this.innerValue)}},methods:{affectValue:function(t){var e=this,r="increment"===t.target.dataset.type?1:-1,i=n(new Array(Math.floor(this.max/this.buttonStep))).map(function(t,n){return(n+1)*e.buttonStep});i.push(this.innerValue),i.sort(function(t,e){return t-e});var u=(i=Array.from(new Set(i))).indexOf(this.innerValue);this.innerValue=i[this.limitValue(u+r,0,i.length-1)]},limitValue:function(t,e,n){return t<e?e:t>n?n:t}}};exports.default=l;
74
  (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"wptb-number-postfix-buttons-wrapper"},[n("div",{staticClass:"wptb-number-postfix-button wptb-plugin-box-shadow-xl wptb-unselectable",attrs:{"data-type":"decrement"},on:{click:function(e){return e.preventDefault(),t.affectValue(e)}}},[t._v(" - ")]),t._v(" "),n("number-postfix-input",t._b({class:t.$attrs["input-class"],attrs:{min:t.min,max:t.max},model:{value:t.innerValue,callback:function(e){t.innerValue=e},expression:"innerValue"}},"number-postfix-input",t.$attrs,!1)),t._v(" "),n("div",{staticClass:"wptb-number-postfix-button wptb-plugin-box-shadow-xl wptb-unselectable",attrs:{"data-type":"increment"},on:{click:function(e){return e.preventDefault(),t.affectValue(e)}}},[t._v(" + ")])],1)},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
75
  },{"./NumberPostfixInput":"h0P7"}],"waBm":[function(require,module,exports) {
76
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=u(require("../components/TableClone")),t=u(require("../components/ScreenSizeSlider")),i=u(require("../../../WPTB_ResponsiveFrontend")),n=u(require("../../../core/WPTB_SortableTable")),r=u(require("../functions/DeBouncer")),o=u(require("../components/ModalWindow")),s=u(require("../components/MaterialButton")),a=u(require("../components/NumberPostfixInput")),c=u(require("../components/NumberPostfixButtons"));function u(e){return e&&e.__esModule?e:{default:e}}function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var d={props:{cloneQuery:{type:String,required:!0},screenSizes:Object,compareSizes:Object},components:{NumberPostfixButtons:c.default,TableClone:e.default,ScreenSizeSlider:t.default,ModalWindow:o.default,MaterialButton:s.default,NumberPostfixInput:a.default},data:function(){return{isVisible:!0,currentSize:0,currentDirectives:null,currentSizeRangeName:"desktop",sliderPadding:20,sizeStops:{},responsiveFrontend:null,rebuilding:!1,debounceTime:1e3,sizeLimitMin:100,sizeLimitMax:0,resizePercent:100}},watch:{currentSizeRangeName:function(e){this.appOptions.currentBreakpoint=e},directives:{handler:function(){this.currentDirectives=this.encodeResponsiveDirectives()},deep:!0},"appOptions.currentSize":{handler:function(e){var t=this,i=this.currentSizeRangeName;this.currentSizeRangeName=this.calculateSizeRangeName(e),i!==this.currentSizeRangeName&&this.directives.responsiveEnabled&&(this.rebuilding=!0,(0,r.default)("currentSize",function(){t.responsiveFrontend.rebuildTables(t.appOptions.currentSize),t.rebuilding=!1},this.debounceTime))}}},beforeMount:function(){},mounted:function(){var e=this;document.addEventListener("wptbSectionChanged",function(t){e.isVisible="table_responsive_menu"===t.detail}),this.sizeLimitMax=this.$refs.builderResponsive.getBoundingClientRect().width},computed:{tableStyle:function(){if(!this.directives.responsiveEnabled)return{};var e=this.limitToRange(this.appOptions.currentSize,Math.min(this.sizeLimitMin,this.sizeLimitMax),Math.max(this.sizeLimitMin,this.sizeLimitMax));return{width:"".concat(e,"px"),transform:"scale(".concat(this.resizePercent/100,")"),transformOrigin:"center top",transition:"all 0.2s ease-out"}},modalRelative:function(){return document.querySelector(".wptb-builder-panel")}},methods:{limitToRange:function(e,t,i){return e>i?i:e<t?t:e},tableCloned:function(e,t){if(this.responsiveFrontend=new i.default({query:".wptb-builder-responsive table"}),new n.default({table:t}).sortableTableInitialization(this.responsiveFrontend),e){var r=this.decodeResponsiveDirectives(e);try{var o=JSON.parse(r);this.deepMergeObject(this.directives,o)}catch(s){console.warn("[WPTB]: invalid directive found at main table")}}},deepMergeObject:function(e,t){var i=this;Object.keys(t).map(function(n){Object.prototype.hasOwnProperty.call(t,n)&&void 0!==e[n]&&("object"===l(e[n])?i.deepMergeObject(e[n],t[n]):e[n]=t[n])})},directivesCopied:function(e){this.responsiveFrontend.rebuildTables(this.appOptions.currentSize),e||(new WPTB_TableStateSaveManager).tableStateSet(),this.rebuilding=!1},sliderSizeStops:function(){var e=this,t=Object.keys(this.screenSizes).reduce(function(t,i){return Object.prototype.hasOwnProperty.call(e.screenSizes,i)&&(t[e.screenSizes[i].name]=e.screenSizes[i].width),t},{});return this.directives.stops=t,t},calculateSizeRangeName:function(e){var t=this.directives.breakpoints,i=Object.keys(t).filter(function(i){return!!Object.prototype.hasOwnProperty.call(t,i)&&t[i].width<=e}).sort(function(e,i){return t[e].width-t[i].width});return 0===i.length?"mobile":i[i.length-1]},handleSizeSlideChange:function(e){this.appOptions.currentSize=e},encodeResponsiveDirectives:function(){var e=JSON.stringify(this.directives);return btoa(e)},decodeResponsiveDirectives:function(e){return atob(e)},showCellIdentifications:function(){this.appOptions.identifyCells=!0}}};exports.default=d;
77
  (function(){var e=exports.default||module.exports;"function"==typeof e&&(e=e.options),Object.assign(e,{render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"wptb-fade"}},[e.isVisible?i("div",{ref:"builderResponsive",staticClass:"wptb-builder-responsive"},[i("div",{staticClass:"wptb-responsive-menu-tools"},[i("screen-size-slider",{attrs:{"end-padding":e.sliderPadding,stops:e.directives.breakpoints,"model-val":e.appOptions.currentSize,"enable-breakpoint-customization":!1},on:{slide:e.handleSizeSlideChange}})],1),e._v(" "),i("div",{staticClass:"wptb-responsive-builder-main wptb-checkerboard-pattern wptb-plugin-inset-shadow-md"},[i("div",{staticClass:"wptb-responsive-builder-toolbox-float"},[i("div",{staticClass:"wptb-responsive-builder-toolbox-left-float"},[i("number-postfix-input",{staticClass:"wptb-size-input wptb-plugin-box-shadow-xl",attrs:{"post-fix":"px","only-enter":!0},model:{value:e.appOptions.currentSize,callback:function(t){e.$set(e.appOptions,"currentSize",t)},expression:"appOptions.currentSize"}}),e._v(" "),i("number-postfix-buttons",{attrs:{"input-class":["wptb-size-input","wptb-plugin-box-shadow-xl"],"post-fix":"%","only-enter":!0,min:10,max:100,enableLimit:!0},model:{value:e.resizePercent,callback:function(t){e.resizePercent=t},expression:"resizePercent"}})],1),e._v(" "),i("material-button",{staticClass:"wptb-plugin-box-shadow-xl",attrs:{size:"fit-content",click:e.showCellIdentifications}},[e._v(e._s(e._f("cap")(e.strings.identifyCells))+" ")])],1),e._v(" "),i("table-clone",{ref:"tableClone",attrs:{clone:e.isVisible,"clone-query":e.cloneQuery,"table-directives":e.currentDirectives,"table-style":e.tableStyle},on:{tableCloned:e.tableCloned,directivesCopied:e.directivesCopied}}),e._v(" "),i("transition",{attrs:{name:"wptb-fade"}},[e.directives.responsiveEnabled?e._e():i("div",{staticClass:"wptb-responsive-disabled-table-overlay"})]),e._v(" "),i("transition",{attrs:{name:"wptb-fade"}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.rebuilding,expression:"rebuilding"}],staticClass:"wptb-responsive-wait-overlay"},[e._v(e._s(e.strings.rebuilding))])]),e._v(" "),i("modal-window",{attrs:{visible:e.appOptions.hasLegacyResponsive,message:e.strings.legacyResponsiveWarning,"relative-ref":e.modalRelative,callback:function(){e.appOptions.hasLegacyResponsive=!1}}})],1)]):e._e()])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
78
- },{"../components/TableClone":"cW6v","../components/ScreenSizeSlider":"V4gv","../../../WPTB_ResponsiveFrontend":"Q6f0","../../../core/WPTB_SortableTable":"eXXu","../functions/DeBouncer":"qsi5","../components/ModalWindow":"vCKs","../components/MaterialButton":"ATQh","../components/NumberPostfixInput":"h0P7","../components/NumberPostfixButtons":"YQ2E"}],"TuCQ":[function(require,module,exports) {
79
 
80
  (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"wptb-controls-flex-row"},[this._t("default")],2)},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
81
  },{}],"GZC0":[function(require,module,exports) {
@@ -127,7 +127,7 @@ var e=arguments[3];function t(e){return s(e)||l(e)||r(e)||a()}function a(){throw
127
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var t={props:{refElement:{type:HTMLElement,default:null}},data:function(){return{style:{left:0,top:0,width:0}}},watch:{refElement:function(t){null!=t&&this.calculatePosition()}},methods:{calculatePosition:function(){var t=this.$refs.main.parentNode.getBoundingClientRect(),e=this.refElement.getBoundingClientRect(),n=e.x-t.x;this.style.left="".concat(Math.floor(n-1),"px"),this.style.width="".concat(e.width+1,"px")}}};exports.default=t;
128
  (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this.$createElement;return(this._self._c||t)("div",{ref:"main",staticClass:"wptb-named-toggle-active-indicator",style:this.style})},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
129
  },{}],"rI0T":[function(require,module,exports) {
130
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=i(require("../mixins/ControlBase")),t=i(require("../components/NamedToggleItem")),n=i(require("../components/NamedToggleActiveIndicator"));function i(e){return e&&e.__esModule?e:{default:e}}var a={components:{NamedToggleActiveIndicator:n.default,NamedToggleItem:t.default},props:{items:{type:Object,default:function(){return{item:"item"}}}},mixins:[e.default],data:function(){return{activeElement:null}},mounted:function(){this.assignDefaultValue()},watch:{elementMainValue:function(e){this.setAllValues(e),this.generateChangeEvent(e),this.setTableDirty(!0)}},methods:{isItemActive:function(e){return this.elementMainValue===e},activateItem:function(e,t){this.elementMainValue=e,this.activeElement=t}}};exports.default=a;
131
  (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"wptb-settings-row wptb-settings-middle-xs wptb-element-property",class:t.uniqueId,attrs:{"data-element":t.elemContainer}},[s("div",{staticClass:"wptb-settings-space-between"},[s("p",{staticClass:"wptb-settings-item-title"},[t._v(t._s(t.label))]),t._v(" "),s("div",{staticClass:"wptb-named-toggle-control-wrapper"},[s("named-toggle-active-indicator",{attrs:{"ref-element":t.activeElement}}),t._v(" "),t._l(t.items,function(e,i){return s("named-toggle-item",{key:i,attrs:{title:e,id:i,active:t.isItemActive(i)},on:{activateItem:t.activateItem}})})],2)])])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
132
  },{"../mixins/ControlBase":"LTB1","../components/NamedToggleItem":"Igda","../components/NamedToggleActiveIndicator":"Cqv2"}],"mWd1":[function(require,module,exports) {
133
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=r(require("vue")),t=r(require("../functions/WPTB_ControlsManager")),o=r(require("../containers/NamedToggleControl"));function r(e){return e&&e.__esModule?e:{default:e}}var a={name:"ControlNamedToggle",handler:function(r){var a=t.default.getControlData(r);new e.default({data:a,components:{NamedToggleControl:o.default}}).$mount("#".concat(r))}};exports.default=a;
@@ -167,7 +167,21 @@ var e=arguments[3];function t(e){return s(e)||l(e)||r(e)||a()}function a(){throw
167
  (function(){var e=exports.default||module.exports;"function"==typeof e&&(e=e.options),Object.assign(e,{render:function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("transition",{attrs:{name:"wptb-fade"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.componentVisibility,expression:"componentVisibility"}],staticClass:"wptb-settings-row wptb-settings-middle-xs wptb-different-border-control-wrapper"},[t("table-cell-select",{attrs:{table:e.table,"cell-extra-styling":e.cellStyling,repaint:e.repaintId},model:{value:e.selectedCell,callback:function(r){e.selectedCell=r},expression:"selectedCell"}}),e._v(" "),t("range-input",{staticClass:"wptb-different-border-range-input",attrs:{"post-fix":"px",label:e.translation("borderWidth"),min:e.min,max:e.max,disabled:!e.controlsActive},model:{value:e.borderProps.currentBorderSize,callback:function(r){e.$set(e.borderProps,"currentBorderSize",r)},expression:"borderProps.currentBorderSize"}}),e._v(" "),t("cell-indicator",{attrs:{repaint:e.repaintId,cell:e.selectedCell}}),e._v(" "),t("color-picker",{attrs:{label:e.translation("borderColor"),disabled:!e.controlsActive},model:{value:e.borderProps.currentBorderColor,callback:function(r){e.$set(e.borderProps,"currentBorderColor",r)},expression:"borderProps.currentBorderColor"}})],1)])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
168
  },{"../mixins/ControlBase":"LTB1","../components/TableCellSelect":"uKH3","../components/CellIndicator":"yxcv","../components/RangeInput":"uI4V","../mixins/withTranslation":"O7It","../components/ColorPicker":"z3gf"}],"d3om":[function(require,module,exports) {
169
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=o(require("vue")),r=o(require("../functions/WPTB_ControlsManager")),t=o(require("../containers/DifferentBorderControl"));function o(e){return e&&e.__esModule?e:{default:e}}var n={name:"ControlDifferentBorder",handler:function(o){var n=r.default.getControlData(o);new e.default({data:n,components:{DifferentBorderControl:t.default}}).$mount("#".concat(o))}};exports.default=n;
170
- },{"vue":"HYXJ","../functions/WPTB_ControlsManager":"WZJa","../containers/DifferentBorderControl":"CHHs"}],"Zn1h":[function(require,module,exports) {
 
 
 
 
 
 
171
 
172
- "use strict";var e=P(require("vue")),t=P(require("./mountPoints/WPTB_IconSelectControl")),o=P(require("./mountPoints/WPTB_RangeControl")),n=P(require("./mountPoints/WPTB_Select2Control")),r=P(require("./mountPoints/WPTB_MediaSelectControl")),u=P(require("./functions/WPTB_ControlsManager")),i=P(require("./mountPoints/WPTB_ResponsiveTable")),l=P(require("./mountPoints/WPTB_SidesControl")),a=P(require("./mountPoints/WPTB_NamedToggleControl")),d=P(require("./mountPoints/WPTB_TagControl")),f=P(require("./mountPoints/WPTB_DifferentBorderControl"));function P(e){return e&&e.__esModule?e:{default:e}}e.default.config.productionTip=!1;var s=self||void 0;s.WPTB_ControlsManager=u.default,u.default.init();var T=[t.default,o.default,u.default,n.default,r.default,i.default,l.default,a.default,d.default,f.default];function _(e){u.default.addControlScript(e.name,e.handler)}T.map(_);
173
- },{"vue":"HYXJ","./mountPoints/WPTB_IconSelectControl":"Pn7d","./mountPoints/WPTB_RangeControl":"YVYX","./mountPoints/WPTB_Select2Control":"eNVe","./mountPoints/WPTB_MediaSelectControl":"Uwhc","./functions/WPTB_ControlsManager":"WZJa","./mountPoints/WPTB_ResponsiveTable":"Ub7O","./mountPoints/WPTB_SidesControl":"Qbmt","./mountPoints/WPTB_NamedToggleControl":"mWd1","./mountPoints/WPTB_TagControl":"IeDC","./mountPoints/WPTB_DifferentBorderControl":"d3om"}]},{},["Zn1h"], null)
 
 
 
 
 
 
 
 
9
  },{}],"wvh1":[function(require,module,exports) {
10
  "use strict";function t(t,a){return n(t)||r(t,a)||u(t,a)||e()}function e(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var r=[],n=!0,a=!1,o=void 0;try{for(var l,u=t[Symbol.iterator]();!(n=(l=u.next()).done)&&(r.push(l.value),!e||r.length!==e);n=!0);}catch(i){a=!0,o=i}finally{try{n||null==u.return||u.return()}finally{if(a)throw o}}return r}}function n(t){if(Array.isArray(t))return t}function a(t){if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(t=u(t))){var e=0,r=function(){};return{s:r,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,a,o=!0,l=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return o=t.done,t},e:function(t){l=!0,a=t},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw a}}}}function o(t){return s(t)||i(t)||u(t)||l()}function l(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(t,e){if(t){if("string"==typeof t)return c(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(t,e):void 0}}function i(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}function s(t){if(Array.isArray(t))return c(t)}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function f(t,e){var r=null;switch(e){case"dataset":r=t.dataset;break;case"style":r=t.style;break;case"class":r="class";break;case"attribute":r="attribute";break;default:r=t.dataset}return r}function y(t){var e=t.query,r=t.type,n=t.key,a=t.format,l=o(document.querySelectorAll(e));if(l.length>0){var u=f(l[0],r);if(u){var i;if(i="class"===u?l[0].getAttribute("class"):"attribute"===u?l[0].getAttribute(n):u[n],a){var s,c=a.replace("{$}","(.+)"),y=new RegExp("^".concat(c,"$"),"g");"class"===u?i.split(" ").some(function(t){var e=y.exec(t);return null!==e&&(s=e,!0)}):s=y.exec(i),i=s?s[1]:null}return{elements:l,value:i,type:r,key:n,format:a}}}throw new Error("no related operation found with a type of [".concat(r,"]"))}function p(e,r){var n=e.elements,o=e.type,l=e.key,u=e.format;Array.isArray(n)&&n.length>0&&n.map(function(e){var n=f(e,o);if("class"===n){var i,s,c=null,y=a(e.classList.entries());try{for(y.s();!(s=y.n()).done;){i=t(s.value,2)[1];var p=u.replace("{$}","(.+)"),m=i.match("^".concat(p,"$"));if(m)c=t(m,2)[1]}}catch(h){y.e(h)}finally{y.f()}if(c){var b=u.replace("{$}",c);e.classList.remove(b)}var d=u.replace("{$}",r);e.classList.add(d)}else{var v=r;u&&(v=(v=u.replace("{$}",r)).replace(new RegExp(/\\/g),"")),"attribute"===n?e.setAttribute(l,v):n[l]=v}})}function m(t,e){t.map(function(t){p(t,e)})}function b(t){var e={elements:[],startupValue:null};return t.map(function(t){var r=y(t);e.elements.push(y(t)),t.useAsStartup&&(e.startupValue=r)}),e.startupValue||(e.startupValue=e.elements[0].value),e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var d={getTargetValue:y,getAllValues:b,setTargetValue:p,setAllValues:m};exports.default=d;
11
  },{}],"LTB1":[function(require,module,exports) {
12
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=t(require("../functions/selector"));function t(e){return e&&e.__esModule?e:{default:e}}var n={props:{label:String,selectors:{type:Array,required:!1,default:function(){return[]}},defaultValue:null,uniqueId:{type:String,required:!1,default:""},elemContainer:{type:String,required:!1,default:""},appearDependOnControl:{type:Object,required:!1,default:function(){return{}}}},data:function(){return{startupValue:null,targetElements:[],elementMainValue:"",mountedDataUpdate:!1,tableSettings:{settings:{}},componentVisibility:!0,cachedDependedValues:{},assignDefaultValueAtMount:!1}},watch:{"tableSettings.settings":{handler:function(){this.updateComponentVisibility()},deep:!0},cachedDependedValues:{handler:function(){this.calculateComponentVisibility()},deep:!0}},mounted:function(){var e=this;if(this.selectors.length>0){var t=this.getTargetElements();this.startupValue=t.startupValue}this.$nextTick(function(){e.tableSettings=WPTB_ControlsManager.getTableSettings(),e.getInputLoadedValues(),e.assignDefaultValueAtMount&&e.assignDefaultValue()})},methods:{calculateComponentVisibility:function(){var e=this;this.componentVisibility=Object.keys(this.appearDependOnControl).every(function(t){if(Object.prototype.hasOwnProperty.call(e.appearDependOnControl,t))return!!Object.keys(e.cachedDependedValues).includes(t)&&e.cachedDependedValues[t]===e.appearDependOnControl[t]})},getInputLoadedValues:function(){var e=this,t=document.querySelector(".wptb-panel-left");Array.from(t.querySelectorAll("input")).map(function(t){var n=t.getAttribute("class");Object.keys(e.appearDependOnControl).map(function(a){if(n&&n.includes(a)){var l=t.value;"checkbox"===t.type&&(l=t.checked?"checked":"unchecked"),e.$set(e.cachedDependedValues,a,l)}})})},updateComponentVisibility:function(){var e=this;this.tableSettings.settings&&Object.keys(this.tableSettings.settings).map(function(t){Object.prototype.hasOwnProperty.call(e.tableSettings.settings,t)&&Object.keys(e.appearDependOnControl).includes(t)&&e.$set(e.cachedDependedValues,t,e.tableSettings.settings[t])})},getTargetElements:function(){if(this.selectors.length>0){var t=e.default.getAllValues(this.selectors);return this.targetElements=t.elements,t}return null},generateChangeEvent:function(e){var t=this;this.targetElements.map(function(n){n.elements.map(function(n){WPTB_Helper.wptbDocumentEventGenerate("wptb-control:".concat(t.uniqueId),n,{value:e})})})},assignDefaultValue:function(){void 0!==this.startupValue&&""!==this.startupValue&&null!==this.startupValue?(this.mountedDataUpdate=!0,this.elementMainValue=this.startupValue):null!==this.defaultValue&&(this.mountedDataUpdate=!0,this.elementMainValue=this.defaultValue)},setTargetValue:function(t,n){e.default.setTargetValue(t,n)},setAllValues:function(t){e.default.setAllValues(this.targetElements,t)},setTableDirty:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.mountedDataUpdate||(new WPTB_TableStateSaveManager).tableStateSet(),this.mountedDataUpdate=!1},resetMountedState:function(){this.mountedDataUpdate=!0},basicValueUpdate:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.setAllValues(e),this.generateChangeEvent(e),this.setTableDirty(t)}}},a=n;exports.default=a;
13
  },{"../functions/selector":"wvh1"}],"DTps":[function(require,module,exports) {
14
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=n(require("../components/IntersectionObserver")),t=n(require("../mixins/ControlBase"));function n(e){return e&&e.__esModule?e:{default:e}}var r={props:{label:String,icons:Object,perPage:{type:Number,default:20}},mixins:[t.default],components:{IntersectionObserver:e.default},data:function(){return{selectedIcon:{url:null,name:null},openDrawer:!1,innerDrawerRef:null,paginationIndex:1,observerHide:!1,debunkedFilterText:"",debunkId:-1,filterText:"",drawerPosition:{left:0}}},mounted:function(){var e=this;document.addEventListener("keyup",function(t){"Escape"===t.code&&e.openDrawer&&e.setDrawerState(!1)}),this.assignDefaultValue();var t=this.elementMainValue;this.selectedIcon.name=""===t?null:t,this.selectedIcon.url=""===t?null:this.icons[t]},watch:{debunkedFilterText:function(e){var t=this;clearTimeout(this.debunkId),this.debunkId=setTimeout(function(){t.filterText=e},500)},selectedIcon:{handler:function(){var e=this;this.getTargetElements();var t=this.targetElements[0].elements;t&&Array.isArray(t)&&(this.selectedIcon.url?fetch(this.selectedIcon.url).then(function(e){return e.text()}).then(function(n){e.setTargetValue(e.targetElements[0],e.selectedIcon.name);var r=document.createRange();t.map(function(e){e.innerHTML="",r.setStart(e,0);var t=r.createContextualFragment(n);e.appendChild(t)})}):(this.setTargetValue(this.targetElements[0],""),t.map(function(e){e.innerHTML=""})))},deep:!0}},methods:{setDrawerState:function(e){this.openDrawer=e},fullIconList:function(){var e=this;return Object.keys(this.icons).filter(function(t){return t.includes(e.filterText)}).slice(0,this.paginationIndex*this.perPage).reduce(function(t,n){return t[n]=e.icons[n],t},{})},toggleIconDrawer:function(){this.calculateDrawerPosition(),this.openDrawer=!this.openDrawer,this.innerDrawerRef=this.$refs.drawerRefElement},setIcon:function(e,t){this.selectedIcon.url=t,this.selectedIcon.name=e,this.toggleIconDrawer(),this.setTableDirty()},observerVisible:function(){this.paginationIndex+=1},calculateDrawerPosition:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=this.$refs.iconSelectButton.getBoundingClientRect(),n=t.x+t.width+e,r=t.y;this.drawerPosition.top=this.toPx(r),this.drawerPosition.left=this.toPx(n)},toPx:function(e){return"".concat(e,"px")}}};exports.default=r;
15
  (function(){var e=exports.default||module.exports;"function"==typeof e&&(e=e.options),Object.assign(e,{render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"wptb-settings-row wptb-settings-middle-xs"},[i("div",{staticClass:"wptb-settings-space-between"},[i("p",{staticClass:"wptb-settings-item-title"},[e._v(e._s(e.label))]),e._v(" "),i("div",{staticClass:"wptb-icon-select-wrapper"},[i("div",{staticClass:"wptb-icon-select-display"},[i("div",{ref:"iconSelectButton",staticClass:"wptb-icon-select-preview",on:{click:e.toggleIconDrawer}},[i("img",{attrs:{src:e.selectedIcon.url}})]),e._v(" "),i("div",{directives:[{name:"show",rawName:"v-show",value:e.openDrawer,expression:"openDrawer"}],staticClass:"wptb-icon-select-drawer wptb-plugin-box-shadow-md",style:e.drawerPosition},[i("div",{staticClass:"wptb-icon-search-wrapper"},[i("input",{directives:[{name:"model",rawName:"v-model.trim",value:e.debunkedFilterText,expression:"debunkedFilterText",modifiers:{trim:!0}}],attrs:{type:"text",placeholder:"Search for icons..."},domProps:{value:e.debunkedFilterText},on:{input:function(t){t.target.composing||(e.debunkedFilterText=t.target.value.trim())},blur:function(t){return e.$forceUpdate()}}})]),e._v(" "),i("div",{ref:"drawerRefElement",staticClass:"wptb-icon-previews"},[i("div",{staticClass:"wptb-icon-select-drawer-preview wptb-icon-reset",on:{click:function(t){return e.setIcon("","")}}}),e._v(" "),e._l(e.fullIconList(),function(t,s){return i("div",{key:s,staticClass:"wptb-icon-select-drawer-preview",class:{"wptb-icon-preview-active":e.selectedIcon.name===s}},[i("img",{attrs:{src:t,title:s,draggable:!1},on:{click:function(i){return e.setIcon(s,t)}}})])}),e._v(" "),i("intersection-observer",{attrs:{"relative-element":e.innerDrawerRef,"force-hide":e.observerHide},on:{visible:e.observerVisible}},[i("div",{staticClass:"wptb-icon-select-drawer-end"})])],2)])])])])])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
73
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var t=e(require("./NumberPostfixInput"));function e(t){return t&&t.__esModule?t:{default:t}}function n(t){return a(t)||u(t)||i(t)||r()}function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(t,e){if(t){if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(t,e):void 0}}function u(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}function a(t){if(Array.isArray(t))return o(t)}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var l={props:{value:{type:Number,default:0},buttonStep:{type:Number,default:10},min:{type:Number,default:0},max:{type:Number,default:100}},model:{prop:"value",event:"modelChanged"},inheritAttrs:!1,components:{NumberPostfixInput:t.default},mounted:function(){var t=this;this.$nextTick(function(){t.innerValue=t.value})},data:function(){return{innerValue:0}},watch:{value:function(t){this.innerValue=this.limitValue(t,this.min,this.max)},innerValue:function(t){this.innerValue=this.limitValue(t,this.min,this.max),this.$emit("modelChanged",this.innerValue)}},methods:{affectValue:function(t){var e=this,r="increment"===t.target.dataset.type?1:-1,i=n(new Array(Math.floor(this.max/this.buttonStep))).map(function(t,n){return(n+1)*e.buttonStep});i.push(this.innerValue),i.sort(function(t,e){return t-e});var u=(i=Array.from(new Set(i))).indexOf(this.innerValue);this.innerValue=i[this.limitValue(u+r,0,i.length-1)]},limitValue:function(t,e,n){return t<e?e:t>n?n:t}}};exports.default=l;
74
  (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"wptb-number-postfix-buttons-wrapper"},[n("div",{staticClass:"wptb-number-postfix-button wptb-plugin-box-shadow-xl wptb-unselectable",attrs:{"data-type":"decrement"},on:{click:function(e){return e.preventDefault(),t.affectValue(e)}}},[t._v(" - ")]),t._v(" "),n("number-postfix-input",t._b({class:t.$attrs["input-class"],attrs:{min:t.min,max:t.max},model:{value:t.innerValue,callback:function(e){t.innerValue=e},expression:"innerValue"}},"number-postfix-input",t.$attrs,!1)),t._v(" "),n("div",{staticClass:"wptb-number-postfix-button wptb-plugin-box-shadow-xl wptb-unselectable",attrs:{"data-type":"increment"},on:{click:function(e){return e.preventDefault(),t.affectValue(e)}}},[t._v(" + ")])],1)},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
75
  },{"./NumberPostfixInput":"h0P7"}],"waBm":[function(require,module,exports) {
76
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=u(require("../components/TableClone")),t=u(require("../components/ScreenSizeSlider")),i=u(require("../../../WPTB_ResponsiveFrontend")),n=u(require("../../WPTB_SortableTable")),r=u(require("../functions/DeBouncer")),o=u(require("../components/ModalWindow")),s=u(require("../components/MaterialButton")),a=u(require("../components/NumberPostfixInput")),c=u(require("../components/NumberPostfixButtons"));function u(e){return e&&e.__esModule?e:{default:e}}function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var d={props:{cloneQuery:{type:String,required:!0},screenSizes:Object,compareSizes:Object},components:{NumberPostfixButtons:c.default,TableClone:e.default,ScreenSizeSlider:t.default,ModalWindow:o.default,MaterialButton:s.default,NumberPostfixInput:a.default},data:function(){return{isVisible:!0,currentSize:0,currentDirectives:null,currentSizeRangeName:"desktop",sliderPadding:20,sizeStops:{},responsiveFrontend:null,rebuilding:!1,debounceTime:1e3,sizeLimitMin:100,sizeLimitMax:0,resizePercent:100,firstMountStyle:!0}},watch:{currentSizeRangeName:function(e){this.appOptions.currentBreakpoint=e},directives:{handler:function(){this.currentDirectives=this.encodeResponsiveDirectives()},deep:!0},"appOptions.currentSize":{handler:function(e){var t=this,i=this.currentSizeRangeName;this.currentSizeRangeName=this.calculateSizeRangeName(e),i!==this.currentSizeRangeName&&this.directives.responsiveEnabled&&(this.rebuilding=!0,(0,r.default)("currentSize",function(){t.responsiveFrontend.rebuildTables(t.appOptions.currentSize),t.rebuilding=!1},this.debounceTime))}}},beforeMount:function(){},mounted:function(){var e=this;document.addEventListener("wptbSectionChanged",function(t){e.isVisible="table_responsive_menu"===t.detail}),this.calculateSizeLimitMax()},computed:{tableStyle:function(){var e=this.limitToRange(this.appOptions.currentSize,Math.min(this.sizeLimitMin,this.sizeLimitMax),Math.max(this.sizeLimitMin,this.sizeLimitMax));return{width:"".concat(e,"px"),transform:"scale(".concat(this.resizePercent/100,")"),transformOrigin:"center top",transition:"all 0.2s ease-out"}},modalRelative:function(){return document.querySelector(".wptb-builder-panel")}},methods:{limitToRange:function(e,t,i){return e>i?i:e<t?t:e},tableCloned:function(e,t){if(this.calculateSizeLimitMax(),this.responsiveFrontend=new i.default({query:".wptb-builder-responsive table"}),new n.default({table:t}).sortableTableInitialization(this.responsiveFrontend),e){var r=this.decodeResponsiveDirectives(e);try{var o=JSON.parse(r);this.deepMergeObject(this.directives,o)}catch(s){console.warn("[WPTB]: invalid directive found at main table")}}},deepMergeObject:function(e,t){var i=this;Object.keys(t).map(function(n){Object.prototype.hasOwnProperty.call(t,n)&&void 0!==e[n]&&("object"===l(e[n])?i.deepMergeObject(e[n],t[n]):e[n]=t[n])})},directivesCopied:function(e){this.responsiveFrontend.rebuildTables(this.appOptions.currentSize),e||(new WPTB_TableStateSaveManager).tableStateSet(),this.rebuilding=!1},sliderSizeStops:function(){var e=this,t=Object.keys(this.screenSizes).reduce(function(t,i){return Object.prototype.hasOwnProperty.call(e.screenSizes,i)&&(t[e.screenSizes[i].name]=e.screenSizes[i].width),t},{});return this.directives.stops=t,t},calculateSizeRangeName:function(e){var t=this.directives.breakpoints,i=Object.keys(t).filter(function(i){return!!Object.prototype.hasOwnProperty.call(t,i)&&t[i].width<=e}).sort(function(e,i){return t[e].width-t[i].width});return 0===i.length?"mobile":i[i.length-1]},handleSizeSlideChange:function(e){this.appOptions.currentSize=e},encodeResponsiveDirectives:function(){var e=JSON.stringify(this.directives);return btoa(e)},decodeResponsiveDirectives:function(e){return atob(e)},showCellIdentifications:function(){this.appOptions.identifyCells=!0},calculateSizeLimitMax:function(){var e=Number.parseInt(document.querySelector(this.cloneQuery).dataset.wptbTableContainerMaxWidth,10),t=this.$refs.builderResponsive.getBoundingClientRect().width;this.sizeLimitMax=Math.min(e,t)}}};exports.default=d;
77
  (function(){var e=exports.default||module.exports;"function"==typeof e&&(e=e.options),Object.assign(e,{render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"wptb-fade"}},[e.isVisible?i("div",{ref:"builderResponsive",staticClass:"wptb-builder-responsive"},[i("div",{staticClass:"wptb-responsive-menu-tools"},[i("screen-size-slider",{attrs:{"end-padding":e.sliderPadding,stops:e.directives.breakpoints,"model-val":e.appOptions.currentSize,"enable-breakpoint-customization":!1},on:{slide:e.handleSizeSlideChange}})],1),e._v(" "),i("div",{staticClass:"wptb-responsive-builder-main wptb-checkerboard-pattern wptb-plugin-inset-shadow-md"},[i("div",{staticClass:"wptb-responsive-builder-toolbox-float"},[i("div",{staticClass:"wptb-responsive-builder-toolbox-left-float"},[i("number-postfix-input",{staticClass:"wptb-size-input wptb-plugin-box-shadow-xl",attrs:{"post-fix":"px","only-enter":!0},model:{value:e.appOptions.currentSize,callback:function(t){e.$set(e.appOptions,"currentSize",t)},expression:"appOptions.currentSize"}}),e._v(" "),i("number-postfix-buttons",{attrs:{"input-class":["wptb-size-input","wptb-plugin-box-shadow-xl"],"post-fix":"%","only-enter":!0,min:10,max:100,enableLimit:!0},model:{value:e.resizePercent,callback:function(t){e.resizePercent=t},expression:"resizePercent"}})],1),e._v(" "),i("material-button",{staticClass:"wptb-plugin-box-shadow-xl",attrs:{size:"fit-content",click:e.showCellIdentifications}},[e._v(e._s(e._f("cap")(e.strings.identifyCells))+" ")])],1),e._v(" "),i("table-clone",{ref:"tableClone",attrs:{clone:e.isVisible,"clone-query":e.cloneQuery,"table-directives":e.currentDirectives,"table-style":e.tableStyle},on:{tableCloned:e.tableCloned,directivesCopied:e.directivesCopied}}),e._v(" "),i("transition",{attrs:{name:"wptb-fade"}},[e.directives.responsiveEnabled?e._e():i("div",{staticClass:"wptb-responsive-disabled-table-overlay"})]),e._v(" "),i("transition",{attrs:{name:"wptb-fade"}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.rebuilding,expression:"rebuilding"}],staticClass:"wptb-responsive-wait-overlay"},[e._v(e._s(e.strings.rebuilding))])]),e._v(" "),i("modal-window",{attrs:{visible:e.appOptions.hasLegacyResponsive,message:e.strings.legacyResponsiveWarning,"relative-ref":e.modalRelative,callback:function(){e.appOptions.hasLegacyResponsive=!1}}})],1)]):e._e()])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
78
+ },{"../components/TableClone":"cW6v","../components/ScreenSizeSlider":"V4gv","../../../WPTB_ResponsiveFrontend":"Q6f0","../../WPTB_SortableTable":"eXXu","../functions/DeBouncer":"qsi5","../components/ModalWindow":"vCKs","../components/MaterialButton":"ATQh","../components/NumberPostfixInput":"h0P7","../components/NumberPostfixButtons":"YQ2E"}],"TuCQ":[function(require,module,exports) {
79
 
80
  (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"wptb-controls-flex-row"},[this._t("default")],2)},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
81
  },{}],"GZC0":[function(require,module,exports) {
127
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var t={props:{refElement:{type:HTMLElement,default:null}},data:function(){return{style:{left:0,top:0,width:0}}},watch:{refElement:function(t){null!=t&&this.calculatePosition()}},methods:{calculatePosition:function(){var t=this.$refs.main.parentNode.getBoundingClientRect(),e=this.refElement.getBoundingClientRect(),n=e.x-t.x;this.style.left="".concat(Math.floor(n-1),"px"),this.style.width="".concat(e.width+1,"px")}}};exports.default=t;
128
  (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this.$createElement;return(this._self._c||t)("div",{ref:"main",staticClass:"wptb-named-toggle-active-indicator",style:this.style})},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
129
  },{}],"rI0T":[function(require,module,exports) {
130
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=i(require("../mixins/ControlBase")),t=i(require("../components/NamedToggleItem")),n=i(require("../components/NamedToggleActiveIndicator"));function i(e){return e&&e.__esModule?e:{default:e}}var a={components:{NamedToggleActiveIndicator:n.default,NamedToggleItem:t.default},props:{items:{type:Object,default:function(){return{item:"item"}}}},mixins:[e.default],data:function(){return{activeElement:null}},mounted:function(){this.assignDefaultValue()},watch:{elementMainValue:function(e){this.basicValueUpdate(e)}},methods:{isItemActive:function(e){return this.elementMainValue===e},activateItem:function(e,t){this.elementMainValue=e,this.activeElement=t}}};exports.default=a;
131
  (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"wptb-settings-row wptb-settings-middle-xs wptb-element-property",class:t.uniqueId,attrs:{"data-element":t.elemContainer}},[s("div",{staticClass:"wptb-settings-space-between"},[s("p",{staticClass:"wptb-settings-item-title"},[t._v(t._s(t.label))]),t._v(" "),s("div",{staticClass:"wptb-named-toggle-control-wrapper"},[s("named-toggle-active-indicator",{attrs:{"ref-element":t.activeElement}}),t._v(" "),t._l(t.items,function(e,i){return s("named-toggle-item",{key:i,attrs:{title:e,id:i,active:t.isItemActive(i)},on:{activateItem:t.activateItem}})})],2)])])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
132
  },{"../mixins/ControlBase":"LTB1","../components/NamedToggleItem":"Igda","../components/NamedToggleActiveIndicator":"Cqv2"}],"mWd1":[function(require,module,exports) {
133
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=r(require("vue")),t=r(require("../functions/WPTB_ControlsManager")),o=r(require("../containers/NamedToggleControl"));function r(e){return e&&e.__esModule?e:{default:e}}var a={name:"ControlNamedToggle",handler:function(r){var a=t.default.getControlData(r);new e.default({data:a,components:{NamedToggleControl:o.default}}).$mount("#".concat(r))}};exports.default=a;
167
  (function(){var e=exports.default||module.exports;"function"==typeof e&&(e=e.options),Object.assign(e,{render:function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("transition",{attrs:{name:"wptb-fade"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.componentVisibility,expression:"componentVisibility"}],staticClass:"wptb-settings-row wptb-settings-middle-xs wptb-different-border-control-wrapper"},[t("table-cell-select",{attrs:{table:e.table,"cell-extra-styling":e.cellStyling,repaint:e.repaintId},model:{value:e.selectedCell,callback:function(r){e.selectedCell=r},expression:"selectedCell"}}),e._v(" "),t("range-input",{staticClass:"wptb-different-border-range-input",attrs:{"post-fix":"px",label:e.translation("borderWidth"),min:e.min,max:e.max,disabled:!e.controlsActive},model:{value:e.borderProps.currentBorderSize,callback:function(r){e.$set(e.borderProps,"currentBorderSize",r)},expression:"borderProps.currentBorderSize"}}),e._v(" "),t("cell-indicator",{attrs:{repaint:e.repaintId,cell:e.selectedCell}}),e._v(" "),t("color-picker",{attrs:{label:e.translation("borderColor"),disabled:!e.controlsActive},model:{value:e.borderProps.currentBorderColor,callback:function(r){e.$set(e.borderProps,"currentBorderColor",r)},expression:"borderProps.currentBorderColor"}})],1)])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
168
  },{"../mixins/ControlBase":"LTB1","../components/TableCellSelect":"uKH3","../components/CellIndicator":"yxcv","../components/RangeInput":"uI4V","../mixins/withTranslation":"O7It","../components/ColorPicker":"z3gf"}],"d3om":[function(require,module,exports) {
169
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=o(require("vue")),r=o(require("../functions/WPTB_ControlsManager")),t=o(require("../containers/DifferentBorderControl"));function o(e){return e&&e.__esModule?e:{default:e}}var n={name:"ControlDifferentBorder",handler:function(o){var n=r.default.getControlData(o);new e.default({data:n,components:{DifferentBorderControl:t.default}}).$mount("#".concat(o))}};exports.default=n;
170
+ },{"vue":"HYXJ","../functions/WPTB_ControlsManager":"WZJa","../containers/DifferentBorderControl":"CHHs"}],"ksMR":[function(require,module,exports) {
171
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e={props:{disabled:Boolean,type:{type:String,default:"primary"},size:{type:String,default:"normal"}},methods:{handleClick:function(){this.disabled||this.$emit("click")}}};exports.default=e;
172
+ (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"wptb-settings-button",class:[{disabled:this.disabled},this.type,this.size],on:{click:this.handleClick}},[this._t("default")],2)},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
173
+ },{}],"SrCq":[function(require,module,exports) {
174
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e={props:{name:{type:String,default:"image name"},url:{type:String,default:""},activeCard:{type:String,default:null}},computed:{isSelectedCard:function(){return this.name===this.activeCard}},methods:{handleCardClick:function(){this.$emit("cardSelected",this.name,this.url)}}};exports.default=e;
175
+ (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"wptb-local-dev-image-card",attrs:{"data-active":t.isSelectedCard},on:{"!click":function(e){return e.preventDefault(),e.stopPropagation(),t.handleCardClick(e)}}},[a("div",{staticClass:"wptb-local-dev-image-holder"},[a("img",{attrs:{src:t.url}})]),t._v(" "),a("div",{staticClass:"wptb-local-dev-image-name"},[t._v(" "+t._s(t.name)+" ")])])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
176
+ },{}],"BOOO":[function(require,module,exports) {
177
 
178
+ (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"wptb-menu-empty-cover"},[this._t("default")],2)},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
179
+ },{}],"ARxF":[function(require,module,exports) {
180
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=a(require("../mixins/ControlBase")),t=a(require("../components/MenuButton")),n=a(require("../components/LocalImageCard")),r=a(require("../components/EmptyCover"));function a(e){return e&&e.__esModule?e:{default:e}}var i={components:{EmptyCover:r.default,LocalImageCard:n.default,MenuButton:t.default},mixins:[e.default],props:{images:{type:null,default:function(){return{}}},security:{type:Object,default:function(){return{}}}},data:function(){return{frameOpenStatus:!1,innerImages:[],selectedCard:{name:null,url:null},cardLimbo:{name:null,url:null},assignDefaultValueAtMount:!0,mutationObserver:null,fetching:!1}},watch:{elementMainValue:function(e){this.basicValueUpdate(e,!0),this.selectedCard.name=e,this.selectedCard.url=this.getImageUrl(e)},selectedCard:{handler:function(e){this.elementMainValue=e.name,this.cardLimbo.name=e.name,this.cardLimbo.url=this.getImageUrl(e.name),this.selectedCard.url=this.getImageUrl(e.name),this.setTargetImage(this.selectedCard.url)},deep:!0},frameOpenStatus:function(e){var t=this;e&&document.addEventListener("keydown",function(e){"Escape"===e.code&&t.setFrameOpenStatus(!1)})}},mounted:function(){var e=this;this.$nextTick(function(){e.innerImages=e.images;var t=document.querySelector(".".concat(e.elemContainer));e.mutationObserver=new MutationObserver(e.mutationCallback),e.mutationObserver.observe(t,{attributes:!0,childList:!0,subtree:!0})})},beforeDestroy:function(){this.mutationObserver&&this.mutationObserver.disconnect()},computed:{isImagesEmpty:function(){var e=this;return!Object.keys(this.innerImages).filter(function(t){return Object.prototype.hasOwnProperty.call(e.innerImages,t)}).length>0}},methods:{getLocalImages:function(){var e=this,t=new URL(this.security.ajaxUrl);t.searchParams.append("nonce",this.security.nonce),t.searchParams.append("action",this.security.action),this.fetching=!0,fetch(t.toString()).then(function(e){if(e.ok)return e.json();throw new Error("an error occured")}).then(function(t){if(t.error)throw new Error(t.error);e.innerImages=t.data.images}).catch(function(e){console.error(e)}).finally(function(){e.fetching=!1})},mutationCallback:function(e){var t=this;Array.from(e).map(function(e){e.target&&"IMG"===e.target.nodeName&&"src"===e.attributeName&&e.target.getAttribute("src")!==t.selectedCard.url&&t.resetSelectedLocalFile()})},resetSelectedLocalFile:function(){this.selectedCard.name="",this.selectedCard.url=""},setFrameOpenStatus:function(e){this.frameOpenStatus=e},handleCardSelect:function(e,t){this.cardLimbo.name=e,this.cardLimbo.url=t},handleSelectButton:function(){this.selectedCard.name=this.cardLimbo.name,this.selectedCard.url=this.cardLimbo.url,this.setFrameOpenStatus(!1)},getImageUrl:function(e){var t=null;return this.innerImages[e]&&(t=this.innerImages[e]),t},setTargetImage:function(e){null!==e&&""!==e&&this.targetElements.map(function(t){t.elements.map(function(t){t.classList.remove("wptb-elem-placeholder");var n=t.querySelector("img");if(!n){n=document.createElement("img");var r=t.querySelector(".wptb-image-wrapper a");r.innerHTML="",r.appendChild(n)}n.setAttribute("src",e),n.setAttribute("width","auto"),n.setAttribute("height","auto")})})}}};exports.default=i;
181
+ (function(){var t=exports.default||module.exports;"function"==typeof t&&(t=t.options),Object.assign(t,{render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"wptb-settings-row wptb-settings-middle-xs wptb-plugin-width-full wptb-flex wptb-justify-content-center"},[a("menu-button",{on:{click:function(e){return t.setFrameOpenStatus(!0)}}},[t._v(" Plugin Local Images ")]),t._v(" "),a("transition",{attrs:{name:"wptb-fade"}},[t.frameOpenStatus?a("div",{staticClass:"wptb-local-dev-file-chooser"},[a("div",{staticClass:"wptb-local-dev-modal"},[a("div",{staticClass:"wptb-local-dev-modal-header"},[a("div",{staticClass:"wptb-local-dev-modal-title"},[t._v(" Plugin Images ")]),t._v(" "),a("div",{staticClass:"wptb-local-dev-modal-close",on:{click:function(e){return e.preventDefault(),t.setFrameOpenStatus(!1)}}},[t._v(" X ")])]),t._v(" "),a("div",{staticClass:"wptb-local-dev-modal-files"},[t._l(t.innerImages,function(e,l){return a("local-image-card",{key:e,attrs:{name:l,url:e,"active-card":t.cardLimbo.name},on:{cardSelected:t.handleCardSelect}})}),t._v(" "),t.isImagesEmpty?a("empty-cover",[t._v(" no plugin images found... ")]):t._e(),t._v(" "),t.fetching?a("empty-cover",{staticStyle:{color:"red","background-color":"rgba(0,0,0,.4)"}},[t._v(" fetching images... ")]):t._e()],2),t._v(" "),a("div",{staticClass:"wptb-local-dev-modal-footer"},[a("menu-button",{attrs:{disabled:t.fetching},on:{click:t.getLocalImages}},[t._v("refresh")]),t._v(" "),a("menu-button",{attrs:{disabled:t.fetching},on:{click:t.handleSelectButton}},[t._v("select")])],1)])]):t._e()])],1)},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
182
+ },{"../mixins/ControlBase":"LTB1","../components/MenuButton":"ksMR","../components/LocalImageCard":"SrCq","../components/EmptyCover":"BOOO"}],"ccsq":[function(require,module,exports) {
183
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=r(require("vue")),t=r(require("../functions/WPTB_ControlsManager")),o=r(require("../containers/LocalDevFileControl"));function r(e){return e&&e.__esModule?e:{default:e}}var a={name:"ControlLocalDevFile",handler:function(r){var a=t.default.getControlData(r);new e.default({data:a,components:{LocalDevFileControl:o.default}}).$mount("#".concat(r))}};exports.default=a;
184
+ },{"vue":"HYXJ","../functions/WPTB_ControlsManager":"WZJa","../containers/LocalDevFileControl":"ARxF"}],"Zn1h":[function(require,module,exports) {
185
+
186
+ "use strict";var e=s(require("vue")),t=s(require("./mountPoints/WPTB_IconSelectControl")),o=s(require("./mountPoints/WPTB_RangeControl")),n=s(require("./mountPoints/WPTB_Select2Control")),r=s(require("./mountPoints/WPTB_MediaSelectControl")),u=s(require("./functions/WPTB_ControlsManager")),i=s(require("./mountPoints/WPTB_ResponsiveTable")),l=s(require("./mountPoints/WPTB_SidesControl")),a=s(require("./mountPoints/WPTB_NamedToggleControl")),d=s(require("./mountPoints/WPTB_TagControl")),f=s(require("./mountPoints/WPTB_DifferentBorderControl")),P=s(require("./mountPoints/WPTB_LocalDevFileControl"));function s(e){return e&&e.__esModule?e:{default:e}}e.default.config.productionTip=!1;var T=self||void 0;T.WPTB_ControlsManager=u.default,u.default.init();var _=[t.default,o.default,u.default,n.default,r.default,i.default,l.default,a.default,d.default,f.default,P.default];function m(e){u.default.addControlScript(e.name,e.handler)}_.map(m);
187
+ },{"vue":"HYXJ","./mountPoints/WPTB_IconSelectControl":"Pn7d","./mountPoints/WPTB_RangeControl":"YVYX","./mountPoints/WPTB_Select2Control":"eNVe","./mountPoints/WPTB_MediaSelectControl":"Uwhc","./functions/WPTB_ControlsManager":"WZJa","./mountPoints/WPTB_ResponsiveTable":"Ub7O","./mountPoints/WPTB_SidesControl":"Qbmt","./mountPoints/WPTB_NamedToggleControl":"mWd1","./mountPoints/WPTB_TagControl":"IeDC","./mountPoints/WPTB_DifferentBorderControl":"d3om","./mountPoints/WPTB_LocalDevFileControl":"ccsq"}]},{},["Zn1h"], null)
inc/admin/js/WPTB_Generate.js CHANGED
@@ -19,10 +19,13 @@ var e=arguments[3];Object.defineProperty(exports,"__esModule",{value:!0}),export
19
  },{}],"peyB":[function(require,module,exports) {
20
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var t=r(require("./PrebuiltCardControl")),e=r(require("./PrebuiltLiveDisplay")),i=r(require("./PrebuiltCardDeleteModule"));function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){return c(t)||o(t,e)||a(t,e)||l()}function l(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(t,e){if(t){if("string"==typeof t)return s(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(i):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?s(t,e):void 0}}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,r=new Array(e);i<e;i++)r[i]=t[i];return r}function o(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var i=[],r=!0,n=!1,l=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);r=!0);}catch(o){n=!0,l=o}finally{try{r||null==s.return||s.return()}finally{if(n)throw l}}return i}}function c(t){if(Array.isArray(t))return t}var d={props:{name:{required:!0},id:{type:String,required:!0},table:{type:String,default:'<p class="wptb-prebuilt-blank">+</p>'},isActive:{type:Boolean,default:!1},disabled:{default:!1},liveDisplayEnabled:{type:Boolean,default:!0},searchString:{type:String,default:""},fav:{type:Boolean,default:!1},favIcon:{type:String,default:""},deleteIcon:{type:String,default:""}},components:{PrebuiltCardControl:t.default,PrebuiltLiveDisplay:e.default,PrebuiltCardDeleteModule:i.default},data:function(){return{rows:1,columns:1,initial:{rows:1,columns:1},min:{rows:1,cols:1},max:{rows:30,cols:30},selectedCells:{rowOperation:[],colOperation:[]},controlStep:{row:1,col:1}}},watch:{selectedCells:{handler:function(){this.controlStep.row=Math.max(Math.max(this.selectedCells.colOperation.length>0?this.initial.rows:1,this.selectedCells.rowOperation.length/this.initial.columns),1),this.controlStep.col=Math.max(Math.max(this.selectedCells.rowOperation.length>0?this.initial.columns:1,this.selectedCells.colOperation.length/this.initial.rows),1),0===this.selectedCells.rowOperation.length&&0===this.selectedCells.colOperation.length&&"blank"!==this.id&&(this.rows=this.initial.rows,this.columns=this.initial.columns)},deep:!0}},computed:{transformedName:function(){if(""!==this.searchString){var t=new RegExp("(".concat(this.searchString,")"),"ig"),e=this.name.replace(t,'<span class="wptb-prebuilt-card-search-indicator">$&</span>');return'<span class="wptb-prebuilt-card-search-indicator-main">'.concat(e,"</span>")}return this.name},editEnabled:function(){return this.isDevBuild()?"blank"!==this.id&&(this.id.startsWith(this.appData.teamTablePrefix)||!this.id.startsWith(this.appData.teamTablePrefix)):"blank"!==this.id&&!this.id.startsWith(this.appData.teamTablePrefix)},previewTableElement:function(){var t=this.$refs.tablePreview.querySelector("table");if(!t){var e=document.createRange();e.setStart(document.body,0),t=n(e.createContextualFragment("<table><tr><td></td></tr></table>").childNodes,1)[0]}return t},controlDisabled:function(){return"blank"!==this.id&&(0===this.selectedCells.colOperation.length&&0===this.selectedCells.rowOperation.length)}},mounted:function(){var t=this;this.$nextTick(function(){t.initial.rows=t.rows;var e=t.$refs.tablePreview,i=e.getBoundingClientRect(),r=i.width,n=(i.height,e.querySelector("table"));if(n){var l=n.dataset.wptbTableContainerMaxWidth;n.style.width="".concat(l||700,"px");var a=n.getBoundingClientRect(),s=r/(a.width+40),o=125/(a.height+40);if(n.style.transform="scale(".concat(Math.min(s,o),")"),"blank"!==t.id){var c=Array.from(n.querySelectorAll("tr")),d=c.length;t.rows=d,t.min.rows=d;var u=1;c.map(function(t){var e=t.querySelectorAll("td").length;u<e&&(u=e)}),t.min.cols=u,t.columns=u,t.initial.columns=t.columns,t.initial.rows=t.rows}}})},methods:{setCardActive:function(){this.isActive||this.$emit("cardActive",this.id)},cardGenerate:function(){if(!this.disabled){var t=this.selectedCells.colOperation.length>0?this.selectedCells.colOperation:this.selectedCells.rowOperation;this.$emit("cardGenerate",this.id,this.columns,this.rows,t)}},cardEdit:function(){this.disabled||this.$emit("cardEdit",this.id)},favAction:function(){this.$emit("favAction",this.id)},deleteAction:function(){this.$emit("deleteAction",this.id)}}};exports.default=d;
21
  (function(){var e=exports.default||module.exports;"function"==typeof e&&(e=e.options),Object.assign(e,{render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"wptb-prebuilt-card",class:{"wptb-prebuilt-card-active":e.isActive},on:{click:e.setCardActive}},[i("div",{staticClass:"wptb-prebuilt-card-preview"},[i("div",{directives:[{name:"show",rawName:"v-show",value:!e.liveDisplayEnabled||!e.isActive,expression:"!liveDisplayEnabled || !isActive"}],ref:"tablePreview",staticClass:"wptb-prebuilt-table-wrapper wptb-unselectable",domProps:{innerHTML:e._s(e.table)}}),e._v(" "),e.isActive?i("div",{staticClass:"wptb-prebuilt-card-controls"},[i("prebuilt-card-control",{attrs:{disabled:e.controlDisabled,orientation:"row",min:e.min.cols,max:e.max.cols,step:e.controlStep.col},model:{value:e.columns,callback:function(t){e.columns=t},expression:"columns"}}),e._v(" "),i("prebuilt-card-control",{attrs:{disabled:e.controlDisabled,orientation:"col",min:e.min.rows,max:e.max.rows,step:e.controlStep.row},model:{value:e.rows,callback:function(t){e.rows=t},expression:"rows"}})],1):e._e(),e._v(" "),e.isActive&&e.liveDisplayEnabled?i("prebuilt-live-display",{attrs:{rows:e.rows,cols:e.columns,table:e.previewTableElement,"selected-cells":e.selectedCells,"enable-new-cell-indicator":"blank"!==e.id}}):e._e(),e._v(" "),e.isActive?e._e():i("div",{staticClass:"wptb-prebuilt-card-icon wptb-prebuilt-card-fav-icon wptb-plugin-filter-box-shadow-md-close",class:{"is-fav":e.fav},domProps:{innerHTML:e._s(e.favIcon)},on:{"!click":function(t){return t.preventDefault(),t.stopPropagation(),e.favAction(t)}}}),e._v(" "),e.isActive&&""!==e.deleteIcon?i("prebuilt-card-delete-module",{attrs:{"delete-icon":e.deleteIcon,message:e.strings.deleteConfirmation,"yes-icon":e.appData.icons.checkIcon,"no-icon":e.appData.icons.crossIcon},on:{confirm:e.deleteAction}}):e._e()],1),e._v(" "),i("div",{staticClass:"wptb-prebuilt-card-footer"},[e.isActive?i("div",{staticClass:"wptb-prebuilt-card-footer-element wptb-prebuilt-card-footer-button-holder",class:{"wptb-prebuilt-card-footer-button-holder-single":!e.editEnabled}},[i("div",{staticClass:"wptb-prebuilt-footer-button wptb-prebuilt-footer-generate wptb-unselectable",on:{click:function(t){return t.preventDefault(),e.cardGenerate(t)}}},[e._v(" "+e._s(e._f("cap")(e.strings.generate))+" ")]),e._v(" "),e.editEnabled?i("div",{staticClass:"wptb-prebuilt-footer-button wptb-prebuilt-footer-edit wptb-unselectable",on:{click:function(t){return t.preventDefault(),e.cardEdit(t)}}},[e._v(" "+e._s(e._f("cap")(e.strings.edit))+" ")]):e._e()]):i("div",{staticClass:"wptb-prebuilt-card-footer-element",domProps:{innerHTML:e._s(e.transformedName)}})])])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
22
- },{"./PrebuiltCardControl":"p12M","./PrebuiltLiveDisplay":"OaAy","./PrebuiltCardDeleteModule":"Ki3g"}],"eYIM":[function(require,module,exports) {
23
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=t(require("../components/PrebuiltCard"));function t(e){return e&&e.__esModule?e:{default:e}}function r(e,t){return c(e)||i(e,t)||a(e,t)||n()}function n(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(e,t){if(e){if("string"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function i(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,o=void 0;try{for(var i,c=e[Symbol.iterator]();!(n=(i=c.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(l){a=!0,o=l}finally{try{n||null==c.return||c.return()}finally{if(a)throw o}}return r}}function c(e){if(Array.isArray(e))return e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach(function(t){u(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var d={components:{PrebuiltCard:e.default},props:{version:{type:String,default:"normal"},adLink:{type:String},prebuiltTables:{type:Object||Array,default:function(){return{}}},security:{type:Object,default:function(){return{}}}},data:function(){return{searchString:"",fixedTables:{blank:{title:"blank"}},activeCard:"",generating:!1}},mounted:function(){window.addEventListener("keyup",this.focusToSearch),this.fixedTables.blank.title=this.strings.blank,this.fixedTables=s({},this.fixedTables,{},this.prebuiltTables)},computed:{isPro:function(){return"pro"===this.version}},methods:{deselect:function(){this.activeCard=""},favAction:function(e){var t=this,r=this.security,n=r.favAction,a=r.favNonce,o=r.ajaxUrl,i=new FormData;i.append("action",n),i.append("nonce",a),i.append("id",e),fetch(o,{method:"POST",body:i}).then(function(e){if(e.ok)return e.json();throw new Error(e.status)}).then(function(r){if(r.error)throw new Error(r.error);t.fixedTables[e].fav=r.message}).catch(function(e){console.error("an error occurred with fav operation request: ",e)})},cardFavIcon:function(e){return"blank"===e?"":this.appData.icons.favIcon},cardDeleteIcon:function(e){return this.isDevBuild()?"blank"===e?"":this.appData.icons.deleteIcon:"blank"===e||e.startsWith(this.appData.teamTablePrefix)?"":this.appData.icons.deleteIcon},filteredTables:function(){var e=this;return Object.keys(this.fixedTables).reduce(function(t,r){return e.fixedTables[r].title.toLowerCase().includes(e.searchString)&&(t[r]=e.fixedTables[r]),t},{})},sortedTables:regeneratorRuntime.mark(function e(){var t,r,n,a=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:(t=Object.keys(this.filteredTables())).sort(function(e,t){return"blank"===e?-1:"blank"===t?1:e.startsWith("wptb_team")?-1:t.startsWith("wptb_team")?1:a.fixedTables[e].name-a.fixedTables[t].name}),r=0;case 3:if(!(r<t.length)){e.next=11;break}return(n=this.fixedTables[t[r]]).id=t[r],e.next=8,n;case 8:r+=1,e.next=3;break;case 11:case"end":return e.stop()}},e,this)}),focusToSearch:function(e){void 0!==e.key&&"/"===e.key?this.$refs.search.focus():void 0!==e.keyCode&&191===e.keyCode&&this.$refs.search.focus()},isCardActive:function(e){return this.activeCard===e},cardActive:function(e){this.activeCard=e},cardEdit:function(e){this.cardGenerate(e,0,0,[],!0);var t=new URL(window.location.href);t.searchParams.append("table",encodeURIComponent(e)),window.history.pushState(null,null,t.toString())},cardGenerate:function(e,t,n,a){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(this.generating=!0,"blank"===e){WPTB_Table(t,n),(new WPTB_TableStateSaveManager).tableStateSet()}else{var i=document.querySelector(".wptb-table-setup");i.appendChild(WPTB_Parser(this.fixedTables[e].content));var c=i.querySelector("table"),l=c.dataset.wptbTableContainerMaxWidth;if(l&&(i.style.maxWidth="".concat(l,"px")),!o){delete c.dataset.wptbPrebuiltTable;var s=Array.from(c.querySelectorAll("tr")),u=s.reduce(function(e,t){var r=t.querySelectorAll("td").length;return Math.max(r,e)},0),d=n-s.length,f=t-u,p=s.reduce(function(e,t,r){return Array.isArray(e[r])||(e[r]=[]),Array.from(t.querySelectorAll("td")).map(function(t){e[r].push(t)}),e},[]);a.sort();var b=a.length>0?a[0].split("-")[0]:0,h=a.reduce(function(e,t){var n=r(t.split("-"),2),a=n[0],o=n[1],i=a-b;return Array.isArray(e[i])||(e[i]=[]),e[i].push(p[a][o]),e},[]),y=h.length,m=h.reduce(function(e,t){return Math.max(e,t.length)},0),v=function(e){var t=null,n=new RegExp(/wptb-element-(.+)-([0-9]+)/,"g");if(e.classList.forEach(function(e){e.match(n)&&(t=e)}),t){e.classList.remove(t);var a=r(n.exec(t),2)[1],o=new RegExp("^wptb-element-".concat(a,"-([0-9]+)$"),"g"),i=Array.from(c.querySelectorAll("div")).reduce(function(e,t){return t.classList.forEach(function(t){var r=o.exec(t);if(r){var n=Number.parseInt(r[1],10);e=e>n?e:n}}),e},0);e.classList.add("wptb-element-".concat(a,"-").concat(i+1))}};s.map(function(e,t){Array.from(Array(f)).map(function(r,n){var a=h[t%y][n%m].cloneNode(!0);e.appendChild(a),Array.from(a.querySelectorAll("div")).map(v)})}),Array.from(Array(d)).map(function(e,r){var n=document.createElement("tr");c.appendChild(n),Array.from(Array(t)).map(function(e,t){var a=h[r%y][t%m].cloneNode(!0);n.appendChild(a)}),Array.from(n.querySelectorAll("div")).map(v)})}o&&(document.querySelector("#wptb-setup-name").value=this.fixedTables[e].title,c.dataset.wptbPrebuiltTable=1),WPTB_Table(),WPTB_Settings(),(new WPTB_TableStateSaveManager).tableStateSet(),document.counter=new ElementCounters,document.select=new MultipleSelect,WPTB_Settings()}},deleteAction:function(e){var t=this,r=this.security,n=r.ajaxUrl,a=r.deleteAction,o=r.deleteNonce,i=r.devModeNonce,c=new FormData;c.append("action",a),c.append("nonce",o),c.append("id",e),e.startsWith(this.appData.teamTablePrefix)&&(c.append("deleteCSV",!0),c.append("devModeNonce",i)),fetch(n,{method:"POST",body:c}).then(function(e){if(e.ok)return e.json();throw new Error("an error occurred while deleting prebuilt table, try again later")}).then(function(r){if(r.error)throw new Error(r.error);if(!0!==r.message)throw new Error("an error occurred while deleting prebuilt table, try again later");t.$delete(t.fixedTables,e)}).catch(function(e){console.error(e.message)})}},beforeDestroy:function(){window.removeEventListener("keyup",this.focusToSearch)}};exports.default=d;
24
- (function(){var e=exports.default||module.exports;"function"==typeof e&&(e=e.options),Object.assign(e,{render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"wptb-generate-wrapper"},[a("div",{staticClass:"wptb-generate-menu"},[a("div",{staticClass:"wptb-generate-menu-header"},[a("input",{directives:[{name:"model",rawName:"v-model.trim",value:e.searchString,expression:"searchString",modifiers:{trim:!0}}],ref:"search",staticClass:"wptb-generate-search",attrs:{type:"text",placeholder:e.strings.searchPlaceholder,disabled:!e.isPro},domProps:{value:e.searchString},on:{input:function(t){t.target.composing||(e.searchString=t.target.value.trim())},blur:function(t){return e.$forceUpdate()}}})]),e._v(" "),a("div",{staticClass:"wptb-generate-menu-listing"},e._l(e.sortedTables(),function(t){return a("prebuilt-card",{key:t.id,attrs:{id:t.id,name:t.title,fav:t.fav,"is-active":e.isCardActive(t.id),disabled:e.generating,table:t.content,"search-string":e.searchString,"fav-icon":e.cardFavIcon(t.id),"delete-icon":e.cardDeleteIcon(t.id)},on:{cardActive:e.cardActive,cardGenerate:e.cardGenerate,cardEdit:e.cardEdit,favAction:e.favAction,deleteAction:e.deleteAction}})}),1)])])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
25
- },{"../components/PrebuiltCard":"peyB"}],"GZC0":[function(require,module,exports) {
 
 
 
26
  "use strict";function e(e,t){e.filter("cap",function(e){return e.split(" ").map(function(e){return e[0].toUpperCase()+e.slice(1)}).join(" ")})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var t={install:e};exports.default=t;
27
  },{}],"yEip":[function(require,module,exports) {
28
  "use strict";function t(t,e){t.mixin({data:function(){return{strings:e.strings}}})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e={install:t};exports.default=e;
@@ -30,5 +33,5 @@ var e=arguments[3];Object.defineProperty(exports,"__esModule",{value:!0}),export
30
  "use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(t,r){var a=r.data,n=a.key,i=a.data,o=r.methods;t.mixin({data:function(){return e({},n,i)},methods:o})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var r={install:t};exports.default=r;
31
  },{}],"riTF":[function(require,module,exports) {
32
  var global = arguments[3];
33
- var e,t=arguments[3],r=o(require("vue")),n=o(require("./containers/GenerateMain")),a=o(require("./plugins/filters")),i=o(require("./plugins/strings")),u=o(require("./plugins/genericStore"));function o(e){return e&&e.__esModule?e:{default:e}}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach(function(t){s(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.default.config.productionTip=!1,r.default.use(a.default);var p=null!==(e=t.wptbGenerateMenuProData)&&void 0!==e?e:{},d=l({},wptbGenerateMenuData,{},p),b={teamTablePrefix:d.teamBuildTablePrefix,icons:d.icons,env:"production"},f={isDevBuild:function(){return!1}};r.default.use(u.default,{data:{key:"appData",data:b},methods:f}),r.default.use(i.default,d);var m=new r.default({components:{GenerateMain:n.default},template:'<generate-main :version="version" :ad-link="adLink" :prebuilt-tables="prebuiltTables" :security="security"></generate-main>',data:d}).$mount("#".concat(d.mountId)),y=document.querySelector(".wptb-management_table_container");y.style.opacity=0,y.style.height="0px",document.addEventListener("wptb:table:generated",function(){var e=document.querySelector(".wptb-generate-wrapper");e&&(e.addEventListener("animationend",function(t){"wptb-basic-disappear"===t.animationName&&(m.$destroy(),e.remove(),y.style.opacity=1,y.style.height="unset",WPTB_Helper.wptbDocumentEventGenerate("wptb:table:visible",document))}),e.classList.add("wptb-plugin-basic-disappear"))});
34
  },{"vue":"HYXJ","./containers/GenerateMain":"eYIM","./plugins/filters":"GZC0","./plugins/strings":"yEip","./plugins/genericStore":"xROL"}]},{},["riTF"], null)
19
  },{}],"peyB":[function(require,module,exports) {
20
  "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var t=r(require("./PrebuiltCardControl")),e=r(require("./PrebuiltLiveDisplay")),i=r(require("./PrebuiltCardDeleteModule"));function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){return c(t)||o(t,e)||a(t,e)||l()}function l(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(t,e){if(t){if("string"==typeof t)return s(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(i):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?s(t,e):void 0}}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,r=new Array(e);i<e;i++)r[i]=t[i];return r}function o(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var i=[],r=!0,n=!1,l=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);r=!0);}catch(o){n=!0,l=o}finally{try{r||null==s.return||s.return()}finally{if(n)throw l}}return i}}function c(t){if(Array.isArray(t))return t}var d={props:{name:{required:!0},id:{type:String,required:!0},table:{type:String,default:'<p class="wptb-prebuilt-blank">+</p>'},isActive:{type:Boolean,default:!1},disabled:{default:!1},liveDisplayEnabled:{type:Boolean,default:!0},searchString:{type:String,default:""},fav:{type:Boolean,default:!1},favIcon:{type:String,default:""},deleteIcon:{type:String,default:""}},components:{PrebuiltCardControl:t.default,PrebuiltLiveDisplay:e.default,PrebuiltCardDeleteModule:i.default},data:function(){return{rows:1,columns:1,initial:{rows:1,columns:1},min:{rows:1,cols:1},max:{rows:30,cols:30},selectedCells:{rowOperation:[],colOperation:[]},controlStep:{row:1,col:1}}},watch:{selectedCells:{handler:function(){this.controlStep.row=Math.max(Math.max(this.selectedCells.colOperation.length>0?this.initial.rows:1,this.selectedCells.rowOperation.length/this.initial.columns),1),this.controlStep.col=Math.max(Math.max(this.selectedCells.rowOperation.length>0?this.initial.columns:1,this.selectedCells.colOperation.length/this.initial.rows),1),0===this.selectedCells.rowOperation.length&&0===this.selectedCells.colOperation.length&&"blank"!==this.id&&(this.rows=this.initial.rows,this.columns=this.initial.columns)},deep:!0}},computed:{transformedName:function(){if(""!==this.searchString){var t=new RegExp("(".concat(this.searchString,")"),"ig"),e=this.name.replace(t,'<span class="wptb-prebuilt-card-search-indicator">$&</span>');return'<span class="wptb-prebuilt-card-search-indicator-main">'.concat(e,"</span>")}return this.name},editEnabled:function(){return this.isDevBuild()?"blank"!==this.id&&(this.id.startsWith(this.appData.teamTablePrefix)||!this.id.startsWith(this.appData.teamTablePrefix)):"blank"!==this.id&&!this.id.startsWith(this.appData.teamTablePrefix)},previewTableElement:function(){var t=this.$refs.tablePreview.querySelector("table");if(!t){var e=document.createRange();e.setStart(document.body,0),t=n(e.createContextualFragment("<table><tr><td></td></tr></table>").childNodes,1)[0]}return t},controlDisabled:function(){return"blank"!==this.id&&(0===this.selectedCells.colOperation.length&&0===this.selectedCells.rowOperation.length)}},mounted:function(){var t=this;this.$nextTick(function(){t.initial.rows=t.rows;var e=t.$refs.tablePreview,i=e.getBoundingClientRect(),r=i.width,n=(i.height,e.querySelector("table"));if(n){var l=n.dataset.wptbTableContainerMaxWidth;n.style.width="".concat(l||700,"px");var a=n.getBoundingClientRect(),s=r/(a.width+40),o=125/(a.height+40);if(n.style.transform="scale(".concat(Math.min(s,o),")"),"blank"!==t.id){var c=Array.from(n.querySelectorAll("tr")),d=c.length;t.rows=d,t.min.rows=d;var u=1;c.map(function(t){var e=t.querySelectorAll("td").length;u<e&&(u=e)}),t.min.cols=u,t.columns=u,t.initial.columns=t.columns,t.initial.rows=t.rows}}})},methods:{setCardActive:function(){this.isActive||this.$emit("cardActive",this.id)},cardGenerate:function(){if(!this.disabled){var t=this.selectedCells.colOperation.length>0?this.selectedCells.colOperation:this.selectedCells.rowOperation;this.$emit("cardGenerate",this.id,this.columns,this.rows,t)}},cardEdit:function(){this.disabled||this.$emit("cardEdit",this.id)},favAction:function(){this.$emit("favAction",this.id)},deleteAction:function(){this.$emit("deleteAction",this.id)}}};exports.default=d;
21
  (function(){var e=exports.default||module.exports;"function"==typeof e&&(e=e.options),Object.assign(e,{render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"wptb-prebuilt-card",class:{"wptb-prebuilt-card-active":e.isActive},on:{click:e.setCardActive}},[i("div",{staticClass:"wptb-prebuilt-card-preview"},[i("div",{directives:[{name:"show",rawName:"v-show",value:!e.liveDisplayEnabled||!e.isActive,expression:"!liveDisplayEnabled || !isActive"}],ref:"tablePreview",staticClass:"wptb-prebuilt-table-wrapper wptb-unselectable",domProps:{innerHTML:e._s(e.table)}}),e._v(" "),e.isActive?i("div",{staticClass:"wptb-prebuilt-card-controls"},[i("prebuilt-card-control",{attrs:{disabled:e.controlDisabled,orientation:"row",min:e.min.cols,max:e.max.cols,step:e.controlStep.col},model:{value:e.columns,callback:function(t){e.columns=t},expression:"columns"}}),e._v(" "),i("prebuilt-card-control",{attrs:{disabled:e.controlDisabled,orientation:"col",min:e.min.rows,max:e.max.rows,step:e.controlStep.row},model:{value:e.rows,callback:function(t){e.rows=t},expression:"rows"}})],1):e._e(),e._v(" "),e.isActive&&e.liveDisplayEnabled?i("prebuilt-live-display",{attrs:{rows:e.rows,cols:e.columns,table:e.previewTableElement,"selected-cells":e.selectedCells,"enable-new-cell-indicator":"blank"!==e.id}}):e._e(),e._v(" "),e.isActive?e._e():i("div",{staticClass:"wptb-prebuilt-card-icon wptb-prebuilt-card-fav-icon wptb-plugin-filter-box-shadow-md-close",class:{"is-fav":e.fav},domProps:{innerHTML:e._s(e.favIcon)},on:{"!click":function(t){return t.preventDefault(),t.stopPropagation(),e.favAction(t)}}}),e._v(" "),e.isActive&&""!==e.deleteIcon?i("prebuilt-card-delete-module",{attrs:{"delete-icon":e.deleteIcon,message:e.strings.deleteConfirmation,"yes-icon":e.appData.icons.checkIcon,"no-icon":e.appData.icons.crossIcon},on:{confirm:e.deleteAction}}):e._e()],1),e._v(" "),i("div",{staticClass:"wptb-prebuilt-card-footer"},[e.isActive?i("div",{staticClass:"wptb-prebuilt-card-footer-element wptb-prebuilt-card-footer-button-holder",class:{"wptb-prebuilt-card-footer-button-holder-single":!e.editEnabled}},[i("div",{staticClass:"wptb-prebuilt-footer-button wptb-prebuilt-footer-generate wptb-unselectable",on:{click:function(t){return t.preventDefault(),e.cardGenerate(t)}}},[e._v(" "+e._s(e._f("cap")(e.strings.generate))+" ")]),e._v(" "),e.editEnabled?i("div",{staticClass:"wptb-prebuilt-footer-button wptb-prebuilt-footer-edit wptb-unselectable",on:{click:function(t){return t.preventDefault(),e.cardEdit(t)}}},[e._v(" "+e._s(e._f("cap")(e.strings.edit))+" ")]):e._e()]):i("div",{staticClass:"wptb-prebuilt-card-footer-element",domProps:{innerHTML:e._s(e.transformedName)}})])])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
22
+ },{"./PrebuiltCardControl":"p12M","./PrebuiltLiveDisplay":"OaAy","./PrebuiltCardDeleteModule":"Ki3g"}],"rqzK":[function(require,module,exports) {
23
+ var global = arguments[3];
24
+ var t=arguments[3];!function(t){"use strict";var r,e=Object.prototype,n=e.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag",u="object"==typeof module,h=t.regeneratorRuntime;if(h)u&&(module.exports=h);else{(h=t.regeneratorRuntime=u?module.exports:{}).wrap=w;var s="suspendedStart",f="suspendedYield",l="executing",p="completed",y={},v={};v[i]=function(){return this};var d=Object.getPrototypeOf,g=d&&d(d(P([])));g&&g!==e&&n.call(g,i)&&(v=g);var m=b.prototype=x.prototype=Object.create(v);E.prototype=m.constructor=b,b.constructor=E,b[c]=E.displayName="GeneratorFunction",h.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===E||"GeneratorFunction"===(r.displayName||r.name))},h.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,c in t||(t[c]="GeneratorFunction")),t.prototype=Object.create(m),t},h.awrap=function(t){return{__await:t}},_(j.prototype),j.prototype[a]=function(){return this},h.AsyncIterator=j,h.async=function(t,r,e,n){var o=new j(w(t,r,e,n));return h.isGeneratorFunction(r)?o:o.next().then(function(t){return t.done?t.value:o.next()})},_(m),m[c]="Generator",m[i]=function(){return this},m.toString=function(){return"[object Generator]"},h.keys=function(t){var r=[];for(var e in t)r.push(e);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},h.values=P,N.prototype={constructor:N,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(G),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=r)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function o(n,o){return c.type="throw",c.arg=t,e.next=n,o&&(e.method="next",e.arg=r),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),h=n.call(a,"finallyLoc");if(u&&h){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!h)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,r){for(var e=this.tryEntries.length-1;e>=0;--e){var o=this.tryEntries[e];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=r,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),y},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),G(e),y}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;G(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:P(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=r),y}}}function w(t,r,e,n){var o=r&&r.prototype instanceof x?r:x,i=Object.create(o.prototype),a=new N(n||[]);return i._invoke=function(t,r,e){var n=s;return function(o,i){if(n===l)throw new Error("Generator is already running");if(n===p){if("throw"===o)throw i;return F()}for(e.method=o,e.arg=i;;){var a=e.delegate;if(a){var c=O(a,e);if(c){if(c===y)continue;return c}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if(n===s)throw n=p,e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);n=l;var u=L(t,r,e);if("normal"===u.type){if(n=e.done?p:f,u.arg===y)continue;return{value:u.arg,done:e.done}}"throw"===u.type&&(n=p,e.method="throw",e.arg=u.arg)}}}(t,e,a),i}function L(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(n){return{type:"throw",arg:n}}}function x(){}function E(){}function b(){}function _(t){["next","throw","return"].forEach(function(r){t[r]=function(t){return this._invoke(r,t)}})}function j(t){var r;this._invoke=function(e,o){function i(){return new Promise(function(r,i){!function r(e,o,i,a){var c=L(t[e],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==typeof h&&n.call(h,"__await")?Promise.resolve(h.__await).then(function(t){r("next",t,i,a)},function(t){r("throw",t,i,a)}):Promise.resolve(h).then(function(t){u.value=t,i(u)},a)}a(c.arg)}(e,o,r,i)})}return r=r?r.then(i,i):i()}}function O(t,e){var n=t.iterator[e.method];if(n===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=r,O(t,e),"throw"===e.method))return y;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var o=L(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,y;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=r),e.delegate=null,y):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,y)}function k(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function G(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function P(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function e(){for(;++o<t.length;)if(n.call(t,o))return e.value=t[o],e.done=!1,e;return e.value=r,e.done=!0,e};return a.next=a}}return{next:F}}function F(){return{value:r,done:!0}}}(function(){return this}()||Function("return this")());
25
+ },{}],"eYIM":[function(require,module,exports) {
26
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=t(require("../components/PrebuiltCard"));function t(e){return e&&e.__esModule?e:{default:e}}function r(e,t){return c(e)||i(e,t)||a(e,t)||n()}function n(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(e,t){if(e){if("string"==typeof e)return o(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function i(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,o=void 0;try{for(var i,c=e[Symbol.iterator]();!(n=(i=c.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(l){a=!0,o=l}finally{try{n||null==c.return||c.return()}finally{if(a)throw o}}return r}}function c(e){if(Array.isArray(e))return e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach(function(t){u(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}require("regenerator-runtime/runtime");var d={components:{PrebuiltCard:e.default},props:{version:{type:String,default:"normal"},upsell:{type:String},prebuiltTables:{type:Object||Array,default:function(){return{}}},security:{type:Object,default:function(){return{}}}},data:function(){return{searchString:"",fixedTables:{blank:{title:"blank"}},activeCard:"",generating:!1}},mounted:function(){window.addEventListener("keyup",this.focusToSearch),this.fixedTables.blank.title=this.strings.blank,this.fixedTables=s({},this.fixedTables,{},this.prebuiltTables)},computed:{isPro:function(){return"pro"===this.version}},methods:{deselect:function(){this.activeCard=""},favAction:function(e){var t=this,r=this.security,n=r.favAction,a=r.favNonce,o=r.ajaxUrl,i=new FormData;i.append("action",n),i.append("nonce",a),i.append("id",e),fetch(o,{method:"POST",body:i}).then(function(e){if(e.ok)return e.json();throw new Error(e.status)}).then(function(r){if(r.error)throw new Error(r.error);t.fixedTables[e].fav=r.message}).catch(function(e){console.error("an error occurred with fav operation request: ",e)})},cardFavIcon:function(e){return"blank"===e?"":this.appData.icons.favIcon},cardDeleteIcon:function(e){return this.isDevBuild()?"blank"===e?"":this.appData.icons.deleteIcon:"blank"===e||e.startsWith(this.appData.teamTablePrefix)?"":this.appData.icons.deleteIcon},filteredTables:function(){var e=this;return Object.keys(this.fixedTables).reduce(function(t,r){return e.fixedTables[r].title.toLowerCase().includes(e.searchString)&&(t[r]=e.fixedTables[r]),t},{})},sortedTables:regeneratorRuntime.mark(function e(){var t,r,n,a=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:(t=Object.keys(this.filteredTables())).sort(function(e,t){return"blank"===e?-1:"blank"===t?1:e.startsWith("wptb_team")?-1:t.startsWith("wptb_team")?1:a.fixedTables[e].name-a.fixedTables[t].name}),r=0;case 3:if(!(r<t.length)){e.next=11;break}return(n=this.fixedTables[t[r]]).id=t[r],e.next=8,n;case 8:r+=1,e.next=3;break;case 11:case"end":return e.stop()}},e,this)}),focusToSearch:function(e){void 0!==e.key&&"/"===e.key?this.$refs.search.focus():void 0!==e.keyCode&&191===e.keyCode&&this.$refs.search.focus()},isCardActive:function(e){return this.activeCard===e},cardActive:function(e){this.activeCard=e},cardEdit:function(e){this.cardGenerate(e,0,0,[],!0);var t=new URL(window.location.href);t.searchParams.append("table",encodeURIComponent(e)),window.history.pushState(null,null,t.toString())},cardGenerate:function(e,t,n,a){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(this.generating=!0,"blank"===e){WPTB_Table(t,n),(new WPTB_TableStateSaveManager).tableStateSet()}else{var i=document.querySelector(".wptb-table-setup");i.appendChild(WPTB_Parser(this.fixedTables[e].content));var c=i.querySelector("table"),l=c.dataset.wptbTableContainerMaxWidth;if(l&&(i.style.maxWidth="".concat(l,"px")),!o){delete c.dataset.wptbPrebuiltTable;var s=Array.from(c.querySelectorAll("tr")),u=s.reduce(function(e,t){var r=t.querySelectorAll("td").length;return Math.max(r,e)},0),d=n-s.length,f=t-u,p=s.reduce(function(e,t,r){return Array.isArray(e[r])||(e[r]=[]),Array.from(t.querySelectorAll("td")).map(function(t){e[r].push(t)}),e},[]);a.sort();var b=a.length>0?a[0].split("-")[0]:0,h=a.reduce(function(e,t){var n=r(t.split("-"),2),a=n[0],o=n[1],i=a-b;return Array.isArray(e[i])||(e[i]=[]),e[i].push(p[a][o]),e},[]),y=h.length,m=h.reduce(function(e,t){return Math.max(e,t.length)},0),v=function(e){var t=null,n=new RegExp(/wptb-element-(.+)-([0-9]+)/,"g");if(e.classList.forEach(function(e){e.match(n)&&(t=e)}),t){e.classList.remove(t);var a=r(n.exec(t),2)[1],o=new RegExp("^wptb-element-".concat(a,"-([0-9]+)$"),"g"),i=Array.from(c.querySelectorAll("div")).reduce(function(e,t){return t.classList.forEach(function(t){var r=o.exec(t);if(r){var n=Number.parseInt(r[1],10);e=e>n?e:n}}),e},0);e.classList.add("wptb-element-".concat(a,"-").concat(i+1))}};s.map(function(e,t){Array.from(Array(f)).map(function(r,n){var a=h[t%y][n%m].cloneNode(!0);e.appendChild(a),Array.from(a.querySelectorAll("div")).map(v)})}),Array.from(Array(d)).map(function(e,r){var n=document.createElement("tr");c.appendChild(n),Array.from(Array(t)).map(function(e,t){var a=h[r%y][t%m].cloneNode(!0);n.appendChild(a)}),Array.from(n.querySelectorAll("div")).map(v)})}o&&(document.querySelector("#wptb-setup-name").value=this.fixedTables[e].title,c.dataset.wptbPrebuiltTable=1),WPTB_Table(),WPTB_Settings(),(new WPTB_TableStateSaveManager).tableStateSet(),document.counter=new ElementCounters,document.select=new MultipleSelect,WPTB_Settings()}},deleteAction:function(e){var t=this,r=this.security,n=r.ajaxUrl,a=r.deleteAction,o=r.deleteNonce,i=r.devModeNonce,c=new FormData;c.append("action",a),c.append("nonce",o),c.append("id",e),e.startsWith(this.appData.teamTablePrefix)&&(c.append("deleteCSV",!0),c.append("devModeNonce",i)),fetch(n,{method:"POST",body:c}).then(function(e){if(e.ok)return e.json();throw new Error("an error occurred while deleting prebuilt table, try again later")}).then(function(r){if(r.error)throw new Error(r.error);if(!0!==r.message)throw new Error("an error occurred while deleting prebuilt table, try again later");t.$delete(t.fixedTables,e)}).catch(function(e){console.error(e.message)})}},beforeDestroy:function(){window.removeEventListener("keyup",this.focusToSearch)}};exports.default=d;
27
+ (function(){var e=exports.default||module.exports;"function"==typeof e&&(e=e.options),Object.assign(e,{render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"wptb-generate-wrapper"},[r("div",{staticClass:"wptb-generate-menu"},[r("div",{staticClass:"wptb-generate-menu-header"},[r("input",{directives:[{name:"model",rawName:"v-model.trim",value:e.searchString,expression:"searchString",modifiers:{trim:!0}}],ref:"search",staticClass:"wptb-generate-search",attrs:{type:"text",placeholder:e.strings.searchPlaceholder,disabled:!e.isPro},domProps:{value:e.searchString},on:{input:function(t){t.target.composing||(e.searchString=t.target.value.trim())},blur:function(t){return e.$forceUpdate()}}})]),e._v(" "),r("div",{staticClass:"wptb-generate-menu-listing"},e._l(e.sortedTables(),function(t){return r("prebuilt-card",{key:t.id,attrs:{id:t.id,name:t.title,fav:t.fav,"is-active":e.isCardActive(t.id),disabled:e.generating,table:t.content,"search-string":e.searchString,"fav-icon":e.cardFavIcon(t.id),"delete-icon":e.cardDeleteIcon(t.id)},on:{cardActive:e.cardActive,cardGenerate:e.cardGenerate,cardEdit:e.cardEdit,favAction:e.favAction,deleteAction:e.deleteAction}})}),1)]),e._v(" "),e.isPro?e._e():r("div",{domProps:{innerHTML:e._s(e.upsell)}})])},staticRenderFns:[],_compiled:!0,_scopeId:null,functional:void 0});})();
28
+ },{"../components/PrebuiltCard":"peyB","regenerator-runtime/runtime":"rqzK"}],"GZC0":[function(require,module,exports) {
29
  "use strict";function e(e,t){e.filter("cap",function(e){return e.split(" ").map(function(e){return e[0].toUpperCase()+e.slice(1)}).join(" ")})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var t={install:e};exports.default=t;
30
  },{}],"yEip":[function(require,module,exports) {
31
  "use strict";function t(t,e){t.mixin({data:function(){return{strings:e.strings}}})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e={install:t};exports.default=e;
33
  "use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(t,r){var a=r.data,n=a.key,i=a.data,o=r.methods;t.mixin({data:function(){return e({},n,i)},methods:o})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var r={install:t};exports.default=r;
34
  },{}],"riTF":[function(require,module,exports) {
35
  var global = arguments[3];
36
+ var e,t=arguments[3],r=o(require("vue")),n=o(require("./containers/GenerateMain")),a=o(require("./plugins/filters")),i=o(require("./plugins/strings")),u=o(require("./plugins/genericStore"));function o(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach(function(t){s(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.default.config.productionTip=!1,r.default.use(a.default);var p=null!==(e=t.wptbGenerateMenuProData)&&void 0!==e?e:{},b=c({upsell:""},wptbGenerateMenuData,{},p),d={teamTablePrefix:b.teamBuildTablePrefix,icons:b.icons,env:"production"},f={isDevBuild:function(){return!1}};r.default.use(u.default,{data:{key:"appData",data:d},methods:f}),r.default.use(i.default,b);var m=new r.default({components:{GenerateMain:n.default},template:'<generate-main :version="version" :upsell="upsell" :prebuilt-tables="prebuiltTables" :security="security"></generate-main>',data:b}).$mount("#".concat(b.mountId)),y=document.querySelector(".wptb-management_table_container");y.style.opacity=0,y.style.height="0px",document.addEventListener("wptb:table:generated",function(){var e=document.querySelector(".wptb-generate-wrapper");e&&(e.addEventListener("animationend",function(t){"wptb-basic-disappear"===t.animationName&&(m.$destroy(),e.remove(),y.style.opacity=1,y.style.height="unset",WPTB_Helper.wptbDocumentEventGenerate("wptb:table:visible",document))}),e.classList.add("wptb-plugin-basic-disappear"))});
37
  },{"vue":"HYXJ","./containers/GenerateMain":"eYIM","./plugins/filters":"GZC0","./plugins/strings":"yEip","./plugins/genericStore":"xROL"}]},{},["riTF"], null)
inc/admin/js/admin.js CHANGED
@@ -1,2 +1,2 @@
1
- function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var WPTB_ActionsField=function i(){var c=this;this.wptbActions,0!=document.getElementsByClassName("wptb-actions").length&&(this.wptbActions=document.getElementsByClassName("wptb-actions")[0]),this.addActionField=function(e,t){var a=document.getElementsByTagName("body")[0],n=document.getElementsByClassName("wptb-actions");if(0!=n.length){var r=n[0].activeElem;for(r&&r.classList.remove("wptb-directlyhovered");0!=n.length;)n[0].parentNode.removeChild(n[0])}if(1==e){var l,o,s;if(l=document.createElement("span"),o=document.createElement("span"),(n=document.createElement("div")).classList.add("wptb-actions"),l.classList.add("dashicons","dashicons-trash","wptb-delete-action"),o.classList.add("dashicons","dashicons-admin-page","wptb-duplicate-action"),n.appendChild(o),n.appendChild(l),a.appendChild(n),n.activeElem=t,n.type=1,l.onclick=function(e){var t=e.target.parentNode.activeElem,a=t.parentNode;t.className.match(/wptb-element-(.+)-(\d+)/i);if(t&&a.removeChild(t),t&&"object"===_typeof(t)&&t.hasOwnProperty("kind")&&"text"==t.kind){var n=a.parentNode;if(WPTB_Helper.rowIsTop(n)){var r=WPTB_Helper.findAncestor(n,"wptb-preview-table");r.classList.contains("wptb-table-preview-head")&&WPTB_Helper.dataTitleColumnSet(r)}}(new i).actionsRemove(),(new WPTB_TableStateSaveManager).tableStateSet(),WPTB_Helper.wptbDocumentEventGenerate("element:removed:dom",document,t)},o.onclick=function(e){var t,a,n,r=e.target.parentNode.activeElem,l=r.parentNode;if((a=r.className.match(/wptb-element-(.+)-(\d+)/i))&&Array.isArray(a)){n=a[1];var o={};o.kind=n,o.elemProt=r,o.tinyMceClear=!0,(t=new WPTB_ElementObject(o)).getDOMElement().classList.remove("edit-active"),l.insertBefore(t.getDOMElement(),r.nextSibling)}else{t={};var s=r.cloneNode(!0);s.classList.remove("wptb-directlyhovered"),t.getDOMElement=function(){return s},applyGenericItemSettings(t),l.insertBefore(t.getDOMElement(),r.nextSibling),WPTB_Helper.wptbDocumentEventGenerate("wptb-inner-element:copy",r,t.getDOMElement())}WPTB_innerElementSet(t.getDOMElement()),new i(1,r).setParameters(r),(new WPTB_TableStateSaveManager).tableStateSet()},t.classList.contains("wptb-ph-element"))(s=document.createElement("span")).classList.add("dashicons","dashicons-move","wptb-move-action"),s.draggable=!0,n.appendChild(s),s.ondragstart=function(e){var t,a,n,r=wp.template("wptb-element-icons-directories")({}),l=JSON.parse(r),o=e.target.parentNode.activeElem;if((a=o.className.match(/wptb-element-(.+)-(\d+)/i))&&Array.isArray(a)){n=a[1],o.classList.add("wptb-moving-mode"),l&&"object"===_typeof(l)&&l[n]&&(t=WPTB_Helper.getElementIcon(l[n])),e.dataTransfer.effectAllowed="move",e.dataTransfer.setDragImage(t,0,0),e.dataTransfer.setData("node","wptb-element-"+a[1]+"-"+a[2]),e.dataTransfer.setData("wptb-moving-mode","wptb-element-"+a[1]+"-"+a[2]),e.dataTransfer.setData("wptbElIndic-"+a[1],"wptbElIndic-"+a[1]);var s=e.target.parentNode.activeElem;if("text"==s.kind){var i=s.parentNode.parentNode;if(WPTB_Helper.rowIsTop(i)){var d=WPTB_Helper.findAncestor(i,"wptb-preview-table");d.classList.contains("wptb-table-preview-head")&&WPTB_Helper.dataTitleColumnSet(d)}}}else c.style.display="none";c.actionsHide()},s.ondragend=function(e){WPTB_Helper.elementDragEndClear()};n.style.display="flex",c.wptbActions=n}WPTB_Helper.wptbDocumentEventGenerate("wptb:actionfield:generated",document)},this.setParameters=function(t){if(!c.wptbActions){var e=document.getElementsByClassName("wptb-actions");0<e.length?c.wptbActions=e[0]:c.wptbActions=!1}if(c.wptbActions&&c.wptbActions.classList.contains("wptb-actions")){c.wptbActions.style.display="flex";var a=t.getBoundingClientRect(),n=document.getElementsByClassName("wptb-container")[0];c.wptbActions.style.top=parseFloat(a.top)-15+"px",c.wptbActions.style.left=parseFloat(a.right)-parseFloat(c.wptbActions.clientWidth)+1+"px",c.wptbActions.style.display="flex",t.classList.add("wptb-directlyhovered"),n.onscroll=function(){var e=t.getBoundingClientRect();c.wptbActions.style.top=parseFloat(e.top)-15+"px"}}},this.leaveFromField=function(e,t,a){if(!c.wptbActions){var n=document.getElementsByClassName("wptb-actions");0<n.length?c.wptbActions=n[0]:c.wptbActions=!1}if(c.wptbActions){if(e.relatedTarget&&(e.relatedTarget.classList.contains("wptb-actions")||e.relatedTarget.classList.contains("wptb-move-action")||e.relatedTarget.classList.contains("wptb-duplicate-action")||e.relatedTarget.classList.contains("wptb-delete-action")||e.relatedTarget.classList.contains("wptb-prebuilt-mark-action")))return c.wptbActions||(c.wptbActions=document.getElementsByClassName("wptb-actions")[0]),void(c.wptbActions.onmouseleave=function(e){null!=e.relatedTarget&&(e.relatedTarget.classList.contains("wptb-ph-element")||WPTB_Helper.findAncestor(e.relatedTarget,"wptb-ph-element"))&&e.relatedTarget!=c.wptbActions.activeElem&&(WPTB_Helper.findAncestor(e.relatedTarget,"wptb-directlyhovered"),c.wptbActions.activeElem),(new i).leaveFromField(e,e.relatedTarget.parentNode.parentNode),e.target.activeElem.classList.remove("wptb-directlyhovered")});t.classList.remove("wptb-directlyhovered"),c.wptbActions.style.display="none",e.relatedTarget&&(e.relatedTarget.classList.contains("wptb-ph-element")||WPTB_Helper.findAncestor(e.relatedTarget,"wptb-ph-element"))&&(c.addActionField(1,e.relatedTarget.parentNode),c.setParameters(e.relatedTarget.parentNode))}},this.actionsRemove=function(){if(!c.wptbActions){var e=document.getElementsByClassName("wptb-actions");0<e.length&&(c.wptbActions=e[0])}c.wptbActions&&c.wptbActions.parentNode.removeChild(c.wptbActions)},this.actionsHide=function(){if(!c.wptbActions){var e=document.getElementsByClassName("wptb-actions");0<e.length&&(c.wptbActions=e[0])}c.wptbActions&&(c.wptbActions.style.opacity=0)}};!function(){var e=window.location.href;new RegExp("[?&]page=wptb-builder").exec(e)&&document.addEventListener("DOMContentLoaded",function(){var r=WPTB_Helper.detectMode();if(r){var l=new XMLHttpRequest,e=ajaxurl+"?action=get_table&id="+r;l.open("GET",e,!0),l.setRequestHeader("Content-type","application/x-www-form-urlencoded"),l.onreadystatechange=function(e){if(4!=this.readyState||200!=this.status);else{var t=JSON.parse(l.responseText);if(document.getElementById("wptb-setup-name").value=t[0],t[1]){var a=document.getElementsByClassName("wptb-table-setup")[0];a.appendChild(WPTB_Parser(t[1])),document.getElementsByTagName("body")[0],WPTB_Table();var n=document.querySelector(".wptb-preview-table");n&&(n.className.match(/wptb-element-((.+-)\d+)/i)||n.classList.add("wptb-element-main-table_setting-"+r),n.dataset.wptbTableContainerMaxWidth&&(a.style.maxWidth=n.dataset.wptbTableContainerMaxWidth+"px",n.tdDefaultWidth())),WPTB_Settings(),(new WPTB_TableStateSaveManager).tableStateSet()}else document.getElementsByClassName("wptb-table-generator")[0].style.display="table"}},l.send(null)}else(new WPTB_TableStateSaveManager).tableStateSet();document.counter=new ElementCounters,document.select=new MultipleSelect;WPTB_Initializer();settings=WPTB_Settings()})}();var WPTB_Cell=function(e,n){if(!n){(n=document.createElement("td")).style.padding=jQuery("#wptb-table-padding-number").val()+"px";var t=jQuery("#wptb-table-inner-border-number").val();""!=t&&0!=parseInt(t)&&(n.style.border=t+"px solid "+jQuery("#wptb-table-border-color").val()),n.classList.add("wptb-droppable","wptb-cell")}n.draggable=!1,e&&(n.onclick=e),n.ondblclick=function(e){e.stopPropagation();var t=document.querySelector(".wptb-table-setup");if(t&&!t.classList.contains("wptb-preview-table-manage-cells")&&("0"!==e.target.dataset.yIndex||"1"!==t.dataset.wptbSortableTable)&&e.target==e.currentTarget){WPTB_Helper.wptbDocumentEventGenerate("table:cell:dblclick",e.target);var a=WPTB_Helper.newElementProxy("text");a=a.getDOMElement(),n.appendChild(a),WPTB_innerElementSet(a)}},WPTB_innerElementSet(n),WPTB_Helper.elementStartScript(n,"table_cell_setting");var o=n.getElementsByClassName("wptb-ph-element");if(0<o.length)for(var a=function(r){o[r].getDOMElement=function(){return o[r]},WPTB_innerElementSet(o[r]);var l=o[r].className.match(/wptb-element-((.+-)\d+)/i);l&&Array.isArray(l)&&function(){var e=l[1].split("-");o[r].kind=e[0],applyGenericItemSettings(o[r],l[1]);var a=o[r].getElementsByClassName("wptb-in-element");if(0<a.length)for(var t=function(e){var t={getDOMElement:function(){return a[e]}};applyGenericItemSettings(t)},n=0;n<a.length;n++)t(n)}()},r=0;r<o.length;r++)a(r);return this.getDOMElement=function(){return n},this.setCoords=function(e,t){var a=this.getDOMElement();a.dataset.yIndex=e,a.dataset.xIndex=t},this.getCoords=function(){var e,t=this.getDOMElement();return e.x=t.dataset.xIndex,e.y=t.dataset.yIndex,e},this.appendElement=function(e){getDOMElement().appendChild(e)},n.getCellDimensions=function(){var e=window.getComputedStyle(this,null),t=e.getPropertyValue("padding-left"),a=e.getPropertyValue("padding-right"),n=e.getPropertyValue("border-left-width"),r=e.getPropertyValue("border-right-width"),l=e.getPropertyValue("padding-top"),o=e.getPropertyValue("padding-bottom"),s=e.getPropertyValue("border-top-width"),i=e.getPropertyValue("border-bottom-width"),d=parseInt(this.offsetWidth,10)-parseInt(t,10)-parseInt(a,10),c=parseInt(this.offsetHeight,10)-parseInt(l,10)-parseInt(o,10),p=WPTB_Helper.findAncestor(this,"wptb-preview-table");if(p)if("collapse"===p.style.borderCollapse){d=d-parseInt(n,10)/2-parseInt(r,10)/2,c=c-parseInt(s,10)/2-parseInt(i,10)/2;var u=window.getComputedStyle(p,null),m=u.getPropertyValue("border-left-width"),b=u.getPropertyValue("border-right-width"),f=u.getPropertyValue("border-top-width"),v=u.getPropertyValue("border-bottom-width"),w=this.parentNode;if(w&&"tr"===w.nodeName.toLowerCase()){w.firstChild&&w.firstChild.dataset.xIndex===this.dataset.xIndex&&parseInt(m,10)>parseInt(n,10)&&(d+=-(parseInt(m,10)-parseInt(n,10))/2),w.lastChild&&w.lastChild.dataset.xIndex===this.dataset.xIndex&&parseInt(b,10)>parseInt(r,10)&&(d+=-(parseInt(b,10)-parseInt(r,10))/2);var g=w.parentNode;g&&"body"===g.nodeName.toLowerCase()&&(g.firstChild&&g.firstChild.firstChild.dataset.yIndex===this.dataset.yIndex&&parseInt(f,10)>parseInt(s,10)&&(c+=(parseInt(f,10)-parseInt(s,10))/2),g.lastChild&&g.lastChild.firstChild.dataset.yIndex===this.dataset.yIndex&&parseInt(v,10)>parseInt(i,10)&&(c+=(parseInt(v,10)-parseInt(i,10))/2))}}else"separate"===p.style.borderCollapse&&(d=d-parseInt(n,10)-parseInt(r,10),c=c-parseInt(s,10)-parseInt(i,10));return{width:parseInt(d),height:parseInt(c)}},this};function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var WPTB_CutGlueTable={cutTableHorizontally:function(e,t){if(t&&t.rows[e])for(var a=0;a<e;a++)for(var n=t.rows[a].children,r=0;r<n.length;r++)if(1<n[r].rowSpan&&n[r].rowSpan>e-a){var l=n[r].rowSpan-e+a;n[r].rowSpan=e-a,n[r].dataset.sameCellBeforeDivision||(n[r].dataset.sameCellBeforeDivision="r"+a+"c"+r);var o=void 0;o=t.hasOwnProperty("wptbCell")?(o=new t.wptbCell(t.mark)).getDOMElement():document.createElement("td");var s=n[r].getAttribute("style");o.setAttribute("style",s),o.colSpan=n[r].colSpan,o.rowSpan=l,o.dataset.sameCellBeforeDivision=n[r].dataset.sameCellBeforeDivision;for(var i=n[r].dataset.xIndex,d=parseInt(i)+parseInt(n[r].colSpan),c=void 0;!c&&d<t.maxCols;)c=t.rows[e].querySelector('[data-x-index="'+d+'"]'),d++;t.rows[e].insertBefore(o,c),WPTB_RecalculateIndexes(t)}},glueTableHorizontally:function(e){if(e){for(var t=_toConsumableArray(e.getElementsByTagName("td")),a=0;a<t.length;a++)if(t[a].hasAttribute("data-same-cell-before-division"))for(var n=t[a].dataset.sameCellBeforeDivision,r=e.querySelectorAll('[data-same-cell-before-division="'+n+'"]'),l=0;l<r.length;l++)if(r[l]&&r[l+1]&&r[l].parentNode&&r[l+1].parentNode&&!r[l].parentNode.classList.contains("wptb-row-moving")&&!r[l+1].parentNode.classList.contains("wptb-row-moving")&&r[l+1].dataset.yIndex==parseInt(r[l].dataset.yIndex)+parseInt(r[l].rowSpan)){r[l].rowSpan+=r[l+1].rowSpan;for(var o=_toConsumableArray(r[l+1].children),s=0;s<o.length;s++)r[l].appendChild(o[s]);r[l+1].parentNode.removeChild(r[l+1])}WPTB_RecalculateIndexes(e)}},cutTableVertically:function(e,t){for(var a=0;a<t.rows.length;a++){if(e<t.maxCols&&0!=e&&!t.rows[a].querySelector('[data-x-index="'+e+'"]'))for(var n=t.rows[a].children,r=void 0,l=n.length,o=void 0,s=void 0,i=void 0,d=void 0,c=0;c<l;c++)if(1<n[c].colSpan&&parseInt(n[c].dataset.xIndex)<e&&parseInt(n[c].dataset.xIndex)+parseInt(n[c].colSpan)>e){r=t.hasOwnProperty("wptbCell")?(r=new t.wptbCell(t.mark)).getDOMElement():document.createElement("td"),s=n[c].rowSpan,i=n[c].colSpan,n[c].colSpan=e-n[c].dataset.xIndex,d=i-n[c].colSpan,n[c].dataset.sameCellBeforeDivision||(n[c].dataset.sameCellBeforeDivision="r"+a+"c"+c);var p=n[c].getAttribute("style");r.setAttribute("style",p);var u=t.querySelector('[data-x-index="'+e+'"]');u&&(r.style.width=u.style.width);var m=t.querySelector('[data-y-index="'+a+'"]');m&&(r.style.height=m.style.height),o=n[c+1]?n[c+1]:null,t.rows[a].insertBefore(r,o),r.colSpan=d,r.rowSpan=s,r.dataset.sameCellBeforeDivision=n[c].dataset.sameCellBeforeDivision,a+=s-1;break}WPTB_RecalculateIndexes(t)}},glueTableVertically:function(e){if(e){for(var t=_toConsumableArray(e.getElementsByTagName("td")),a=0;a<t.length;a++)if(t[a].hasAttribute("data-same-cell-before-division"))for(var n=t[a].dataset.sameCellBeforeDivision,r=_toConsumableArray(e.querySelectorAll('[data-same-cell-before-division="'+n+'"]')),l=null,o=0;o<r.length;o++)if(r[o]&&r[o+1]&&!r[o].classList.contains("wptb-column-moving")&&!r[o+1].classList.contains("wptb-column-moving")&&r[o+1].dataset.xIndex==parseInt(r[o].dataset.xIndex)+parseInt(r[o].colSpan)){null==l&&(l=o),r[l].colSpan+=r[o+1].colSpan;for(var s=_toConsumableArray(r[o+1].children),i=0;i<s.length;i++)r[l].appendChild(s[i]);r[o+1].parentNode.removeChild(r[o+1])}WPTB_RecalculateIndexes(e)}}},WPTB_DropHandle=function(s,e){var i,d,t,a,n,r,l=2<arguments.length&&void 0!==arguments[2]&&arguments[2];function o(e){return"".concat(e,"px")}if("td_relative"===WPTB_Helper.getDragRelativeType()){var c=document.querySelector(".wptb-cell-related-drop-handle");if(l&&c)return void(c.style.display="none");if(null===c){var p=document.createRange();p.setStart(document.body,0);var u=p.createContextualFragment('<div class="wptb-cell-related-drop-handle">Add to cell</div>').children[0];document.body.appendChild(u),c=u.children[0]}var m=WPTB_Helper.getParentOfType("td",s).getBoundingClientRect(),b=m.top,f=m.left,v=m.width,w=m.height;if(!c)return;return c.style.display="flex",c.style.top=o(b),c.style.width=o(v),c.style.height=o(w),void(c.style.left=o(f))}if(0==document.getElementsByClassName("wptb-drop-handle").length){(i=document.createElement("div")).classList.add("wptb-drop-handle"),(d=document.createElement("div")).classList.add("wptb-drop-border-marker"),t=document.createElement("div"),a=document.createElement("div"),n=document.createElement("div"),r=document.createElement("div"),t.classList.add("wptb-drop-border-marker-top"),a.classList.add("wptb-drop-border-marker-right"),n.classList.add("wptb-drop-border-marker-bottom"),r.classList.add("wptb-drop-border-marker-left"),d.appendChild(t),d.appendChild(a),d.appendChild(n),d.appendChild(r);var g=document.getElementsByTagName("body");0<g.length&&(g[0].appendChild(i),g[0].appendChild(d)),i.ondragenter=function(){if(e.target.classList.contains("wptb-empty"))return e.preventDefault(),!1},i.ondragover=function(e){e.preventDefault()},i.ondragleave=function(){},i.ondrop=function(e){var t,a;if(e.preventDefault(),e.dataTransfer.getData("wptbElement")?t=(t=WPTB_Helper.newElementProxy(e.dataTransfer.getData("wptbElement"))).getDOMElement():((t=document.getElementsByClassName(e.dataTransfer.getData("node"))[0]).classList.remove("wptb-moving-mode"),t.classList.remove("wptb-moving-into-same-elem"),t.wptbMovingMode=1),"Drop Here"==i.dataset.text)"td"==(s=i.getDOMParentElement()).nodeName.toLowerCase()&&((a=i.getDOMParentElement()).appendChild(t),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t));else{var n=i.getDOMParentElement();if(a=n.parentNode,"Above Element"==i.dataset.text)a.insertBefore(t,n),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t);else if("Below Element"==i.dataset.text){var r=n.nextSibling;a.insertBefore(t,r),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t)}}var l=a.parentNode;if(WPTB_Helper.rowIsTop(l)){var o=WPTB_Helper.findAncestor(l,"wptb-preview-table");o.classList.contains("wptb-table-preview-head")&&WPTB_Helper.dataTitleColumnSet(o)}(i.style.display="none",d.style.display="none",WPTB_innerElementSet(t),t.classList.contains("wptb-image-container")&&1!=t.wptbMovingMode)||((new WPTB_TableStateSaveManager).tableStateSet(),t.wptbMovingMode)},document.querySelector(".wptb-container").onscroll=function(){i.style.display="none",d.style.display="none"}}else i=document.getElementsByClassName("wptb-drop-handle")[0],d=document.getElementsByClassName("wptb-drop-border-marker")[0];if(!(s&&"td"==s.nodeName.toLowerCase()&&0!=s.getElementsByClassName("wptb-ph-element").length||s&&"td"==s.nodeName.toLowerCase()&&s.classList.contains("wptb-empty"))){var h;if("td"==s.localName?h=s.parentNode:"div"==s.localName&&s.classList.contains("wptb-ph-element")&&(h=s.parentNode.parentNode),WPTB_Helper.rowIsTop(h))if(WPTB_Helper.findAncestor(h,"wptb-preview-table").classList.contains("wptb-table-preview-head")){for(var y=e.dataTransfer.types,S=!1,T=0;T<y.length;T++){var C=y[T].match(/wptbelindic-([a-z]+)/i);if(C&&"text"!=C[1]){S=!0;break}}if(S)return}i.style.width=s.offsetWidth+"px";var _,B=s.offsetHeight,E=s.getBoundingClientRect(),A=parseFloat(E.left);if(i.style.left=A+"px",-1!=e.dataTransfer.types.indexOf("wptb-moving-mode")){var x=document.getElementsByClassName("wptb-moving-mode")[0];s==x?(i.classList.add("wptb-moving-into-same-elem"),d.classList.add("wptb-moving-into-same-elem")):(i.classList.remove("wptb-moving-into-same-elem"),d.classList.remove("wptb-moving-into-same-elem"))}if(i.getDOMParentElement=function(){return s},i.style.display="block",d.style.display="block","td"!=s.nodeName.toLowerCase()){var P=null==e.offsetY?e.layerY:e.offsetY;_=parseFloat(E.top)-parseFloat(11),i.dataset.text="Above Element",B/2<P&&(_=parseFloat(E.top)+B-1,i.dataset.text="Below Element")}else i.dataset.text="Drop Here",_=parseFloat(E.top)+B/2-5;i.style.top=_+"px",d.style.top=E.top+"px",d.style.left=E.left+"px",(t=d.querySelector(".wptb-drop-border-marker-top")).style.width=parseFloat(s.offsetWidth)-parseFloat(1)+"px",(a=d.querySelector(".wptb-drop-border-marker-right")).style.height=parseFloat(E.bottom)-parseFloat(E.top)-1+"px",a.style.left=t.style.width,(n=d.querySelector(".wptb-drop-border-marker-bottom")).style.width=t.style.width,n.style.top=a.style.height,(r=d.querySelector(".wptb-drop-border-marker-left")).style.height=a.style.height}},ElementCounters=function(){var t=[];return t.text=0,t.image=0,t.list=0,t.button=0,this.increment=function(e){e in t&&t[e]++},this.nextIndex=function(e){if(e in t)return t[e]+1},this},WPTB_ElementObject=function(e){var t,a,n;if(e.elemProt){(t=e.elemProt.cloneNode(!0)).classList.remove("wptb-directlyhovered");var r=e.elemProt.className.match(/wptb-element-((.+-)\d+)/i);r&&Array.isArray(r)&&(a=r[1]),n=!0,e.tinyMceClear&&(t=WPTB_Helper.elementClearFromTinyMce(t))}else{a=void 0,n=!1,(t=document.createElement("div")).classList.add("wptb-"+e.kind+"-container","wptb-ph-element");var l="wptb-"+e.kind+"-content",o=wp.template(l);e.node=t;var s=o(e);s=s.replace(/\r|\n|\t/g,"").trim(),t.innerHTML=s}var i=t.querySelectorAll(".wptb-in-element");if(0<i.length)for(var d=function(e){var t={getDOMElement:function(){return i[e]}};applyGenericItemSettings(t)},c=0;c<i.length;c++)d(c);return window.addEventListener("item:onmouseenter",function(e){},!1),this.kind=e.kind,this.getDOMElement=function(){return t},applyGenericItemSettings(this,a,n),this},WPTB_ElementOptions=function(e,t,a){e.getDOMElement().addEventListener("click",function(){WPTB_Helper.elementOptionsSet(e.kind,this)},{capture:!0})},WPTB_HeaderToolbox=function(e){var a=this;this.wrapperQuery=e,this.element=document.querySelector(e),this.topMargin=2;return{init:function(){var e;(e=a.element.querySelector('[data-button-type="table_settings_menu"]'))&&e.addEventListener("click",function(){WPTB_Helper.activateSection("manage_cells")}),document.addEventListener("wptb:table:generated",function(){a.element.style.display="unset";var e=a.element.getBoundingClientRect().width;a.element.style.left="calc( 50% - ".concat(e/2,"px)"),document.addEventListener("wptbSectionChanged",function(e){var t=e.detail;!function(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0],t=a.element.getBoundingClientRect().height;e&&(t=0),a.element.style.top="calc( 100% - ".concat(t+a.topMargin,"px)")}("manage_cells"!==t&&"table_responsive_menu"!==t&&"cell_settings"!==t)})})}}};function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var WPTB_Helper={hexToRgb:function(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?"rgb("+parseInt(t[1],16)+","+parseInt(t[2],16)+","+parseInt(t[3],16)+")":null},rgbToHex:function(e){if(e){if(WPTB_Helper.isHex(e))return e;var t=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?((?:[0-9]*[.])?[0-9]+)[\s+]?\)/i);return t&&5===t.length?"#"+("0"+Math.round(255*parseFloat(t[4],10)).toString(16).toUpperCase()).slice(-2)+("0"+parseInt(t[1],10).toString(16).toUpperCase()).slice(-2)+("0"+parseInt(t[2],10).toString(16).toUpperCase()).slice(-2)+("0"+parseInt(t[3],10).toString(16).toUpperCase()).slice(-2):(t=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===t.length?"#"+("0"+parseInt(t[1],10).toString(16).toUpperCase()).slice(-2)+("0"+parseInt(t[2],10).toString(16).toUpperCase()).slice(-2)+("0"+parseInt(t[3],10).toString(16).toUpperCase()).slice(-2):""}return""},isHex:function(e){return new RegExp("^#(?:[A-Fa-f0-9]{3}){1,2}$").test(e)},getElementIcon:function(e){location.protocol,location.hostname;var t=document.createElement("img");return t.src=e,t},elementDragEndClear:function(){var e=document.getElementsByClassName("wptb-moving-mode");if(0<e.length)for(var t=0;t<e.length;t++)e[t].classList.remove("wptb-moving-mode");var a=document.getElementsByClassName("wptb-drop-handle");if(0<a.length)for(var n=0;n<a.length;n++)a[n].style.display="none";var r=document.getElementsByClassName("wptb-drop-border-marker");if(0<r.length)for(var l=0;l<r.length;l++)r[l].style.display="none"},linkHttpCheckChange:function(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1];if(e){if(e.match(/^(javascript:)(.+)$/))return e;if(e.match(/^\/([\S]+)$/)){if(t){var a=document.location.origin;return a.match(/^(.+)\/$/)&&(a=a.slice(-1)),"".concat(a).concat(e)}return e}if(-1!=e.indexOf("http://")||-1!=e.indexOf("https://"))return e;var n,r=e.split("/");return Array.isArray(r)&&0<r.length&&(n=r[r.length-1]),document.location.protocol+"//"+n}return""},dataTitleColumnSet:function(e){},findAncestor:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e},rowIsTop:function(e){return e.parentNode.children[0]==e},getSelectionText:function(){return window.getSelection?window.getSelection().toString():document.selection.createRange().text},elementOptionsPanelClear:function(){var e=document.getElementById("element-options-group");e&&(e.innerHTML="")},wpColorPickerCheckChangeForTableStateSaving:function(e){if("external"==e.originalEvent.type)(new WPTB_TableStateSaveManager).tableStateSet();else if(WPTB_Helper.findAncestor(e.target,"wp-picker-container")&&("square"==e.originalEvent.type||"strip"==e.originalEvent.type)){var t=document.getElementsByTagName("body")[0];t.removeEventListener("mouseup",WPTB_Helper.irisStripMouseUpStateSaveManager,!1),t.addEventListener("mouseup",WPTB_Helper.irisStripMouseUpStateSaveManager,!1)}},irisStripMouseUpStateSaveManager:function(){(new WPTB_TableStateSaveManager).tableStateSet(),document.getElementsByTagName("body")[0].removeEventListener("mouseup",WPTB_Helper.irisStripMouseUpStateSaveManager,!1)},wpColorPickerClear:function(e,t){var a;t?(a=[document.getElementById(e)]).length=1:a=document.getElementsByClassName(e);for(var n=0;n<a.length;n++){var r=WPTB_Helper.findAncestor(a[n],"wp-picker-container");if(r){var l=r.parentNode;l.removeChild(r);var o=document.createElement("input");t?o.setAttribute("id",e):o.classList.add("wptb-element-property",e),o.value="",l.appendChild(o)}}},detectMode:function(){var e=window.location.href,t=new RegExp("[?&]table(=([^&#]*)|&|#|$)").exec(e);return!!t&&(t[2]?decodeURIComponent(t[2].replace(/\+/g," ")):"")},getTableId:function(){var e=WPTB_Helper.detectMode();return e||(e="startedid-0"),e},getColumnWidth:function(e,t){for(var a=t.dataset.xIndex,n=e.querySelectorAll('[data-x-index="'+a+'"]'),r=t.getCellDimensions().width,l=0;l<n.length;l++)r>n[l].getCellDimensions().width&&(r=n[l].getCellDimensions().width);return r},getRowHeight:function(e,t){for(var a=t.dataset.yIndex,n=e.querySelectorAll('[data-y-index="'+a+'"]'),r=t.getCellDimensions().height,l=0;l<n.length;l++)r>n[l].getCellDimensions().height&&(r=n[l].getCellDimensions().height);return r},newElementProxy:function(e){if(e)return new WPTB_ElementObject({kind:e})},wpColorPickerChange:function(e,t){var a;a=t?t.color.toString():"";var n,r,l,o=WPTB_Helper.findAncestor(e.target,"wp-picker-input-wrap").getElementsByClassName("wptb-color-picker")[0];r=(n=o.dataset.element.match(/wptb-options-(.+)-(\d+)/i))[1],l=n[2];var s=document.getElementsByClassName("wptb-element-"+r+"-"+l)[0];if("button"==r)"button-text-color"==o.dataset.type?s.getElementsByClassName("wptb-button")[0].style.color=a:s.getElementsByClassName("wptb-button")[0].style.backgroundColor=a;else if("list"==r){var i=s.querySelectorAll("p");if(0<i.length)for(var d=0;d<i.length;d++)i[d].style.color=a}else if("star_rating"==r){if("star-color"==o.dataset.type)for(var c=s.querySelectorAll("li"),p=0;p<c.length;p++)for(var u=c[p].getElementsByTagName("span"),m=0;m<u.length;m++)u[m].style.fill=a;else if("numeral-rating-color"==o.dataset.type){s.querySelector(".wptb-number-rating").style.color=a}}else s.style.color=a},numberImputSize:function(e,t,a){e.onkeydown=function(){var e=this.value;0==(e=String(e))[0]?this.value="":(e=e.substring(0,t),this.value=e)},e.onkeyup=function(){var e=this.value;parseInt(e,10)>parseInt(a,10)&&(this.value=a),(new WPTB_TableStateSaveManager).tableStateSet()}},ucfirst:function(e){return e.charAt(0).toUpperCase()+e.slice(1)},wptbDocumentEventGenerate:function(e,t,a){if(e&&t){a||(a=!0);var n=new CustomEvent(e,{detail:a,bubbles:!0});t.dispatchEvent(n)}},elementStartScript:function(e,t){if(!t){var a=e.className.match(/wptb-element-(.+)-(\d+)/i);a&&Array.isArray(a)&&(t=a[1])}t&&t in WPTB_ElementsScriptsLauncher&&WPTB_ElementsScriptsLauncher[t](e)},deleteEventHandlers:function(e){if(e){jQuery(e).off();var t=e.children;if(t)for(var a=0;a<t.length;a++)WPTB_Helper.deleteEventHandlers(t[a])}},replaceAll:function(e,t,a){return e.split(t).join(a)},elementClearFromTinyMce:function(e){var t=e.querySelectorAll(".mce-content-body");if(0<t.length)for(var a=0;a<t.length;a++)t[a].classList.remove("mce-content-body");var n=e.querySelectorAll("[data-mce-style]");if(0<n.length)for(var r=0;r<n.length;r++)n[r].removeAttribute("data-mce-style");var l=e.querySelectorAll(".mce-edit-focus");if(0<l.length)for(var o=0;o<l.length;o++)l[o].classList.remove("mce-edit-focus");var s=e.querySelectorAll("[contenteditable]");if(0<s.length)for(var i=0;i<s.length;i++)s[i].removeAttribute("contenteditable");var d=e.querySelectorAll("[spellcheck]");if(0<d.length)for(var c=0;c<d.length;c++)d[c].removeAttribute("spellcheck");var p=e.querySelectorAll("[id^=mce_]");if(0<p.length)for(var u=0;u<p.length;u++)p[u].removeAttribute("id");return e},elementOptionContainerCustomClassSet:function(e,t){if(e&&t){var a=WPTB_Helper.findAncestor(e,"wptb-element-option");a&&a.classList.add(t)}},elementOptionContainerAdditionalStyles:function(e,t){if(e&&t){var a=WPTB_Helper.findAncestor(e,"wptb-element-option"),n=t.split(";");if(a&&n){var r=function(e,t){e&&(containerStyleStrArr=e.split(":"),containerStyleStrArr&&Array.isArray(containerStyleStrArr)&&(t.style[containerStyleStrArr[0]]=containerStyleStrArr[1]))};if(n&&Array.isArray(n))for(var l=0;l<n.length;l++)n[l]&&r(n[l],a);else r(n,a)}}},controlsInclude:function(s,i){var d=2<arguments.length&&void 0!==arguments[2]&&arguments[2];s&&"object"===_typeof(s)&&"function"==typeof i&&s.addEventListener("element:controls:active",function(){s.hasOwnProperty("controlConnectFunctionsName")&&Array.isArray(s.controlConnectFunctionsName)&&-1!=s.controlConnectFunctionsName.indexOf(i.name)||function(){var a,e=s.className.match(/wptb-element-(.+)-(\d+)/i);if(e&&Array.isArray(e)&&(a=e[1]),a){var t=s.optionsGroupIds;if(t&&Array.isArray(t))for(var n=0;n<t.length;n++){var r=t[n],l=document.getElementById(r).querySelectorAll(".wptb-element-property");(l=_toConsumableArray(l)).map(function(e){var t=new RegExp("wptb-el-"+a+"-(\\d+)-([a-zA-Z0-9_-]+)","i"),l=e.className.match(t);if(l&&Array.isArray(l)){var o=l[0];s.addEventListener("wptb-control:"+o,function(e){var t={},a=l[2],n=document.getElementsByClassName(o);if(0<n.length&&a){var r=WPTB_Helper.targetControlValueGet(n);t[a]=d?{targetValue:r,eventValue:e.detail.value}:r}i(t,s)},!1)}})}s.controlConnectFunctionsName||Array.isArray(s.controlConnectFunctionsName)||(s.controlConnectFunctionsName=[]),s.controlConnectFunctionsName.push(i.name)}}()},!1)},oneControlInclude:function(n,r,e){if(!n||"object"!==_typeof(n)||"function"!=typeof r||"string"!=typeof e)return!1;var t=n.className.match(/wptb-element-((.+-)\d+)/i);if(t&&Array.isArray(t)){var a="wptb-"+t[1].split("-")[0]+"-control-stack",l=wp.template(a)({container:"."+t[0]}),o=JSON.parse(l);if(o&&"object"===_typeof(o)&&o.hasOwnProperty(e)){var s="wptb-el-"+t[1]+"-"+e;n.addEventListener("wptb-control:"+s,function(e){var t=document.getElementsByClassName(s);if(0<t.length){var a=WPTB_Helper.targetControlValueGet(t);r(a,n)}},!1)}}},innerElementCopyIncludeHandler:function(a,n){a&&"object"===_typeof(a)&&"function"==typeof n&&a.addEventListener("wptb-inner-element:copy",function(e){var t=e.detail;t&&(WPTB_Helper.elementClearFromTinyMce(t),n(t,a))},!1)},valueDependOnControl:function(a,n,r,l,o){function s(e,a,t){"string"==typeof e&&(e=[e]);var n=a.match(/wptb-el-((.+-)\d+)-(.+)/i),r={},l=[];if(n&&Array.isArray(n)){var o,s=n[3],i={};Array.isArray(t)&&(Array.isArray(t[0])?t.map(function(e){i[e[0]]=[e[1],e[2]]}):i[t[0]]=[t[1],t[2]]),e.map(function(e){var t=a.replace(s,e);t&&0<(o=document.getElementsByClassName(t)).length&&o[0].type&&(r[e]=o[0].value,e in i&&("integer"===i[e][1]?r[e]=parseInt(r[e])+parseInt(i[e][0]):"string"===i[e][1]&&(r[e]=r[e]+i[e][0])),l.push(o[0]))})}return[r,l]}var e=s(a,n,r);WPTB_Helper.elementOptionsSet(l,o,e[0],n),Object.keys(e[0]).forEach(function(e){var t="wptb-el-"+o.className.match(/wptb-element-((.+-)\d+)/i)[1]+"-"+[e];o.addEventListener("wptb-control:".concat(t),function(e){var t=s(a,n,r);WPTB_Helper.elementOptionsSet(l,o,t[0],n)},!1)})},appearDependOnControl:function(e,t){if(Array.isArray(e)){var l=function(e,t){var a="block";Object.keys(t).map(function(e){Object.prototype.hasOwnProperty.call(t,e)&&!1===t[e][0]&&(a="none")}),e.style.display=a},o=function(e,t){for(var a=WPTB_Helper.targetControlValueGet(e),n=!1,r=1;r<=2;r++)if(t[r]&&Array.isArray(t[r])){for(var l=void 0,o=!1,s=0;s<t[r].length;s++)if("string"==typeof t[r][s]&&-1!==t[r][s].indexOf("numberAny >")){if(o=!0,!(parseInt(t[r][s].match(/\d+/))<a)){l=!1;break}l=!0}else if("string"==typeof t[r][s]&&-1!==t[r][s].indexOf("numberAny <")){if(o=!0,!(a<parseInt(t[r][s].match(/\d+/)))){l=!1;break}l=!0}else if(t[r][s]===a&&(l=!0,!o))break;if(l&&1===r){n=!0;break}if(l&&2===r){n=!1;break}}return n};if("string"==typeof e[0])e=[e];else if(!Array.isArray(e[0]))return;for(var a={},n=0;n<e.length;n++){var r=e[n],s=r[0],i=t.match(/wptb-el-((.+-)\d+)-(.+)/i);if(i&&Array.isArray(i)){var d=i[3],c=t.replace(d,s);if(c){var p=document.getElementsByClassName(c);0<p.length&&(a[r[0]]=[o(p,r),p,r])}}}var u=document.getElementsByClassName(t);if(0<u.length){u=u[0];var m=WPTB_Helper.findAncestor(u,"wptb-element-option");m&&(l(m,a),Object.keys(a).map(function(e){Object.prototype.hasOwnProperty.call(a,e)&&a[e][1][0].addEventListener("change",function(e,t,a){var n=t[a][2],r=t[a][1];t[n[0]]=[o(r,n),r,n],l(e,t)}.bind(null,m,a,e),!1)}))}}},controlsStateManager:function(e,t){var a=document.getElementsByClassName(e);if(0<a.length){var n=e.match(/wptb-el-((.+-)\d+)-(.+)/i);if(n&&Array.isArray(n))if(document.querySelector(".wptb-element-"+n[1])){var r,l,o={};if(0==(r=document.getElementsByClassName("wptb-element-datas")).length||""==r[0].innerHTML){var s=WPTB_Helper.targetControlValueGet(a);o["data-"+e]=s,(l={})["tmpl-wptb-el-datas-"+n[1]]=o,l=JSON.stringify(l),0==r.length?((r=document.createElement("script")).setAttribute("type","text/html"),r.setAttribute("class","wptb-element-datas")):r=r[0],r.innerHTML=l,document.getElementsByTagName("body")[0].appendChild(r)}else if((l=(r=r[0]).innerHTML)&&(l=l.trim(),(l=JSON.parse(l))&&"object"===_typeof(l)))if(t){var i=WPTB_Helper.targetControlValueGet(a);"tmpl-wptb-el-datas-"+n[1]in l&&"object"===_typeof(l["tmpl-wptb-el-datas-"+n[1]])||(l["tmpl-wptb-el-datas-"+n[1]]={}),l["tmpl-wptb-el-datas-"+n[1]]["data-"+e]=i,r.innerHTML=JSON.stringify(l)}else if("tmpl-wptb-el-datas-"+n[1]in l&&"object"===_typeof(l["tmpl-wptb-el-datas-"+n[1]])&&"data-"+e in l["tmpl-wptb-el-datas-"+n[1]]){if("tmpl-wptb-el-datas-"+n[1]in l&&"object"===_typeof(l["tmpl-wptb-el-datas-"+n[1]])&&"data-"+e in l["tmpl-wptb-el-datas-"+n[1]])for(var d=0;d<a.length;d++)if("checkbox"==a[d].type){var c=void 0;"checked"==(c=a[d].name?l["tmpl-wptb-el-datas-"+n[1]]["data-"+e][a[d].name]:l["tmpl-wptb-el-datas-"+n[1]]["data-"+e])?a[d].checked=!0:"unchecked"==c&&(a[d].checked=!1)}else a[d].value=l["tmpl-wptb-el-datas-"+n[1]]["data-"+e]}else{var p=WPTB_Helper.targetControlValueGet(a);"tmpl-wptb-el-datas-"+n[1]in l&&"object"===_typeof(l["tmpl-wptb-el-datas-"+n[1]])||(l["tmpl-wptb-el-datas-"+n[1]]={}),l["tmpl-wptb-el-datas-"+n[1]]["data-"+e]=p,r.innerHTML=JSON.stringify(l)}}}},targetControlValueGet:function(e){for(var t,a=0;a<e.length;a++)"checkbox"==e[a].type&&e[a].name?(t||(t={}),1==e[a].checked?t[e[a].name]="checked":t[e[a].name]="unchecked"):"checkbox"==e[a].type?t=1==e[a].checked?"checked":"unchecked":e[a].type?t=e[a].value:e[a].dataset.alignmentValue&&e[a].classList.contains("selected")&&(t=e[a].dataset.alignmentValue);return t},elementControlsStateCopy:function(e,t){if(e&&t){var a=e.className.match(/wptb-element-((.+-)\d+)/i),n=t.className.match(/wptb-element-((.+-)\d+)/i);if(a&&Array.isArray(a)&&n&&Array.isArray(n)){var r=a[1],l=n[1],o=document.getElementsByClassName("wptb-element-datas");if(0<o.length){var s=(o=o[0]).innerHTML;if(s&&(s=s.trim(),(s=JSON.parse(s))&&"object"===_typeof(s))){var i=s["tmpl-wptb-el-datas-"+r];if(i&&"object"===_typeof(i)){var d={};Object.keys(i).forEach(function(e){var t=i[e],a=e.replace(r,l);d[a]=t}),0<Object.keys(d).length&&(s["tmpl-wptb-el-datas-"+l]=d,s=JSON.stringify(s),o.innerHTML=s)}}}}}},elementControlsStateDelete:function(e,t){var a=e.className.match(/wptb-element-(.+)-(\d+)/i),n=document.getElementsByTagName("body")[0],r=n.getElementsByClassName("wptb-element-datas");if(a&&Array.isArray(a)&&0<r.length){var l=(r=r[0]).innerHTML;l&&(l=l.trim(),(l=JSON.parse(l))&&"object"===_typeof(l)&&"tmpl-wptb-el-datas-"+a[1]+"-"+a[2]in l&&(t?l["tmpl-wptb-el-datas-"+a[1]+"-"+a[2]]&&"object"===_typeof(l["tmpl-wptb-el-datas-"+a[1]+"-"+a[2]])&&"data-wptb-el-"+a[1]+"-"+a[2]+"-"+t in l["tmpl-wptb-el-datas-"+a[1]+"-"+a[2]]&&delete l["tmpl-wptb-el-datas-"+a[1]+"-"+a[2]]["data-wptb-el-"+a[1]+"-"+a[2]+"-"+t]:delete l["tmpl-wptb-el-datas-"+a[1]+"-"+a[2]],0==Object.keys(l).length?n.removeChild(r):(l=JSON.stringify(l),r.innerHTML=l)))}},elementOptionsSet:function(b,e,f,v){var t,w,g,h,y,l,S,a="wptb-"+b+"-control-stack",n=wp.template(a),T=e.className.match(/wptb-element-((.+-)\d+)/i);if(T)WPTB_Helper.editActionClassRemove(),e.classList.add("edit-active");else{var r=WPTB_Helper.detectMode();if(r||(r="startedid-0"),e.classList.contains("wptb-preview-table"))e.classList.add("wptb-element-main-table_setting-"+r);else if(e.classList.contains("wptb-cell")){document.querySelector(".wptb-element-table_cell_setting-"+e.dataset.xIndex+"-"+e.dataset.yIndex)||e.classList.add("wptb-element-table_cell_setting-"+e.dataset.xIndex+"-"+e.dataset.yIndex)}else e.classList.contains("wptb-responsive")&&(r.startsWith("wptb_team")&&(r="startedid-0"),e.classList.add("wptb-element-table_responsive_setting-"+r));T=e.className.match(/wptb-element-((.+-)\d+)/i)}if(t={container:"."+T[0],valueDependOnControl:{}},f&&Object.keys(f).forEach(function(e){t.valueDependOnControl[e]=f[e]}),v){var o=v.match(/wptb-el-((.+-)\d+)-(.+)/i);o&&Array.isArray(o)&&(S=o[3])}if(w=T[0],g=T[1],e.classList.contains("wptb-preview-table"));else if(e.classList.contains("wptb-cell"))this.activateSection("cell_settings");else if(e.classList.contains("wptb-responsive"))elementOptionsGroupId="table-responsive-group",wptbelementOptionClass="wptb-element-option";else{for(var s=document.getElementById("element-options-group").childNodes,i=0;i<s.length;i++)s[i].style&&(s[i].style.display="none");this.activateSection("options_group")}var d=n(t),C=JSON.parse(d),_=[],B={},E={},A={},x=[],P=[];if(S){var c={};c[S]=C[S],C=c}Object.keys(C).forEach(function(e){var t=C[e];t.controlKey=e;var a=wp.template("wptb-"+t.type+"-control");t.elemContainer=w,t.elementControlTargetUnicClass="wptb-el-"+g+"-"+t.controlKey,Object.keys(t).map(function(e){Object.prototype.hasOwnProperty.call(t,e)&&"control_param_calculate_value"===t[e]&&(t[e]=WPTB_Helper.controlParamCalculateValue(t.elementControlTargetUnicClass,e))});var n=a(t);if("appearDependOnControl"in t&&Array.isArray(t.appearDependOnControl)&&x.push([t.appearDependOnControl,t.elementControlTargetUnicClass]),"valueDependOnControl"in t&&!f&&!v){var r="";t.valueDependOnControlCorrect&&(r=t.valueDependOnControlCorrect),P.push([t.valueDependOnControl,t.elementControlTargetUnicClass,r])}if(-1==_.indexOf(t.elementOptionsGroupId)&&!S){_.push(t.elementOptionsGroupId),h=document.getElementById(t.elementOptionsGroupId);for(var l=_toConsumableArray(h.children),o=0;o<l.length;o++)h.removeChild(l[o]);B[t.elementOptionsGroupId]=h}if(y=B[t.elementOptionsGroupId],"true"!==t.elementOptionsContainerOn||S||(y=function(e,t){if(!t[e]){var a=document.createElement("div");a.classList.add("wptb-element-options","wptb-options-"+T[1]),document.getElementById(e).appendChild(a),t[e]=a}return t[e]}(t.elementOptionsGroupId,E)),"true"===t.elementOptionContainerOn){var s=document.createElement("div");if(s.classList.add(t.elementOptionClass,"wptb-settings-items"),t.customClassForContainer&&s.classList.add(t.customClassForContainer),t.containerAdditionalStyles&&s.setAttribute("style",t.containerAdditionalStyles),v){var i=document.getElementsByClassName(v);if(0<i.length){i=i[0];var d=WPTB_Helper.findAncestor(i,"wptb-element-option");if(d){var c=d.parentNode;c.insertBefore(s,d),c.removeChild(d)}}}else y.appendChild(s);y=s}y.innerHTML=y.innerHTML+n;var p=y.getElementsByTagName("wptb-template-script");if(0<p.length){var u=(p=p[0]).innerText;y.removeChild(p);var m=document.createElement("script");m.setAttribute("type","text/javascript"),m.setAttribute("id",b+"-"+t.controlKey),m.innerHTML=u.replace(/\r|\n|\t/g,"").trim(),A[t.elementOptionsGroupId]&&Array.isArray(A[t.elementOptionsGroupId])||(A[t.elementOptionsGroupId]=[]),A[t.elementOptionsGroupId].push(m)}0}),e.optionsGroupIds=_,Object.keys(A).forEach(function(e){v||((l=document.createElement("div")).classList.add("wptb-element-options-scripts","wptb-options-"+T[1]),B[e].appendChild(l));var t=A[e];if(0<t.length)for(var a=0;a<t.length;a++)if(v){var n=b+"-"+S,r=document.getElementById(n);(l=r.parentNode).insertBefore(t[a],r),l.removeChild(r)}else l.appendChild(t[a])});for(var p=0;p<x.length;p++)WPTB_Helper.appearDependOnControl(x[p][0],x[p][1]);WPTB_Helper.wptbDocumentEventGenerate("element:controls:active",e);for(var u=0;u<P.length;u++)WPTB_Helper.valueDependOnControl(P[u][0],P[u][1],P[u][2],b,e)},editActionClassRemove:function(){for(var e=document.querySelectorAll(".edit-active"),t=0;t<e.length;t++)e[t].classList.remove("edit-active")},controlParamCalculateValue:function(e,t){var a=WPTB_Helper.replaceAll(e,"-","_");if(window["paramCalculateValue_"+a+"_"+t]&&"function"==typeof window["paramCalculateValue_"+a+"_"+t])return window["paramCalculateValue_"+a+"_"+t]()},controlParamCalculateValueCreateFunction:function(e,t,a,n){var r="wptb-el-"+e.className.match(/wptb-element-((.+-)\d+)/i)[1]+"-"+t,l=WPTB_Helper.replaceAll(r,"-","_");window["paramCalculateValue_"+l+"_"+a]=function(){return n(e)}},managerExternalCssStyles:function(e,t,a,n){var r=e.match(/wptb-element-main(.+)-(\d+)/i);if(!r||!Array.isArray(r)){var l=document.getElementsByClassName("wptb-preview-table");if(0<l.length){var o=(l=l[0]).className.match(/wptb-element-main(.+)-(\d+)/i);o&&Array.isArray(o)&&(t="."+o[0]+" "+t)}}var s=document.head;if(s){var i=s.querySelector("#styles-"+e);if(i){var d=i.innerHTML;if(d){var c=d.split("}");c.pop();for(var p=!1,u=0;u<c.length;u++){var m=c[u].split("{");if(m[0]===t){var b=m[1].split(";");b.pop();for(var f=!1,v=0;v<b.length;v++){if(b[v].split(":")[0]===a){n?b[v]=a+":"+n:b.splice(v,1),m[1]=b.join(";")?b.join(";")+";":"",f=!0;break}}f||n&&(m[1]+=a+":"+n+";"),m[1]?c[u]=m[0]+"{"+m[1]:c.splice(u,1),c.join("}")?i.innerHTML=c.join("}")+"}":s.removeChild(i),p=!0;break}}p||(i.innerHTML=n?d+t+"{"+a+":"+n+";}":d)}else n?i.innerHTML=t+"{"+a+":"+n+";}":s.removeChild(i)}else if(n){var w=document.createElement("style");w.setAttribute("id","styles-"+e),w.classList.add("styles-wptb-elements"),w.innerHTML=t+"{"+a+":"+n+";}",s.appendChild(w)}}},registerSections:function(e){var a=this;this.sections={},this.currentSection="",Array.isArray(e)||(e=[e]),e.map(function(e){var t=document.querySelector("[data-wptb-section=".concat(e,"]"));t&&(a.sections[e]=t)})},activateSection:function(a){var n=this,r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"block";this.currentSection=a,this.triggerSectionEvent(a),Object.keys(this.sections).map(function(e){if(Object.prototype.hasOwnProperty.call(n.sections,e)){var t=a===e?r:"none";n.sections[e].style="display: ".concat(t," !important")}})},getCurrentSection:function(){return this.currentSection},getSectionFromUrl:function(){var t=new URL(window.location.href).searchParams.get("wptb-builder-section");t&&Object.keys(this.sections).some(function(e){return e===t})&&this.activateSection(t)},setupSectionButtons:function(){var e=Array.from(document.querySelectorAll("[data-wptb-section-button")),n=this;e.map(function(t){var a=t.dataset.wptbSectionButton;t.addEventListener("click",function(){var e=t.dataset.wptbSectionDisplayType;n.activateSection(a,e),WPTB_Helper.editActionClassRemove()}),document.addEventListener("wptbSectionChanged",function(e){e.detail===a?(t.classList.remove("disabled"),t.classList.add("active")):(t.classList.remove("active"),t.classList.add("disabled"))})})},setupPanelToggleButtons:function(){var t=jQuery;t(".wptb-panel-toggle-group").each(function(){var e=t(this);t(this).find(".toggle-icon").click(function(){e.find(".wptb-panel-toggle-target").slideToggle(),e.toggleClass("wptb-panel-toggle-content")})})},triggerSectionEvent:function(e){var t=new CustomEvent("wptbSectionChanged",{detail:e});document.dispatchEvent(t)},setupSidebarToggle:function(e){var t=document.querySelector(e);t&&t.addEventListener("click",function(e){e.preventDefault(),document.body.classList.toggle("collapsed")})},externalCssStylesDelete:function(e){var t=document.head;if(t){var a=t.querySelector("#styles-"+e);a&&t.removeChild(a)}},externalCssStylesCopy:function(e,t){if(e){var a=e.className.match(/wptb-element-(.+)-(\d+)/i);if(a&&Array.isArray(a)){var n=a[0],r=document.head;if(r){var l=r.querySelector("#styles-"+n);if(l){var o=l.cloneNode(!0);o.removeAttribute("id","styles-"+n);var s=t.className.match(/wptb-element-(.+)-(\d+)/i);if(s&&Array.isArray(s)){o.setAttribute("id","styles-"+s[0]);var i=l.innerHTML,d=WPTB_Helper.replaceAll(i,n,s[0]);o.innerHTML=d,r.appendChild(o)}}}}}},elementsStylesConvertToObject:function(){for(var e=document.head.querySelectorAll(".styles-wptb-elements"),t={},a=0;a<e.length;a++){var n=e[a].getAttribute("id");n&&e[a].innerHTML&&(t[n]=e[a].innerHTML)}return 0!=Object.keys(t).length?JSON.stringify(t):""},elementsStylesSetFromObject:function(e){var n=document.head;if(n){var t=n.querySelectorAll(".styles-wptb-elements");if(0<t.length){t=_toConsumableArray(t);for(var a=0;a<t.length;a++)n.removeChild(t[a])}if(e){var r=JSON.parse(e);0!=Object.keys(r).length&&Object.keys(r).forEach(function(e){var t=r[e],a=document.createElement("style");a.setAttribute("id",e),a.classList.add("styles-wptb-elements"),a.innerHTML=t,n.appendChild(a)})}}},saveTable:function(p,u,e){if(e||u||!p.target.dataset.wptbTableStateNumberSave&&0==window.wptbTableStateNumberShow||(window.wptbTableStateNumberShow,p.target.dataset.wptbTableStateNumberSave),!e){var t=document.querySelector(".wptb-edit-bar");if(t&&t.classList.contains("visible")){document.getElementsByClassName("wptb-preview-table")[0];WPTB_Helper.toggleTableEditMode()}}WPTB_Helper.wptbDocumentEventGenerate("wptb:save:before",document);var m,a,n,r,b=new XMLHttpRequest,l=(wptb_admin_object?wptb_admin_object.ajaxurl:ajaxurl)+"?action=save_table",f=document.getElementById("wptb-setup-name").value.trim();a=document.getElementsByClassName("wptb-preview-table"),((rs=WPTB_Helper.detectMode())||(rs=document.wptbId))&&(r=rs);var o=!1;if(0<a.length){var s=(a=a[0]).cloneNode(!0);if(r&&s.classList.contains("wptb-element-main-table_setting-startedid-0")){s.classList.remove("wptb-element-main-table_setting-startedid-0"),s.classList.add("wptb-element-main-table_setting-"+r);var i=document.querySelector(".wptb-table-setup");i&&(i.innerHTML="",i.appendChild(s),WPTB_Table()),o=!0}s.columns=a.columns,a=(a=WPTB_Stringifier(s)).outerHTML}else a="";if(!e){n="";var d=document.getElementsByClassName("wptb-element-datas");0<d.length&&d[0].innerHTML&&(n=d[0].innerHTML,o&&(n=WPTB_Helper.replaceAll(n,"tmpl-wptb-el-datas-main-table_setting-startedid-0","tmpl-wptb-el-datas-main-table_setting-"+r),n=WPTB_Helper.replaceAll(n,"data-wptb-el-main-table_setting-startedid-0","data-wptb-el-main-table_setting-"+r)))}var c=WPTB_Helper.elementsStylesConvertToObject();if(o&&(c=WPTB_Helper.replaceAll(c,".wptb-element-main-table_setting-startedid-0",".wptb-element-main-table_setting-"+r)),""===f&&""===a){var v="";return""===f&&(v+="You must assign a name to the table before saving it.</br>"),""===a&&(v+="Table wasn't created"),(m=document.getElementById("wptb-messaging-area")).innerHTML='<div class="wptb-error wptb-message">Error: '+v+"</div>",m.classList.add("wptb-warning"),void setTimeout(function(){m.removeChild(m.firstChild)},4e3)}var w={title:f,content:a,elements_datas:n,elements_styles:c,security_code:wptb_admin_object.security_code};e&&(w.preview_saving=e),r&&(w.id=r),WPTB_Helper.wptbDocumentEventGenerate("wptb:save:before",document,w),w=JSON.stringify(w),b.open("POST",l,!0),b.setRequestHeader("Content-type","application/json; charset=utf-8"),b.onreadystatechange=function(e){if(4==this.readyState&&200==this.status){var t=JSON.parse(b.responseText);if(m=document.getElementById("wptb-messaging-area"),"saved"==t[0]){var a=document.location.href.replace("#",""),n=new RegExp("&table=(.+)","i");a=a.replace(n,""),window.history.pushState(null,null,a+"&table="+t[1]),document.wptbId=t[1],m.innerHTML='<div class="wptb-success wptb-message">Table "'+f+'" was successfully saved.</div>',document.getElementsByClassName("wptb-embed-btn")[0].classList.remove("wptb-button-disable"),document.getElementById("wptb-embed-shortcode").value="[wptb id="+t[1]+"]";document.querySelector(".wptb-preview-table");var r=document.getElementsByClassName("wptb-preview-btn");if(0<r.length){(r=r[0]).classList.remove("wptb-button-disable");var l=r.dataset.previewHref;l=l.replace("empty",t[1]),r.setAttribute("href",l)}p.target.dataset.wptbTableStateNumberSave=window.wptbTableStateNumberShow;var o=document.getElementsByClassName("wptb-save-btn");return void(0<o.length&&((o=o[0]).classList.add("wptb-save-disabled"),o.classList.remove("active")))}if("edited"==t[0]&&u){document.wptbId=t[1],m.innerHTML='<div class="wptb-success wptb-message">Table "'+f+'" was successfully saved.</div>',document.getElementsByClassName("wptb-embed-btn")[0].classList.remove("wptb-button-disable"),document.getElementById("wptb-embed-shortcode").value="[wptb id="+t[1]+"]";document.querySelector(".wptb-preview-table");var s=document.getElementsByClassName("wptb-preview-btn");if(0<s.length){(s=s[0]).classList.remove("wptb-button-disable");var i=s.dataset.previewHref;i=i.replace("empty",t[1]),s.setAttribute("href",i)}p.target.dataset.wptbTableStateNumberSave=window.wptbTableStateNumberShow;var d=document.getElementsByClassName("wptb-save-btn");0<d.length&&((d=d[0]).classList.add("wptb-save-disabled"),d.classList.remove("active"))}else if("edited"==t[0]){m.innerHTML='<div class="wptb-success wptb-message">Table "'+f+'" was successfully updated.</div>',p.target.dataset.wptbTableStateNumberSave=window.wptbTableStateNumberShow;var c=document.getElementsByClassName("wptb-save-btn");0<c.length&&((c=c[0]).classList.add("wptb-save-disabled"),c.classList.remove("active"))}else{if("preview_edited"==t[0])return;m.innerHTML='<div class="wptb-error wptb-message">Safety problems</div>'}m.classList.add("wptb-success"),setTimeout(function(){m.removeChild(m.firstChild)},4e3)}},b.send(w)},clickOnFreeSpace:function(){if(WPTB_Helper.editActionClassRemove(),"table_responsive_menu"!==this.getCurrentSection()){var e=document.querySelector("#wptb-cell_mode_background");if(!e||!e.classList.contains("visible")){this.activateSection("elements");var t=document.getElementById("wpcd_fixed_toolbar");t.hasAttribute("data-toolbar-active-id")&&document.getElementById(t.getAttribute("data-toolbar-active-id")).classList.remove("toolbar-active");var a=document.querySelector(".wptb-preview-table");a&&WPTB_Helper.elementOptionsSet("table_setting",a)}}},elementAjax:function(e,n){var t,r=new XMLHttpRequest,a=(wptb_admin_object?wptb_admin_object.ajaxurl:ajaxurl)+"?action=wptb_element_ajax",l=n.className.match(/wptb-element-(.+)-(\d+)/i);l&&Array.isArray(l)&&(t=l[1]);var o={element_ajax_data:e,element_name:t,security_code:wptb_admin_object.security_code};o=JSON.stringify(o),r.open("POST",a,!0),r.setRequestHeader("Content-type","application/json; charset=utf-8"),r.onreadystatechange=function(e){if(4==this.readyState&&200==this.status){var t,a=JSON.parse(r.responseText);t=a&&Array.isArray(a)&&"element_ajax_responce"==a[0]?{value:a[1]}:"",WPTB_Helper.wptbDocumentEventGenerate("wptb-element:ajax-response",n,t)}},r.send(o)},toggleTableEditMode:function(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0],t=document.getElementsByClassName("wptb-edit-bar"),a=document.getElementById("wptb-cell_mode_background"),n=document.getElementById("wptb-left-scroll-panel-curtain"),r=document.getElementById("wptb-left-scroll-panel-cell-settings"),l=document.getElementsByClassName("wptb-preview-table");if(0<l.length&&(l=l[0]),0<t.length){for(var o="",s=0;s<t.length;s++)if(t[s].classList.contains("visible")){document.select.deactivateMultipleSelectMode(),t[s].classList.remove("visible"),a.classList.remove("visible"),n.classList.remove("visible"),r.classList.remove("visible"),l.parentNode.classList.remove("wptb-preview-table-manage-cells");var i=l.getElementsByTagName("td");if(0<i.length)for(var d=0;d<i.length;d++)i[d].classList.remove("wptb-highlighted");o="closed",WPTB_Helper.activateSection("elements")}else e||(document.select.activateMultipleSelectMode(),t[s].classList.add("visible"),a.classList.add("visible"),n.classList.add("visible"),l.parentNode.classList.add("wptb-preview-table-manage-cells"),o="opened");WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-edit-mode/"+o,l)}},checkingDimensionValue:function(e,t){if(e=String(e),t=String(t),e&&t){var a=e.indexOf(t);return-1!=a&&a==e.length-t.length}return!1},checkSetGetStyleSizeValue:function(e,t,a,n){var r=e.style[t];if((r=String(r))&&!n||WPTB_Helper.checkingDimensionValue(r,n)){if(!n)return r}else{var l=window.getComputedStyle(e);if(a&&l.getPropertyValue(a)&&n&&!WPTB_Helper.checkingDimensionValue(l.getPropertyValue(a),n)){if(!n)return!1;e.style[t]=null}else{if(!n)return l.getPropertyValue(a);e.style[t]=l.getPropertyValue(a)}}return e.style[t]},checkSetGetStyleColorValue:function(e,t,a){var n=3<arguments.length&&void 0!==arguments[3]&&arguments[3],r=e.style[t];if(r){if(!n)return r}else{var l=window.getComputedStyle(e,null);if(l&&l.getPropertyValue(a)){if(!n)return l.getPropertyValue(a);r=WPTB_Helper.rgbToHex(l.getPropertyValue(a)),WPTB_Helper.isHex(r)?e.style[t]=r:e.style[t]=""}else{if(!n)return"";e.style[t]=""}}},checkSetGetStyleValue:function(e,t,a){var n=3<arguments.length&&void 0!==arguments[3]&&arguments[3],r=e.style[t];if(r){if(!n)return r}else{var l=window.getComputedStyle(e,null);if(l&&l.getPropertyValue(a)){if(!n)return l.getPropertyValue(a);e.style[t]=l.getPropertyValue(a)}else if(!n)return""}},getValueMaxCountSameElementsInArray:function(e){if(e&&Array.isArray(e)){for(var t,a={},n=0,r=0;r<e.length;r++)e[r]?a[e[r]]?a[e[r]]++:a[e[r]]=1:n++;for(var l in a)t?a[t]<a[l]&&(t=l):t=l;return a[t]>=n?t:""}},recalculateIndexes:function(e){WPTB_RecalculateIndexes(e)},tableRowsColorsReinstall:function(e){var t=e.className.match(/wptb-element-main(.+)-(\d+)/i);if(t&&Array.isArray(t)){var a="";a="0"==t[t.length-1]?"startedid-0":t[t.length-1];var n=document.querySelector(".wptb-el-main-table_setting-"+a+"-tableHeaderBackground");if(n){var r={value:n.value};WPTB_Helper.wptbDocumentEventGenerate("controlColor:change",n,r)}var l=document.querySelector(".wptb-el-main-table_setting-"+a+"-tableEvenRowBackground");if(l){var o={value:l.value};WPTB_Helper.wptbDocumentEventGenerate("controlColor:change",l,o)}var s=document.querySelector(".wptb-el-main-table_setting-"+a+"-tableOddRowBackground");if(s){var i={value:s.value};WPTB_Helper.wptbDocumentEventGenerate("controlColor:change",s,i)}}},getParentOfType:function(e,t){return t.nodeName===e.toUpperCase()?t:WPTB_Helper.getParentOfType(e,t.parentElement)},dragRelativeType:"",setDragRelativeType:function(e){this.dragRelativeType=e},getDragRelativeType:function(){return this.dragRelativeType},getElementColorStylesHex:function(e,t){var a=e.style[t];return a=WPTB_Helper.rgbToHex(a),WPTB_Helper.isHex(a)||(a=""),a},showControlsOnElementMount:function(){document.addEventListener("element:mounted:dom",function(e){e.target.click()})},showElementsListOnRemove:function(){document.addEventListener("element:removed:dom",function(){WPTB_Helper.activateSection("elements")})},blockTinyMCEManageCells:function(){var r=function(e){var t=document.createElement("div");t.classList.add("wptb-plugin-blocker-element");var a=0<e.childNodes.length;e.appendChild(t),a||e.classList.add("wptb-plugin-blocker-element-empty")},l=function(e){var t=e.querySelector(".wptb-plugin-blocker-element");t&&t.remove(),e.classList.remove("wptb-plugin-blocker-element-empty")};document.addEventListener("wptbSectionChanged",function(e){var t=e.detail,a=document.querySelector(".wptb-table-setup table.wptb-preview-table");if(a){var n=Array.from(a.querySelectorAll("td"));n.map(l),"manage_cells"!==t&&"cell_settings"!==t||n.map(r)}}),document.addEventListener("wptb:save:before",function(){var e=document.querySelector(".wptb-table-setup table.wptb-preview-table");Array.from(e.querySelectorAll("td")).map(l)})},calledByBlock:function(){new URL(window.location.href).searchParams.get("gutenberg")&&document.querySelector(".wptb-plugin-header-close a").addEventListener("click",function(e){e.preventDefault(),e.stopPropagation();var t=document.querySelector(".wptb-save-disabled"),a=new URL(window.location.href).searchParams.get("table");t?WPTB_Helper.wptbDocumentEventGenerate("gutenbergClose",document,a):window.confirm(wptb_admin_object.strings.dirtyConfirmation)&&WPTB_Helper.wptbDocumentEventGenerate("gutenbergClose",document,a)},{capture:!0})}},WPTB_Initializer=function(){var e=document.body;columnsDecrementButton=e.getElementsByClassName("wptb-input-number-decrement")[0],columnsIncrementButton=e.getElementsByClassName("wptb-input-number-increment")[0],rowsDecrementButton=e.getElementsByClassName("wptb-input-number-decrement")[1],rowsIncrementButton=e.getElementsByClassName("wptb-input-number-increment")[1],columnsInput=document.getElementById("wptb-columns-number"),rowsInput=document.getElementById("wptb-rows-number"),WPTB_Helper.registerSections(["elements","table_settings","cell_settings","options_group","table_responsive_menu","manage_cells"]),WPTB_Helper.setupSectionButtons(),WPTB_Helper.activateSection("elements"),WPTB_Helper.setupSidebarToggle(".wptb-panel-toggle-section .wptb-panel-drawer-icon"),WPTB_Helper.setupPanelToggleButtons(),new WptbResponsive("table_responsive_menu","wptbResponsiveApp",".wptb-builder-content"),WPTB_Helper.getSectionFromUrl(),WPTB_Helper.showControlsOnElementMount(),WPTB_Helper.showElementsListOnRemove(),WPTB_Helper.blockTinyMCEManageCells(),new WPTB_HeaderToolbox(".wptb-plugin-header-toolbar").init(),document.addEventListener("wp-table-builder/table-edit-mode/closed",function(){WPTB_Helper.activateSection("elements")}),WPTB_Helper.calledByBlock()},WPTB_LeftPanel=function(){for(var e=document.getElementsByClassName("wptb-preview-table")[0],t=document.getElementsByClassName("wptb-element"),a=0;a<t.length;a++)t[a].ondragstart=function(e){e.dataTransfer.setData("wptbElement",this.dataset.wptbElement),e.dataTransfer.setData("wptbElIndic-"+this.dataset.wptbElement,"wptbElIndic-"+this.dataset.wptbElement)};if(e)for(var n=document.getElementsByClassName("wptb-table-edit-mode-close"),r=0;r<n.length;r++)n[r].onclick=WPTB_Helper.toggleTableEditMode;document.getElementsByClassName("wptb-builder-panel")[0].onclick=function(e){e.target.classList.contains("wptb-ph-element")||WPTB_Helper.findAncestor(e.target,"wptb-ph-element")||e.target.classList.contains("wptb-fixed-toolbar")||WPTB_Helper.findAncestor(e.target,"wptb-fixed-toolbar")||WPTB_Helper.clickOnFreeSpace()};var l=document.getElementsByClassName("wptb-header");0<l.length&&(l=l[0]),l.onclick=function(){WPTB_Helper.clickOnFreeSpace()}},MultipleSelect=function(){var r=[],a=!1;return this.activateMultipleSelectMode=function(){r=[];for(var e=document.getElementsByClassName("wptb-preview-table")[0].getElementsByTagName("td"),t=0;t<e.length;t++)e[t].classList.remove("wptb-highlighted");a=!0},this.deactivateMultipleSelectMode=function(){a=!1},this.isActivated=function(){return a},this.pushSelectedCell=function(e){a&&(r.push(e),e.classList.add("wptb-highlighted"))},this.selectedCells=function(){return r},this.flushSelectedCells=function(){r=[]},this.getFirst=function(){for(var e,t=1e3,a=1e3,n=r.length-1;0<=n;n--)t>=r[n].dataset.xIndex&&a>=r[n].dataset.yIndex&&(e=r[n],t=r[n].dataset.xIndex,a=r[n].dataset.yIndex);return e},this.getLast=function(){for(var e,t=-1,a=-1,n=r.length-1;0<=n;n--)t<=r[n].dataset.xIndex&&a<=r[n].dataset.yIndex&&(e=r[n],t=r[n].dataset.xIndex,a=r[n].dataset.yIndex);return e},this.removeAllButFirst=function(){for(var e=this.getFirst(),t=1;t<r.length;t++)r[t].classList.add("wptb-fused-cell-"+e.dataset.xIndex+"-"+e.dataset.yIndex)},this};function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var WPTB_Parser=function(e){var t=document.createElement("div");t.innerHTML=e;for(var a=t.children[0],n=_toConsumableArray(a.querySelectorAll(".wptb-column-title-mobile-container")),r=0;r<n.length;r++){n[r].parentNode.removeChild(n[r])}for(var l=a.querySelectorAll("td"),o=0;o<l.length;o++)l[o].classList.add("wptb-droppable"),l[o].classList.remove("wptb-column-title-mobile-not-elements");return a};function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.keys||(Object.keys=function(){"use strict";var r=Object.prototype.hasOwnProperty,l=!{toString:null}.propertyIsEnumerable("toString"),o=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],s=o.length;return function(e){if("object"!==_typeof(e)&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var t,a,n=[];for(t in e)r.call(e,t)&&n.push(t);if(l)for(a=0;a<s;a++)r.call(e,o[a])&&n.push(o[a]);return n}}());var WPTB_RecalculateIndexes=function(e){for(var t,a=e.getElementsByTagName("tr"),n=0,r=0,l=[],o=0;o<a.length;o++){t=a[o].getElementsByTagName("td"),null==l[o]&&(l[o]=[]);for(var s=0,i=0;i<t.length;i++){if(null!=l[o][i])for(var d=0;d<100;d++){if(null==l[o][s]){l[o][s]=t[i],t[i].dataset.xIndex=s;break}s++}else l[o][i]=t[i],t[i].dataset.xIndex=s;if(t[i].dataset.yIndex=o,1<t[i].colSpan)for(var c=1;c<t[i].colSpan;c++)s++,l[o][s]="tdDummy";if(1<t[i].rowSpan)for(var p=1;p<t[i].rowSpan;p++){null==l[o+p]&&(l[o+p]=[]);for(var u=0;u<t[i].colSpan;u++)l[o+p][s-t[i].colSpan+1+u]="tdDummy"}s++}t.length>n&&(n=t.length),0==o&&(r=s)}e.columns=n,e.maxCols=r};function WptbResponsive(e,t,n){var r=this;this.sectionName=e,this.responsiveWrapperId=t,this.responsiveTable=null,this.loaded=!1,this.addContainerToDom=function(){if(!document.querySelector("#".concat(r.responsiveWrapperId))){var e=document.querySelector(n);if(!e)throw new Error("[WPTB_Responsive]: no parent container is found with the given query of [".concat(n,"]"));var t=document.createRange();t.setStart(e,0);var a=t.createContextualFragment('<div class="wptb-responsive" id="'.concat(r.responsiveWrapperId,'">responsive element</div>'));e.appendChild(a),r.loaded=!0}r.responsiveTable=document.querySelector("#".concat(r.responsiveWrapperId))},this.load=function(){r.loaded||(r.addContainerToDom(),WPTB_Helper.elementStartScript(r.responsiveTable,"table_responsive_menu"),WPTB_Helper.elementOptionsSet("table_responsive_menu",r.responsiveTable),WPTB_ControlsManager.callControlScript("ResponsiveTable",r.responsiveWrapperId))},this.startUp=function(){document.addEventListener("wptbSectionChanged",function(e){var t=document.querySelector(".wptb-table-setup .wptb-preview-table");e.detail===r.sectionName&&t&&r.load()}),document.addEventListener("wptb:table:generated",function(){"table_responsive_menu"===WPTB_Helper.getCurrentSection()&&r.load()})},this.startUp()}var WPTB_Settings=function(){for(var e=document.getElementsByClassName("wptb-element"),t=0;t<e.length;t++)e[t].ondragstart=function(e){e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("wptbElement",e.target.dataset.wptbElement),e.dataTransfer.setData("wptbElIndic-"+e.target.dataset.wptbElement,"wptbElIndic-"+e.target.dataset.wptbElement),WPTB_Helper.setDragRelativeType(this.dataset.wptbRelativeElements||"")},e[t].ondragend=function(){WPTB_Helper.elementDragEndClear()};var a=new WPTB_TableStateSaveManager,n=document.getElementsByClassName("wptb-undo");0<n.length&&((n=n[0]).onclick=function(e){if(!this.classList.contains("wptb-undoredo-disabled")){a.tableStateGet(this.dataset.wptbUndoredo);var t=document.getElementsByClassName("wptb-undo-redo-container");0<t.length&&((t=t[0]).onmouseleave=function(e){e.target.onmouseleave="";document.querySelector(".wptb-preview-table");WPTB_Table()})}});var r=document.getElementsByClassName("wptb-redo");0<r.length&&((r=r[0]).onclick=function(e){if(!this.classList.contains("wptb-undoredo-disabled")){a.tableStateGet(this.dataset.wptbUndoredo);var t=document.getElementsByClassName("wptb-undo-redo-container");0<t.length&&((t=t[0]).onmouseleave=function(e){e.target.onmouseleave="";document.querySelector(".wptb-preview-table");WPTB_Table()})}});var l=document.getElementsByClassName("wptb-popup-window-modal")[0];document.getElementsByClassName("wptb-embed-btn")[0].onclick=function(){this.classList.contains("wptb-button-disable")||l.classList.add("wptb-popup-show")},window.onbeforeunload=function(e){return 0==document.getElementsByClassName("wptb-save-disabled").length||null},document.getElementsByClassName("wptb-popup-dark-area")[0].onclick=function(){l.classList.remove("wptb-popup-show")},document.getElementsByClassName("wptb-popup-window-close-icon")[0].onclick=function(){l.classList.remove("wptb-popup-show")},document.getElementsByClassName("wptb-preview-btn")[0].onclick=function(e){if(!this.classList.contains("wptb-button-disable")){var t=Math.floor(1e4*Math.random()),a=new URL(e.target.href);a.searchParams.set("preview_id",t),e.target.href=a.toString(),WPTB_Helper.saveTable(e,!1,t)}},document.getElementsByClassName("wptb-save-btn")[0].onclick=function(e){this.classList.contains("wptb-save-disabled")||WPTB_Helper.saveTable(e)};var o=document.querySelector("#wptb-setup-name");o&&(o.onchange=function(){(new WPTB_TableStateSaveManager).tableStateSet()})};function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}!function(e,t,a){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=a():t[e]=a()}("WPTB_SortableTable",self||global,function(){return function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},Q=this.table=e.table;WPTB_RecalculateIndexes(Q);var a=this;function t(e,t,a){if("TD"===e.target.tagName){var n=null==e.offsetX?e.layerX:e.offsetX,r=null==e.offsetY?e.layerY:e.offsetY,l=!1;("vertical"===t&&e.target.clientWidth-n<=35||"horizontal"===t&&n<=35)&&(l=!0),l&&(e.target.clientHeight-35)/2<r&&(e.target.clientHeight+35)/2>r?a.classList.add("sortable-hover"):a.classList.remove("sortable-hover")}else a.classList.remove("sortable-hover")}function c(e){t(e,"vertical",this)}function p(e){t(e,"horizontal",this)}function u(){this.classList.remove("sortable-hover")}function n(e,t){if(e.target&&"TD"===e.target.tagName&&!Q.parentNode.classList.contains("wptb-preview-table-manage-cells")){var a=e.currentTarget,n=!1;if("vertical"===t&&e.target.dataset.hasOwnProperty("sortedVertical")){var r=[],l=[];if(this.itemsPerHeader&&this.itemsPerHeader<a.rows.length){WPTB_RecalculateIndexes(a);for(var o=_toConsumableArray(a.rows),s=a.querySelector("tbody")?a.querySelector("tbody"):a,i=0;i<o.length;i++)i<e.target.dataset.yIndex?(r.push(o[i]),s.removeChild(o[i])):i>parseInt(e.target.dataset.yIndex,10)+this.itemsPerHeader&&(l.push(o[i]),s.removeChild(o[i]));WPTB_RecalculateIndexes(a)}var d,c,p=a.querySelectorAll('[data-x-index="'.concat(e.target.dataset.xIndex,'"]'));(p=_toConsumableArray(p)).map(function(e){(d=parseInt(e.rowSpan,10))||(d=1),c=e.dataset.yIndex,WPTB_CutGlueTable.cutTableHorizontally(c,a),c+=d,WPTB_CutGlueTable.cutTableHorizontally(c,a)});for(var u,m=[],b=0,f=[],v=0;v<p.length;v++){var w=Z(e,a,p,v,b,"vertical");if(w&&w.hasOwnProperty("i"))p=w.tds,v=w.i;else{w&&(p=w.tds);var g=p[v],h=parseInt(g.rowSpan,10);h||(h=1),b=parseInt(g.dataset.yIndex,10)+h;for(var y=K(g),S=[],T=0;T<h;T++)S.push(a.rows[parseInt(g.dataset.yIndex,10)+T]),f.push(parseInt(g.dataset.yIndex,10)+T);0<g.dataset.yIndex?m.push({rowsTd:S,value:y}):u=S}}var C=Y(e,"sortedVertical");if(!C)return;if(m.length&&m.sort(function(e,t){return X(C,e,t)}),m.unshift({rowsTd:u}),m.length<a.rows.length)for(var _=0;_<a.rows.length;_++)if(!(-1<f.indexOf(_))){var B=[];B.push(a.rows[_]),m.push({rowsTd:B})}var E=a.querySelector("tbody");if(E.innerHTML="",m.map(function(e){e.rowsTd.map(function(e){E.appendChild(e)})}),r.length){var A=a.querySelector("tbody")?a.querySelector("tbody"):a;if(A){var x=A.querySelector("tr");r.map(function(e){A.insertBefore(e,x)})}}if(l.length){var P=a.querySelector("tbody")?a.querySelector("tbody"):a;E&&l.map(function(e){P.appendChild(e)})}WPTB_RecalculateIndexes(a),WPTB_CutGlueTable.glueTableHorizontally(a),n=!0}else if("horizontal"===t&&"0"===e.target.dataset.xIndex){var W,I,L=a.querySelectorAll('[data-y-index="'.concat(e.target.dataset.yIndex,'"]'));(L=_toConsumableArray(L)).map(function(e){(W=parseInt(e.colSpan,10))||(W=1),I=e.dataset.xIndex,WPTB_CutGlueTable.cutTableVertically(I,a),I+=W,WPTB_CutGlueTable.cutTableVertically(I,a)});for(var N,H=[],O=0,M=0;M<L.length;M++){var k=Z(e,a,L,M,O,"horizontal");if(k&&k.hasOwnProperty("i"))L=k.tds,M=k.i;else{k&&(L=k.tds);var D=L[M],q=parseInt(D.colSpan,10);q||(q=1),O=parseInt(D.dataset.xIndex,10)+q;for(var j=K(D),F=[],R=0;R<q;R++){var G=_toConsumableArray(a.querySelectorAll('[data-x-index="'.concat(parseInt(D.dataset.xIndex,10)+R,'"]')));F.push(G)}0<D.dataset.xIndex?H.push({columnsTd:F,value:j}):N=F}}var V=Y(e,"sortedHorizontal");if(!V)return;if(H.length&&H.sort(function(e,t){return X(V,e,t)}),H.unshift({columnsTd:N}),H.length<a.maxCols)for(var z=a.maxCols-H.length,U=0;U<z;U++){var J=_toConsumableArray(a.querySelectorAll('[data-x-index="'.concat(parseInt(a.maxCols,10)-parseInt(z,10)+U,'"]')));H.push({columnsTd:[J]})}for(var $=0;$<a.rows.length;$++)a.rows[$].innerHTML="";H.map(function(e){e.columnsTd.map(function(e){e.map(function(e){a.rows[e.dataset.yIndex].appendChild(e)})})}),WPTB_RecalculateIndexes(a),WPTB_CutGlueTable.glueTableVertically(a),n=!0}n&&(function(e){for(var t=_toConsumableArray(e.getElementsByTagName("td")),a=0;a<t.length;a++)t[a].hasAttribute("data-same-cell-before-division")&&t[a].removeAttribute("data-same-cell-before-division")}(a),a.hasOwnProperty("tableSM")&&(new(a.tableSM())).tableStateSet(),this.reassignElementsStyles("td"),this.reassignElementsStyles("tr"))}}function Y(e,t){return!(!e.currentTarget||!e.currentTarget.classList.contains("wptb-preview-table")&&!e.currentTarget.classList.contains("wptb-preview-table-mobile"))&&(e.target.dataset[t]&&"ask"!==e.target.dataset[t]?e.target.dataset[t]="ask":e.target.dataset[t]="desk",e.target.dataset[t])}function X(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"ask",t=1<arguments.length?arguments[1]:void 0,a=2<arguments.length?arguments[2]:void 0,n=t.value,r=a.value;return parseInt(n)&&parseInt(r)&&(n=parseInt(n),r=parseInt(r)),"ask"===e?n<r?-1:n===r?0:1:n<r?1:n===r?0:-1}function K(e){var t=e.querySelectorAll(".wptb-text-container");t=_toConsumableArray(t);for(var a="",n=0;n<t.length;n++)a+=t[n].querySelector("p").innerText,n!==t.length-1&&(a+=" ");return a}function Z(e,t,a,n,r,l){var o,s,i,d,c,p,u,m,b=a[n],f=!1;if("vertical"===l?(i="colSpan",d="data-y-index",c="yIndex",p="xIndex",u="rowSpan",m=t.rows.length):"horizontal"===l&&(i="rowSpan",d="data-x-index",c="xIndex",p="yIndex",u="colSpan",m=t.maxCols),0<b.dataset[c]-r){o=t.querySelectorAll("[".concat(d,'="').concat(r,'"]'));for(var v=0;v<o.length;v++)if((s=o[v][i])||(s=1),o[v].dataset[p]<e.target.dataset[p]&&parseInt(o[v].dataset[p],10)+parseInt(s,10)>e.target.dataset[p]){a.splice(n,0,o[v]),f=!0,n--;break}}if(f)return{tds:a,i:n};var w=parseInt(b[u],10);if(w||(w=1),n==a.length-1&&parseInt(b.dataset[c],10)+w<m){o=t.querySelectorAll("[".concat(d,'="').concat(parseInt(b.dataset[c],10)+w,'"]'));for(var g=0;g<o.length;g++)if((s=o[g][i])||(s=1),o[g].dataset[p]<e.target.dataset[p]&&parseInt(o[g].dataset[p],10)+parseInt(s,10)>e.target.dataset[p]){a.push(o[g]),f=!0;break}}return!!f&&{tds:a}}return this.itemsPerHeader=0,this.tableMaxCols=Q.maxCols,this.cellsStylesScheme={},this.rowsStylesScheme={},this.sortModeSwitcher=function(e,t){t&&(this.sortModeSwitcher("horizontal",!1),this.sortModeSwitcher("vertical",!1)),"vertical"===e?(this.table.removeEventListener("click",this.sortableTableVerticalStart,!1),t?(this.sortingCellMouseMoveSwitcher("vertical",!0),this.table.addEventListener("click",this.sortableTableVerticalStart,!1),this.table.dataset.wptbSortableTableVertical="1",this.createTableElementsStylesScheme("td"),this.createTableElementsStylesScheme("tr")):(this.sortingCellMouseMoveSwitcher("vertical",!1),delete this.table.dataset.wptbSortableTableVertical)):"horizontal"===e&&(this.table.removeEventListener("click",this.sortableTableHorizontalStart,!1),t?(this.sortingCellMouseMoveSwitcher("horizontal",!0),this.table.addEventListener("click",this.sortableTableHorizontalStart,!1),this.table.dataset.wptbSortableTableHorizontal="1",this.createTableElementsStylesScheme("td"),this.createTableElementsStylesScheme("tr")):(this.sortingCellMouseMoveSwitcher("horizontal",!1),delete this.table.dataset.wptbSortableTableHorizontal))},this.tableObjectChange=function(){var e=!(0<arguments.length&&void 0!==arguments[0])||arguments[0];return this.table.classList.contains("wptb-mobile-view-active")&&e?this.table=Q.parentNode.parentNode.querySelector(".wptb-preview-table-mobile"):this.table.classList.contains("wptb-preview-table-mobile")&&!e&&(this.table=Q.parentNode.querySelector(".wptb-preview-table")),this.table},this.createTableElementsStylesScheme=function(e){this.tableObjectChange();var t=this.table.querySelectorAll(e);if(t.length)for(var a=0;a<t.length;a++){var n=t[a],r=window.getComputedStyle(n,null).getPropertyValue("background-color"),l="";"td"===e?(l=n.dataset.xIndex+"-"+n.dataset.yIndex,this.cellsStylesScheme[l]={backgroundColor:r}):"tr"===e&&(l=String(a),this.rowsStylesScheme[l]={backgroundColor:r})}this.tableObjectChange(!1)},this.reassignElementsStyles=function(e){this.tableObjectChange();var t,a=this.table.querySelectorAll(e);if("td"===e?t=this.cellsStylesScheme:"tr"===e&&(t=this.rowsStylesScheme),a.length)for(var n=0;n<a.length;n++){var r=a[n],l="";if("td"===e?l=r.dataset.xIndex+"-"+r.dataset.yIndex:"tr"===e&&(l=n),t.hasOwnProperty(l)){var o=t[l];for(var s in o)r.style[s]=o[s]}}this.tableObjectChange(!1)},this.sortableTableInitialization=function(l){var o,s,i="";this.table.dataset.wptbSortableTableVertical&&"1"===this.table.dataset.wptbSortableTableVertical?(o="vertical",s="horizontal"):this.table.dataset.wptbSortableTableHorizontal&&"1"===this.table.dataset.wptbSortableTableHorizontal&&(o="horizontal",s="vertical");var t={};l&&l.getDirective(this.table)?t.switch=function(e){var t=l.getDirective(this.table),a="desktop";if(e&&e.detail&&(a=e.detail.sizeRangeId),i=o,"desktop"!==a){if(t.hasOwnProperty("modeOptions")){var n=t.responsiveMode,r=t.modeOptions[n];r.hasOwnProperty("topRowAsHeader")&&r.topRowAsHeader.hasOwnProperty(a)&&r.topRowAsHeader[a]?r.hasOwnProperty("cellStackDirection")&&r.cellStackDirection.hasOwnProperty(a)&&("row"===r.cellStackDirection[a]?(i=s,this.itemsPerHeader=this.tableMaxCols-1):"column"===r.cellStackDirection[a]&&r.hasOwnProperty("cellsPerRow")&&(this.itemsPerHeader=r.cellsPerRow[a])):this.itemsPerHeader=0}}else this.itemsPerHeader=0;this.sortModeSwitcher(i,!0)}:t.switch=function(e){var t=o;if(this.table.classList.contains("wptb-mobile-view-active")){this.table.classList.contains("wptb-table-preview-head")&&"vertical"===(t=s)&&(this.itemsPerHeader=this.tableMaxCols-1);var a=this.table;return this.table=a.parentNode.parentNode.querySelector(".wptb-preview-table-mobile"),this.sortModeSwitcher(t,!0),void(this.table=a)}this.sortModeSwitcher(t,!0)},t.switch.call(a),this.table.addEventListener("table:rebuilt",function(e){t.switch.call(a,e)},!1)},this.sortingCellMouseMoveSwitcher=function(e,t){var a=this;function n(e,t,a){e.removeEventListener("mousemove",t,!1),e.removeEventListener("mouseleave",u,!1),a&&(e.addEventListener("mousemove",t,!1),e.addEventListener("mouseleave",u,!1))}function r(e,t,a){a?e.dataset[t]&&"desk-disabled"===e.dataset[t]?e.dataset[t]="desk":e.dataset[t]="ask":"ask"===e.dataset[t]?e.dataset[t]="ask-disabled":"desk"===e.dataset[t]&&(e.dataset[t]="desk-disabled")}var l=this.table.querySelectorAll("td");if(l.length&&(l=_toConsumableArray(l)).map(function(e){n(e,c,!1),r(e,"sortedVertical",!1),n(e,p,!1),r(e,"sortedHorizontal",!1)}),t)if("vertical"===e)for(var o=this.table.rows.length,s=0;0<o;){var i=this.table.querySelectorAll('[data-y-index="'.concat(s,'"]'));(i=_toConsumableArray(i)).map(function(e){n(e,c,t),r(e,"sortedVertical",t)}),this.itemsPerHeader?(o-=this.itemsPerHeader+1,s+=this.itemsPerHeader+1):o=0}else if("horizontal"===e){var d=this.table.querySelectorAll('[data-x-index="0"]');(d=_toConsumableArray(d)).map(function(e){2<a.table.querySelectorAll('[data-y-index="'.concat(e.dataset.yIndex,'"]')).length&&(n(e,p,t),r(e,"sortedHorizontal",t))})}},this.sortableTableVerticalStart=function(e){n.call(a,e,"vertical")},this.sortableTableHorizontalStart=function(e){n.call(a,e,"horizontal")},this}});var WPTB_Stringifier=function(e){if(e){var t=e.cloneNode(!0);t.dataset.tableColumns=e.columns,t.style.width=null,t.style.minWidth=null,t.style.maxWidth=null;var a=t.getElementsByTagName("td");if(0<a.length)for(var n=0;n<a.length;n++){a[n].removeAttribute("draggable"),a[n].classList.remove("wptb-droppable");var r=a[n].className.match(/wptb-element-((.+-)\d+)/i);r&&a[n].classList.remove(r[0]);var l=a[n].getElementsByClassName("wptb-ph-element");if(0<l.length)for(var o=0;o<l.length;o++){var s=l[o].querySelectorAll(".mce-content-body");if(0<s.length)for(var i=0;i<s.length;i++)s[i].classList.remove("mce-content-body");var d=l[o].querySelectorAll("[data-mce-style]");if(0<d.length)for(var c=0;c<d.length;c++)d[c].removeAttribute("data-mce-style");var p=l[o].querySelectorAll("[contenteditable]");if(0<p.length)for(var u=0;u<p.length;u++)p[u].removeAttribute("contenteditable");var m=l[o].querySelectorAll("[spellcheck]");if(0<m.length)for(var b=0;b<m.length;b++)m[b].removeAttribute("spellcheck");var f=l[o].querySelectorAll("[id^=mce_]");if(0<f.length)for(var v=0;v<f.length;v++)f[v].removeAttribute("id");for(var w=l[o].querySelectorAll(".wptb-actions"),g=w.length;0<g&&w[0]&&w[0].parentNode;)w[0].parentNode.removeChild(w[0]),g--;var h=l[o].querySelectorAll("[data-mce-bogus]");if(0<h.length){h=_toConsumableArray(h);for(var y=0;y<h.length;y++)h[y]&&h[y].parentNode&&h[y].parentNode.removeChild(h[y])}}}return t}};function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var array=[],WPTB_Table=function(e,t,a){var L,n,r,m,l=document.getElementsByClassName("wptb-settings-items"),S=document.getElementsByClassName("wptb-table-setup")[0],T=function(e){var t=e.currentTarget,a=t.rowSpan,n=t.colSpan,r=document.getElementsByClassName("wptb-no-cell-action"),l=document.getElementsByClassName("wptb-single-action"),o=document.getElementsByClassName("wptb-multiple-select-action"),s=document.getElementById("wptb-left-scroll-panel-cell-settings"),i=B(t),d=i[0],c=i[1];if(document.select.isActivated()){if(t.className.match(/wptb-highlighted/)){t.classList.remove("wptb-highlighted");for(var p=0;p<a;p++)for(var u=0;u<n;u++)array[d+p][c+u]=0}else{t.classList.add("wptb-highlighted");for(p=0;p<a;p++)for(u=0;u<n;u++)array[d+p][c+u]=1}var m=document.getElementsByClassName("wptb-highlighted"),b=m.length;if(0===b){for(p=0;p<o.length;p++)o[p].classList.remove("visible"),o[p].setAttribute("disabled","disabled");for(p=0;p<r.length;p++)r[p].classList.add("visible"),r[p].removeAttribute("disabled");for(p=0;p<l.length;p++)l[p].classList.remove("visible"),l[p].setAttribute("disabled","disabled");s.classList.remove("visible")}else if(1===b){for(p=0;p<o.length;p++)o[p].classList.remove("visible"),o[p].setAttribute("disabled","disabled");for(p=0;p<r.length;p++)r[p].classList.remove("visible"),r[p].setAttribute("disabled","disabled");for(p=0;p<l.length;p++)l[p].classList.add("visible"),l[p].removeAttribute("disabled");m=m[0],WPTB_Helper.elementOptionsSet("table_cell_setting",m);var f=m.className.match(/wptb-element-((.+-)\d+)/i);["cellWidth","cellHeight"].map(function(e){var t="wptb-el-".concat(f[1],"-").concat(e),a="wptb-el-".concat(f[1],"-").concat(e,"Fixed");if("cellWidth"===e||"cellHeight"===e){var n="",r="";"cellWidth"===e?(n="width",r="getColumnWidth"):"cellHeight"===e&&(n="height",r="getRowHeight");var l=m.style[n],o=document.querySelectorAll("."+t),s=document.querySelector("."+a);o=_toConsumableArray(o),l||m.dataset["wptbFixed".concat(n.toUpperCase())]?(o.map(function(e){l?e.value=parseFloat(l,10):m.dataset["wptbFixed".concat(n.toUpperCase())]&&(e.value=m.dataset["wptbFixed".concat(n.toUpperCase())])}),s.checked=!0):(l=WPTB_Helper[r](L,m),o.map(function(e){e.value=l}),s.checked=!1)}}),s.classList.add("visible")}else{for(p=0;p<o.length;p++)L.isSquare(array)?(o[p].classList.add("visible"),o[p].removeAttribute("disabled")):(o[p].classList.remove("visible"),o[p].setAttribute("disabled","disabled"));for(p=0;p<r.length;p++)r[p].classList.remove("visible"),r[p].setAttribute("disabled","disabled");for(p=0;p<l.length;p++)l[p].classList.remove("visible"),l[p].setAttribute("disabled","disabled");s.classList.remove("visible")}var v=t.className.match(/wptb-element-table_cell_setting-((.+-)\d+)/i);if(v&&1<v.length){var w="wptb-el-table_cell_setting-".concat(v[1],"-").concat("emptyCell"),g=document.getElementById(w);g&&(g.querySelector('input[type="checkbox"]').checked=t.classList.contains("wptb-empty"))}var h={countMarkedCells:b};WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/cell/mark",t,h)}},C=function(e){for(var t=0;t<e.length;t++){for(var a=0;a<e[t].length;a++)" "+e[t][a];"\n"}L.isSquare(e)},_=function(){for(var e=document.getElementsByClassName("wptb-no-cell-action"),t=document.getElementsByClassName("wptb-single-action"),a=document.getElementsByClassName("wptb-multiple-select-action"),n=document.getElementById("wptb-left-scroll-panel-cell-settings"),r=L.getElementsByClassName("wptb-highlighted");r.length;)r[0].classList.remove("wptb-highlighted");n.classList.remove("visible");for(var l=0;l<array.length;l++)for(var o=0;o<array[l].length;o++)array[l][o]=0;for(var s=0;s<a.length;s++)a[s].classList.remove("visible"),a[s].setAttribute("disabled","disabled");for(var i=0;i<e.length;i++)e[i].classList.add("visible"),e[i].removeAttribute("disabled");for(var d=0;d<t.length;d++)t[d].classList.remove("visible"),t[d].setAttribute("disabled","disabled");WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/undo-select/active",L)},o=function(){for(var e=[],t=[],a=0;a<L.rows.length;a++){for(var n=L.rows[a].getElementsByTagName("td"),r=0,l=0;l<n.length;l++)r+=n[l].colSpan;e.push(r)}m=Math.max.apply(null,e);var o=L.rows.length;for(a=0;a<o;a++){t[a]=[];for(l=0;l<m;l++)t[a].push(0)}return C(t),t},B=function(e){for(var t=[],a=0;a<m;a++)t[a]=0;for(a=0;a<L.rows.length;a++)for(var n=L.rows[a].getElementsByTagName("td"),r=cellPointer=0;r<m;r+=stepsToMove)if(stepsToMove=1,t[r])t[r]--;else{var l=n[cellPointer++];if(l==e)return[a,r];if(1<l.rowSpan){for(var o=0;o<l.colSpan;o++)t[r+o]=l.rowSpan-1;stepsToMove=l.colSpan}else 1<l.colSpan&&(stepsToMove=l.colSpan)}};if(jQuery("#wptb-table-border-color").val(""),jQuery("#wptb-table-padding-number,#wptb-table-padding-slider").val("15"),e||t){for(var s=0;s<l.length;s++)"wptb-apply-inner-border"!==l[s].id&&l[s].classList.add("visible");(L=document.createElement("table")).classList.add("wptb-preview-table","wptb-element-main-table_setting-startedid-0"),L.style.border="0px solid",L.dataset.reconstraction=1;for(s=0;s<t;s++){(n=L.insertRow(-1)).classList.add("wptb-row");for(var w=0;w<e;w++)(r=new WPTB_Cell(T)).setCoords(s,w),r.getDOMElement().style.borderWidth="1px",n.appendChild(r.getDOMElement())}}else{if(a||(a=document.querySelector(".wptb-preview-table")),!a)return;var i=(L=a).getElementsByTagName("td");if(0<i.length)for(var d=0;d<i.length;d++)WPTB_Cell(T,i[d])}L.mark=function(e){T(e)},L.wptbCell=function(e,t){return WPTB_Cell(e,t)},L.tableSM=function(){return WPTB_TableStateSaveManager},L.undoSelect=function(){_()},L.setMaxAmountOfCells=function(e){m=e},L.getMaxAmountOfCells=function(){return m},L.fillTableArray=function(){return o()},L.recalculateIndexes=function(){WPTB_Helper.recalculateIndexes(this)},L.addColumnWidth=function(p,u){var e=L.getElementsByClassName("wptb-highlighted");if(0<e.length){for(var t=0;t<e.length;t++){var a=e[t].dataset.xIndex;a&&function e(t,a){for(var n=L.rows,r=!1,l=[],o=0;o<n.length;o++)for(var s=n[o].children,i=0;i<s.length;i++){var d=s[i];if(d.dataset.xIndex==t){if(p)d.colSpan==a?(d.style.width=p+"px",d.removeAttribute("data-wptb-fixed-width"),r=!0):(d.style.width=null,d.dataset.wptbFixedWidth=p,o!=n.length-1||r||e(t,a+1));else if(u)d.style.width=null,d.removeAttribute("data-wptb-fixed-width");else if(d.dataset.wptbFixedWidth)d.colSpan==a&&(d.style.width=d.dataset.wptbFixedWidth+"px",d.removeAttribute("data-wptb-fixed-width"));else if(d.style.width){for(var c=0;c<l.length;c++)l[c].style.width=d.style.width;l=[]}else l.push(d);break}}}(a,1)}L.tdDefaultWidth(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L)}},L.tdDefaultWidth=function(){for(var e,t=L.rows,a=0,n=0,r=document.getElementsByClassName("wptb-table-setup")[0],l=r.offsetWidth,o=[],s=[],i=0,d=0,c="",p=window.getComputedStyle(L,null),u=p.getPropertyValue("border-left-width"),m=p.getPropertyValue("border-right-width"),b=parseFloat(u,10)+parseFloat(m,10),f=0;f<t.length;f++)for(var v=t[f].children,w=0;w<v.length;w++){var g=v[w];if(o[parseFloat(g.dataset.xIndex)]||s[parseFloat(g.dataset.xIndex)])s[parseFloat(g.dataset.xIndex)]?g.dataset.wptbFixedWidth||(g.dataset.wptbCssTdAutoWidth=!0):o[parseFloat(g.dataset.xIndex)]&&g.removeAttribute("data-wptb-css-td-auto-width");else if(g.style.width?(o[parseFloat(g.dataset.xIndex)]=parseFloat(g.style.width),g.removeAttribute("data-wptb-css-td-auto-width")):g.dataset.wptbFixedWidth||(s[parseFloat(g.dataset.xIndex)]=L.dataset.wptbTdWidthAuto?parseFloat(L.dataset.wptbTdWidthAuto,10):100,g.dataset.wptbCssTdAutoWidth=!0),window.getComputedStyle(g,null)){var h=window.getComputedStyle(g,null),y=h.getPropertyValue("padding-left"),S=h.getPropertyValue("padding-right");i=parseFloat(y,10)+parseFloat(S,10);var T=h.getPropertyValue("border-left-width"),C=h.getPropertyValue("border-right-width");d=parseFloat(T,10)+parseFloat(C,10),d/=2,o[parseFloat(g.dataset.xIndex)]?(o[parseFloat(g.dataset.xIndex)]+=i,o[parseFloat(g.dataset.xIndex)]+=d,0==w&&b/2<=parseFloat(T,10)?o[parseFloat(g.dataset.xIndex)]+=parseFloat(T,10)/2:0==w&&b/2>parseFloat(T,10)&&(o[parseFloat(g.dataset.xIndex)]+=b/2-parseFloat(C,10)/2),w==v.length-1&&b/2<=parseFloat(C,10)?o[parseFloat(g.dataset.xIndex)]+=parseFloat(C,10)/2:w==v.length-1&&b/2>parseFloat(C,10)&&(o[parseFloat(g.dataset.xIndex)]+=b/2-parseFloat(C,10)/2)):s[parseFloat(g.dataset.xIndex)]&&(s[parseFloat(g.dataset.xIndex)]+=i,s[parseFloat(g.dataset.xIndex)]+=d,0==w&&b/2<=parseFloat(T,10)?s[parseFloat(g.dataset.xIndex)]+=parseFloat(T,10)/2:0==w&&b/2>parseFloat(T,10)&&(s[parseFloat(g.dataset.xIndex)]+=b/2-parseFloat(T,10)/2),w==v.length-1&&b/2<=parseFloat(C,10)?s[parseFloat(g.dataset.xIndex)]+=parseFloat(C,10)/2:w==v.length-1&&b/2>parseFloat(C,10)&&(s[parseFloat(g.dataset.xIndex)]+=b/2-parseFloat(T,10)/2))}}for(var _=0;_<o.length;_++)o[_]&&(a+=o[_]);for(var B=0,E=0;E<s.length;E++)s[E]&&(n+=s[E],B++);e=a+n,L.dataset.wptbTableTdsSumMaxWidth=e,B?(L.dataset.wptbCellsWidthAutoCount=B,L.mergingСellsHorizontally?L.dataset.wptbFixedWidthSize=a:L.removeAttribute("data-wptb-fixed-width-size")):(L.removeAttribute("data-wptb-fixed-width-size"),L.removeAttribute("data-wptb-cells-width-auto-count"));var A,x=!1;e<l?B?(L.style.minWidth="100%",L.mergingСellsHorizontally?(L.style.width="auto",A=(A=(l-a)/B)-i-d,x=!0):L.style.width="100%"):(L.style.width="auto",L.style.minWidth=null,L.style.maxWidth=null):(L.style.maxWidth=null,L.style.minWidth=e+"px",L.style.width="auto",A=L.dataset.wptbTdWidthAuto?L.dataset.wptbTdWidthAuto:"100",x=!0);var P=document.head;if(P){var W=P.querySelector('style[data-wptb-td-auto-width="true"]');W&&P.removeChild(W)}if(x&&((c=document.createElement("style")).setAttribute("data-wptb-td-auto-width",!0),c.innerHTML="[data-wptb-css-td-auto-width=true]{width:"+A+"px}",P&&P.appendChild(c)),L.dataset.wptbTableAlignment){var I=L.dataset.wptbTableAlignment;r.offsetWidth<L.offsetWidth?L.style.float=null:L.style.float="center"==I?null:I,r.style.float="center"==I?null:I,A&&L.dataset.wptbTableContainerMaxWidth&&L.offsetWidth<L.dataset.wptbTableContainerMaxWidth&&(L.style.width="100%")}else L.style.float=null},L.addRowHeight=function(p,u){var e=L.getElementsByClassName("wptb-highlighted");if(0<e.length){for(var t=0;t<e.length;t++){var a=e[t].dataset.yIndex;a&&function e(t,a){for(var n=L.rows,r=!1,l=[],o=0;o<n.length;o++)for(var s=n[o].children,i=0;i<s.length;i++){var d=s[i];if(d.dataset.yIndex==t)if(p){if(d.rowSpan==a){d.style.height=p+"px",d.removeAttribute("data-wptb-fixed-heidht"),r=!0;continue}d.style.height=null,d.dataset.wptbFixedHeight=p,i!=s.length-1||r||e(t,a+1)}else if(u)d.style.height=null,d.removeAttribute("data-wptb-fixed-heidht");else if(d.dataset.wptbFixedHeight)(d.rowSpan=a)&&(d.style.height=d.dataset.wptbFixedHeight+"px",d.removeAttribute("data-wptb-fixed-width"));else if(d.style.height){for(var c=0;c<l.length;c++)l[c].style.height=d.style.height;l=[]}else l.push(d)}}(a,1)}WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L)}},L.reconstraction=function(){var e=L.getElementsByTagName("td");L.mergingСellsHorizontally=!1,L.mergingCellsVertically=!1,L.dataset.reconstraction=1;for(var t=0,a=0;a<e.length&&(1<e[a].colSpan&&(L.dataset.reconstraction=0,L.mergingСellsHorizontally=!0,t++),1<e[a].rowSpan&&(L.dataset.reconstraction=0,L.mergingCellsVertically=!0,t++),2!=t);a++);},L.addColumnEnd=function(){var e,t,a,n=document.getElementsByClassName("wptb-preview-table");0<n.length&&(t=n[0].querySelector("td")),t&&(a=t.getAttribute("style"));for(var r=0;r<L.rows.length;r++)e=new WPTB_Cell(T),a&&(e.getDOMElement().setAttribute("style",a),e.getDOMElement().style.width=null,e.getDOMElement().style.height=null,e.getDOMElement().style.borderColor=WPTB_TableSettingsData.getTableSetting("borderColor")),L.rows[r].appendChild(e.getDOMElement()),array[r].push(0);m++,L.recalculateIndexes(),L.tdDefaultWidth(),L.addRowHeight(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()},L.addColumnStart=function(){var e,t,a,n,r=document.getElementsByClassName("wptb-preview-table");0<r.length&&(a=r[0].querySelector("td")),a&&(n=a.getAttribute("style"));for(var l=0;l<L.rows.length;l++)e=new WPTB_Cell(T),n&&(e.getDOMElement().setAttribute("style",n),e.getDOMElement().style.width=null,e.getDOMElement().style.height=null,e.getDOMElement().style.borderColor=WPTB_TableSettingsData.getTableSetting("borderColor")),(t=L.rows[l].getElementsByTagName("td")[0])?L.rows[l].insertBefore(e.getDOMElement(),t):L.rows[l].appendChild(e.getDOMElement()),array[l].push(0);m++,L.recalculateIndexes(),L.tdDefaultWidth(),L.addRowHeight(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()},L.addColumnAfter=function(e){var t,a,n,r=L.rows;if(null!=e&&"number"==typeof e?(n=e,t=document.querySelector('[data-x-index="'+n+'"]')):(t=document.querySelector(".wptb-highlighted"),n=B(t)[1]),t)if(a=t.getAttribute("style"),m-n-t.colSpan+1==1)L.addColumnEnd();else{for(var l=function(e){var t=new WPTB_Cell(T);return e&&(t.getDOMElement().setAttribute("style",e),t.getDOMElement().style.width=null,t.getDOMElement().style.height=null),t.getDOMElement().style.borderColor=WPTB_TableSettingsData.getTableSetting("borderColor"),t},o=0;o<r.length;o++)for(var s=r[o].children,i=0;i<s.length;i++)if(parseInt(s[i].dataset.xIndex)<=n){if(parseInt(s[i].dataset.xIndex)+s[i].colSpan==n+t.colSpan){var d=l(a),c=s[i].nextSibling;c?r[o].insertBefore(d.getDOMElement(),c):r[o].appendChild(d.getDOMElement());break}if(parseInt(s[i].dataset.xIndex)+s[i].colSpan>n+t.colSpan){s[i].colSpan++,1<s[i].rowSpan&&(o+=s[i].rowSpan-1);break}}else if(parseInt(s[i].dataset.xIndex)>n){var p=l(a);r[o].insertBefore(p.getDOMElement(),s[i]);break}for(var u=0;u<array.length;u++)array[u].push(0);m++,C(array),L.recalculateIndexes(),L.addColumnWidth(),L.addRowHeight(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()}},L.addColumnBefore=function(){var e=document.querySelector(".wptb-highlighted"),t=B(e)[1];0===t?L.addColumnStart():L.addColumnAfter(t-1)},L.addRowToTheEnd=function(){var e,t,a=L.insertRow(-1),n=document.getElementsByClassName("wptb-preview-table");if(a.classList.add("wptb-row"),0<n.length){n=n[0];for(var r=0;r<m;r++){e=new WPTB_Cell(T);var l=n.querySelector('[data-x-index="'+r+'"]');if(l){var o=l.getAttribute("style");e.getDOMElement().setAttribute("style",o),e.getDOMElement().style.height=null}a.appendChild(e.getDOMElement())}t=Array.from(array[0]),array.push(t),C(array),L.recalculateIndexes(),WPTB_Helper.tableRowsColorsReinstall(L),L.addColumnWidth(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()}},L.addRowToTheStart=function(){var e,t,a=L.insertRow(0),n=document.getElementsByClassName("wptb-preview-table");if(a.classList.add("wptb-row"),0<n.length){n=n[0];for(var r=0;r<m;r++){e=new WPTB_Cell(T);var l=n.querySelector('[data-x-index="'+r+'"]');if(l){var o=l.getAttribute("style");e.getDOMElement().setAttribute("style",o),e.getDOMElement().style.height=null}a.appendChild(e.getDOMElement())}t=Array.from(array[0]),array.push(t),C(array),L.recalculateIndexes(),WPTB_Helper.tableRowsColorsReinstall(L),L.addColumnWidth(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()}},L.addRowBefore=function(){var e,t=document.querySelector(".wptb-highlighted"),a=t.getAttribute("style"),n=B(t)[0];0===n&&(n=-1);for(var r=n-1;0<=r;r--){var l=L.rows[r].children,o=l.length;if(0<o)for(var s=0;s<o;s++)if(1==l[s].rowSpan){n=r,e=!0;break}if(e)break}-1===n?L.addRowToTheStart():L.addRowAfter(n,a)},L.addRowAfter=function(e,t){var a,n;if(null!=e&&"number"==typeof e||null!=t)a=e;else{var r=document.querySelector(".wptb-highlighted");t=r.getAttribute("style"),a=(e=B(r)[0])+r.rowSpan-1}var l=0;if(a<L.rows.length-1){for(var o=0;o<=a;o++){var s=L.rows[o].children,i=s.length;if(0<i)for(var d=0;d<i;d++){a<s[d].rowSpan-1+o&&s[d].rowSpan++}}var c=L.rows[a+1].children,p=c.length;if(0<p)for(var u=0;u<p;u++)l+=c[u].colSpan}else l=array[0].length;var m=L.insertRow(a+1);for(m.classList.add("wptb-row"),w=0;w<l;w++){var b=new WPTB_Cell(T),f=L.querySelector('[data-x-index="'+w+'"]');if(f){var v=f.getAttribute("style");b.getDOMElement().setAttribute("style",v),b.getDOMElement().style.height=null}m.appendChild(b.getDOMElement())}n=Array.from(array[0]),array.push(n),C(array),L.recalculateIndexes(),WPTB_Helper.tableRowsColorsReinstall(L),L.addColumnWidth(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after"),(new WPTB_TableStateSaveManager).tableStateSet()},L.isSquare=function(e){for(var t,a,n=-1,r=-1,l=-1,o=-1,s=0,i=0;i<e.length;i++)for(var d=0;d<e[i].length;d++)1==e[i][d]&&((d<r||-1==r)&&(r=d),(i<n||-1==n)&&(n=i));for(i=e.length-1;-1<i;i--)for(d=e[i].length-1;-1<d;d--)1==e[i][d]&&(o<d&&(o=d),l<i&&(l=i));for(i=n;i<l;i++)for(d=r;d<o;d++)if(0==e[i][d]||null==e[i][d])return!1;for(i=0;i<e.length;i++)for(d=0;d<e[i].length;d++)1==e[i][d]&&s++;return(t=l-n+1)*(a=o-r+1)===s&&[t,a]},L.mergeCells=function(){for(var e=L.isSquare(array),t=e[0],a=e[1],n=document.querySelector(".wptb-highlighted"),r=[].slice.call(document.getElementsByClassName("wptb-highlighted"),1),l=[],o=0;o<r.length;o++){var s=r[o].getElementsByClassName("wptb-ph-element");if(0<s.length)for(var i=s.length,d=0;d<i;d++)l.push(s[d]);r[o].parentNode.removeChild(r[o])}if(0<l.length)for(var c=0;c<l.length;c++)n.appendChild(l[c]);n.colSpan=a,n.rowSpan=t,L.recalculateIndexes(),L.reconstraction();var p=n.style.width,u=n.dataset.wptbFixedWidth;p?L.addColumnWidth(parseFloat(p,10)):u?L.addColumnWidth():L.addColumnWidth(!1,!0);var m=n.style.height,b=n.dataset.wptbFixedHeight;m?L.addRowHeight(parseFloat(m,10)):b?L.addRowHeight():L.addRowHeight(!1,!0),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()},L.splitCell=function(){var e=document.getElementsByClassName("wptb-highlighted")[0],t=e.rowSpan,a=e.colSpan,n=e.getAttribute("style"),r=B(e)[0],l=L.rows[r],o=e.dataset.xIndex;e.rowSpan=1;for(var s=e.colSpan=1;s<a;s++){var i=new WPTB_Cell(T);i.getDOMElement().setAttribute("style",n),i.getDOMElement().classList.add("wptb-highlighted"),e.nextSibling?l.insertBefore(i.getDOMElement(),e.nextSibling):l.appendChild(i.getDOMElement())}if(1<t)for(var d=1;d<t;d++){var c=void 0,p=L.rows[r+d],u=p.children,m=u.length;if(0<m)for(var b=0;b<m;b++)if(Number(u[b].dataset.xIndex)>Number(o)){c=u[b];break}for(var f=0;f<a;f++){var v=new WPTB_Cell(T);v.getDOMElement().setAttribute("style",n),null!=c?p.insertBefore(v.getDOMElement(),c):p.appendChild(v.getDOMElement())}}L.recalculateIndexes(),L.reconstraction(),L.addColumnWidth(),L.addRowHeight(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()},L.findRowspannedCells=function(e){var t,a=[];if(actualPoints=function(e){for(var t=L.rows[e].getElementsByTagName("td"),a=0,n=0;n<t.length;n++)a+=t[n].colSpan;return a}(e),actualPoints===m)return[];t=m-actualPoints;for(var n=e-1;0<=n&&t;n--){var r=L.rows[n].getElementsByTagName("td");for(n=0;n<r.length;n++)1<r[n].rowSpan&&(a.push(r[n]),t-=r[n].colSpan)}return a},L.addLackingCells=function(){for(var e=[],t=0;t<L.rows.length;t++)e.push(0);for(t=0;t<L.rows.length;t++)for(var a=L.rows[t].getElementsByTagName("td"),n=0;n<a.length;n++)if(1<a[n].rowSpan)for(var r=1;r<a[n].rowSpan;r++)e[t+r]++;for(t=0;t<L.rows.length;t++){a=L.rows[t].getElementsByTagName("td");var l=0;for(n=0;n<a.length;n++)l+=a[n].colSpan;l+=e[t],difference=m-l;for(n=0;n<difference;n++){var o=new WPTB_Cell(T);L.rows[t].appendChild(o.getDOMElement())}}},L.deleteRow=function(){var e,t=document.querySelector(".wptb-highlighted"),a=t.getAttribute("style"),n=t.rowSpan,r=B(t)[0];null==n&&(n=1);for(var l=0;l<n;l++){var o=L.rows[r].children,s=L.rows[r+1],i=void 0,d=void 0,c=[];if(null!=s){d=(i=s.children).length;for(var p=0;p<o.length;p++)if(1<o[p].rowSpan){var u=new WPTB_Cell(T);u.getDOMElement().setAttribute("style",a),u.getDOMElement().colSpan=o[p].colSpan,u.getDOMElement().rowSpan=o[p].rowSpan-1;for(var m=void 0,b=0;b<d;b++)if(Number(i[b].dataset.xIndex)>Number(o[p].dataset.xIndex)){m=i[b];break}m?c.push([u,m]):c.push([u])}if(0<c.length)for(var f=0;f<c.length;f++)null!=c[f][1]?s.insertBefore(c[f][0].getDOMElement(),c[f][1]):s.appendChild(c[f][0].getDOMElement())}var v=L.rows;if(0<v.length)for(var w=0;w<r;w++){var g=v[w].children;if(0<g.length)for(var h=0;h<g.length;h++)g[h].rowSpan-1>=r-w&&g[h].rowSpan--}if(e=Array.from(array[0]),array.pop(e),C(array),L.getElementsByTagName("tbody")[0].removeChild(L.rows[r]),0==L.rows.length){WPTB_Helper.toggleTableEditMode(),S.innerHTML="",document.getElementsByClassName("wptb-table-generator")[0].style.display="table";var y=document.getElementsByClassName("wptb-save-btn");0<y.length&&((y=y[0]).classList.add("wptb-save-disabled"),y.classList.remove("active"))}else L.recalculateIndexes(),WPTB_Helper.tableRowsColorsReinstall(L),WPTB_Helper.dataTitleColumnSet(L),L.reconstraction()}_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()},L.deleteColumn=function(){for(var e=document.querySelector(".wptb-highlighted"),t=e.dataset.xIndex,a=e.colSpan,n=0;n<a;n++){for(var r=0;r<L.rows.length;r++){var l=L.rows[r].children,o=l.length;if(0<o)for(var s=o-1;0<=s;s--){if(Number(l[s].dataset.xIndex)==Number(t)){1<l[s].colSpan?l[s].colSpan--:L.rows[r].removeChild(l[s]);break}if(Number(l[s].dataset.xIndex)<Number(t)&&Number(l[s].dataset.xIndex)+Number(l[s].colSpan-1)>=t){1<l[s].colSpan&&l[s].colSpan--;break}}}for(var i=0;i<L.rows.length;i++)null!=array[i]&&array[i].pop();if(m--,0==L.querySelectorAll("td").length){WPTB_Helper.toggleTableEditMode(),S.innerHTML="",document.getElementsByClassName("wptb-table-generator")[0].style.display="table";var d=document.getElementsByClassName("wptb-save-btn");0<d.length&&((d=d[0]).classList.add("wptb-save-disabled"),d.classList.remove("active"))}else L.recalculateIndexes(),L.tdDefaultWidth(),WPTB_Helper.dataTitleColumnSet(L),L.reconstraction()}_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()},array=o(),_(),C(array),S.appendChild(L),L.recalculateIndexes(!0),L.reconstraction(),L.tdDefaultWidth(),S.onresize=function(){L.tdDefaultWidth()},WPTB_LeftPanel(),WPTB_Helper.wptbDocumentEventGenerate("wptb:table:generated",document),WPTB_Helper.elementStartScript(L,"table_setting"),WPTB_Helper.elementOptionsSet("table_setting",L)},WPTB_TableSettingsData={borderColor:"",setTableSetting:function(e,t){this[e]=t},getTableSetting:function(e){return this[e]}};function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var WPTB_TableStateSaveManager=function(){this.tableStateSet=function(e){if(!(e&&window.wptbTableStateSaving&&Array.isArray(window.wptbTableStateSaving))){var t=document.getElementsByClassName("wptb-table-setup"),a="";0<t.length?a=(t=t[0]).querySelector(".wptb-preview-table"):t="",window.wptbTableStateSaving||Array.isArray(window.wptbTableStateSaving)||(window.wptbTableStateSaving=[]),window.wptbTableStateSaving.length>window.wptbTableStateNumberShow&&(window.wptbTableStateSaving=window.wptbTableStateSaving.slice(0,window.wptbTableStateNumberShow+1));var n="";if(t){for(var r=(n=t.cloneNode(!0)).getElementsByClassName("wptb-highlighted"),l=0;l<r.length;l++)r[l].classList.remove("wptb-highlighted");for(var o=n.getElementsByClassName("wptb-directlyhovered"),s=0;s<o.length;s++)o[s].classList.remove("wptb-directlyhovered");var i=n.querySelectorAll(".mce-content-body");if(0<i.length)for(var d=0;d<i.length;d++)i[d].classList.remove("mce-content-body");var c=n.querySelectorAll("[data-mce-style]");if(0<c.length)for(var p=0;p<c.length;p++)c[p].removeAttribute("data-mce-style");var u=n.querySelectorAll("[id^=mce_]");if(0<u.length)for(var m=0;m<u.length;m++)u[m].removeAttribute("id")}var b="",f=document.head;if(f){var v=f.querySelector('style[data-wptb-td-auto-width="true"]');v&&(b=v.innerHTML)}var w="",g=document.getElementById("wptb-setup-name");if(g&&(w=g.value),window.wptbTableStateSaving.push([n,b,w]),window.wptbTableStateNumberShow=window.wptbTableStateSaving.length-1,0<window.wptbTableStateSaving.length-1){var h=document.getElementsByClassName("wptb-undo");0<h.length&&(h=h[0]).classList.remove("wptb-undoredo-disabled")}var y=document.getElementsByClassName("wptb-redo");0<y.length&&(y=y[0]).classList.add("wptb-undoredo-disabled");var S=document.getElementsByClassName("wptb-save-btn");0<S.length&&(!(S=S[0]).dataset.wptbTableStateNumberSave&&0==window.wptbTableStateNumberShow||window.wptbTableStateNumberShow==S.dataset.wptbTableStateNumberSave||!a?(S.classList.add("wptb-save-disabled"),S.classList.remove("active")):(S.classList.remove("wptb-save-disabled"),S.classList.add("active")))}},this.tableStateGet=function(e){if(e&&window.wptbTableStateSaving&&0<window.wptbTableStateSaving.length){if("undo"==e){if(!(0<window.wptbTableStateNumberShow))return!1;window.wptbTableStateNumberShow--}else if("redo"==e){if(!(window.wptbTableStateNumberShow<window.wptbTableStateSaving.length))return!1;window.wptbTableStateNumberShow++}var t=document.getElementsByClassName("wptb-undo");0<t.length&&(t=t[0],0==window.wptbTableStateNumberShow?t&&t.classList.add("wptb-undoredo-disabled"):0<window.wptbTableStateNumberShow&&t&&t.classList.remove("wptb-undoredo-disabled"));var a=document.getElementsByClassName("wptb-redo");0<a.length&&(a=a[0],window.wptbTableStateNumberShow==window.wptbTableStateSaving.length-1?a&&a.classList.add("wptb-undoredo-disabled"):window.wptbTableStateNumberShow<window.wptbTableStateSaving.length-1&&a&&a.classList.remove("wptb-undoredo-disabled"));var n=document.getElementsByClassName("wptb-save-btn");0<n.length&&(!(n=n[0]).dataset.wptbTableStateNumberSave&&0==window.wptbTableStateNumberShow||window.wptbTableStateNumberShow==n.dataset.wptbTableStateNumberSave?(n.classList.add("wptb-save-disabled"),n.classList.remove("active")):(n.classList.add("active"),n.classList.remove("wptb-save-disabled")));var r=document.getElementsByClassName("wptb-table-setup");if(0<r.length){if(r=r[0],window.wptbTableStateSaving[window.wptbTableStateNumberShow]){window.wptbTableStateSaving[window.wptbTableStateNumberShow][0]&&"object"===_typeof(window.wptbTableStateSaving[window.wptbTableStateNumberShow][0])&&"outerHTML"in window.wptbTableStateSaving[window.wptbTableStateNumberShow][0]&&(r.outerHTML=window.wptbTableStateSaving[window.wptbTableStateNumberShow][0].outerHTML);var l=document.querySelector(".wptb-table-setup");l&&0==l.children.length&&(n.classList.add("wptb-save-disabled"),n.classList.remove("active"));var o=document.head;if(o){var s=o.querySelector('style[data-wptb-td-auto-width="true"]');if(s&&o.removeChild(s),window.wptbTableStateSaving[window.wptbTableStateNumberShow][1]){var i=document.createElement("style");i.setAttribute("data-wptb-td-auto-width",!0),i.innerHTML=window.wptbTableStateSaving[window.wptbTableStateNumberShow][1],o.appendChild(i)}}var d=document.getElementById("wptb-setup-name");void 0!==window.wptbTableStateSaving[window.wptbTableStateNumberShow][2]&&d&&(d.value=window.wptbTableStateSaving[window.wptbTableStateNumberShow][2])}var c=document.getElementsByTagName("body");0<c.length&&(c=c[0]),WPTB_Helper.elementOptionsPanelClear(),WPTB_LeftPanel();var p=document.getElementById("wptb-left-scroll-panel-cell-settings");p&&p.classList.remove("visible")}}},this.tableStateClear=function(){delete window.wptbTableStateSaving,delete window.wptbTableStateNumberShow;var e=document.getElementsByClassName("wptb-save-btn");0<e.length&&(e=e[0]).removeAttribute("data-wptb-table-state-number-save");var t=document.getElementsByClassName("wptb-undo");0<t.length&&(t=t[0]).classList.add("wptb-undoredo-disabled");var a=document.getElementsByClassName("wptb-redo");0<a.length&&(a=a[0]).classList.add("wptb-undoredo-disabled")}},WPTB_innerElementSet=function c(t){t.ondragenter=function(e){-1==e.dataTransfer.types.indexOf("wptbelement")&&-1==e.dataTransfer.types.indexOf("wptb-moving-mode")||(WPTB_DropHandle(this,e),t.classList.add("wptb-ondragenter"))},t.ondragover=function(e){e.preventDefault(),WPTB_DropHandle(this,e)},t.ondragleave=function(e){WPTB_DropHandle(this,e,!0)},t.ondrop=function(e){var t,a;if(this.classList.remove("wptb-ondragenter"),e.preventDefault(),e.stopPropagation(),e.dataTransfer.getData("wptbElement")||e.dataTransfer.getData("node")){var n,r;if(0<document.getElementsByClassName("wptb-drop-handle").length&&(n=document.getElementsByClassName("wptb-drop-handle")[0]),0<document.getElementsByClassName("wptb-drop-border-marker").length&&(r=document.getElementsByClassName("wptb-drop-border-marker")[0]),t=e.dataTransfer.getData("wptbElement")?(t=WPTB_Helper.newElementProxy(e.dataTransfer.getData("wptbElement"))).getDOMElement():(a=e.dataTransfer.getData("node"),document.getElementsByClassName(a)[0]),"td_relative"===WPTB_Helper.getDragRelativeType()){WPTB_DropHandle(this,e,!0),WPTB_Helper.getParentOfType("td",e.target).appendChild(t),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t)}else{if("block"!=n.style.display)return;var l;if("Drop Here"==n.dataset.text)(l=n.getDOMParentElement()).appendChild(t),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t);else{var o=n.getDOMParentElement();if(l=o.parentNode,"Above Element"==n.dataset.text)l.insertBefore(t,o),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t);else if("Below Element"==n.dataset.text){var s=o.nextSibling;l.insertBefore(t,s),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t)}}var i=l.parentNode;if(WPTB_Helper.rowIsTop(i)){var d=WPTB_Helper.findAncestor(i,"wptb-preview-table");d.classList.contains("wptb-table-preview-head")&&WPTB_Helper.dataTitleColumnSet(d)}t.className.match(/wptb-element-(.+)-(\d+)/i)[1];e.dataTransfer.getData("wptbElement")}if(n&&(n.style.display="none",r.style.display="none"),c(t),!t.classList.contains("wptb-image-container")||t.classList.contains("wptb-moving-mode"))t.classList.remove("wptb-moving-mode"),(new WPTB_TableStateSaveManager).tableStateSet();return!0}},t.onmouseover=function(e){t.classList.remove("wptb-ondragenter")}};function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var applyGenericItemSettings=function(e,t){var a,n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],r=e.getDOMElement();if(r.classList.contains("wptb-ph-element")){if(null==t||1==n){for(var l=document.getElementsByClassName("wptb-ph-element"),o=[],s=0;s<l.length;s++){var i=new RegExp("wptb-element-"+e.kind+"-(\\d+)","i"),d=l[s].className.match(i);d&&o.push(d[1])}if(0<o.length)a=Math.max.apply(Math,o)+1;else a=1;if(n)for(var c=_toConsumableArray(r.attributes),p=0;p<c.length;p++)if(c[p]&&"object"===_typeof(c[p])&&c[p].nodeName){var u=new RegExp("data-wptb-el-"+e.kind+"-(\\d+)-([a-zA-Z0-9_-]+)","i"),m=c[p].nodeName.match(u);if(m&&Array.isArray(m)){var b=c[p].nodeName.replace(e.kind+"-"+m[1],e.kind+"-"+a),f=c[p].nodeValue;r.removeAttribute(c[p].nodeName),r.setAttribute(b,f)}}}else if(t&&!n){var v=t.split("-");a=v[v.length-1]}var w=r.className.match(/wptb-element-(.+)-(\d+)/i);w&&r.classList.remove(w[0]),r.classList.contains("wptb-ph-element")||r.classList.add("wptb-ph-element"),r.classList.contains("wptb-element-"+e.kind+"-"+a)||r.classList.add("wptb-element-"+e.kind+"-"+a),WPTB_Helper.elementStartScript(e.getDOMElement()),new WPTB_ElementOptions(e,a,t),document.counter.increment(e.kind)}r.onmouseenter=function(e){if(!e.target.classList.contains("wptb-moving-mode")){var t=new WPTB_ActionsField;t.addActionField(1,r),t.setParameters(r),r.classList.remove("wptb-ondragenter")}},r.onmouseleave=function(e){(new WPTB_ActionsField).leaveFromField(e,r)}};
2
  //# sourceMappingURL=admin.js.map
1
+ function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var WPTB_ActionsField=function s(){var d=this;this.wptbActions,0!=document.getElementsByClassName("wptb-actions").length&&(this.wptbActions=document.getElementsByClassName("wptb-actions")[0]),this.addActionField=function(e,t){var a=document.getElementsByTagName("body")[0],n=document.getElementsByClassName("wptb-actions");if(0!=n.length){var r=n[0].activeElem;for(r&&r.classList.remove("wptb-directlyhovered");0!=n.length;)n[0].parentNode.removeChild(n[0])}if(1==e){var l,o,i;if(l=document.createElement("span"),o=document.createElement("span"),(n=document.createElement("div")).classList.add("wptb-actions"),l.classList.add("dashicons","dashicons-trash","wptb-delete-action"),o.classList.add("dashicons","dashicons-admin-page","wptb-duplicate-action"),n.appendChild(o),n.appendChild(l),a.appendChild(n),n.activeElem=t,n.type=1,l.onclick=function(e){var t=e.target.parentNode.activeElem,a=t.parentNode;t.className.match(/wptb-element-(.+)-(\d+)/i);if(t&&a.removeChild(t),t&&"object"===_typeof(t)&&t.hasOwnProperty("kind")&&"text"==t.kind){var n=a.parentNode;if(WPTB_Helper.rowIsTop(n)){var r=WPTB_Helper.findAncestor(n,"wptb-preview-table");r.classList.contains("wptb-table-preview-head")&&WPTB_Helper.dataTitleColumnSet(r)}}(new s).actionsRemove(),(new WPTB_TableStateSaveManager).tableStateSet(),WPTB_Helper.wptbDocumentEventGenerate("element:removed:dom",document,t)},o.onclick=function(e){var t,a,n,r=e.target.parentNode.activeElem,l=r.parentNode;if((a=r.className.match(/wptb-element-(.+)-(\d+)/i))&&Array.isArray(a)){n=a[1];var o={};o.kind=n,o.elemProt=r,o.tinyMceClear=!0,(t=new WPTB_ElementObject(o)).getDOMElement().classList.remove("edit-active"),l.insertBefore(t.getDOMElement(),r.nextSibling)}else{t={};var i=r.cloneNode(!0);i.classList.remove("wptb-directlyhovered"),t.getDOMElement=function(){return i},applyGenericItemSettings(t),l.insertBefore(t.getDOMElement(),r.nextSibling),WPTB_Helper.wptbDocumentEventGenerate("wptb-inner-element:copy",r,t.getDOMElement())}WPTB_innerElementSet(t.getDOMElement()),new s(1,r).setParameters(r),(new WPTB_TableStateSaveManager).tableStateSet()},t.classList.contains("wptb-ph-element"))(i=document.createElement("span")).classList.add("dashicons","dashicons-move","wptb-move-action"),i.draggable=!0,n.appendChild(i),i.ondragstart=function(e){var t,a,n,r=wp.template("wptb-element-icons-directories")({}),l=JSON.parse(r),o=e.target.parentNode.activeElem;if((a=o.className.match(/wptb-element-(.+)-(\d+)/i))&&Array.isArray(a)){n=a[1],o.classList.add("wptb-moving-mode"),l&&"object"===_typeof(l)&&l[n]&&(t=WPTB_Helper.getElementIcon(l[n])),e.dataTransfer.effectAllowed="move",e.dataTransfer.setDragImage(t,0,0),e.dataTransfer.setData("node","wptb-element-"+a[1]+"-"+a[2]),e.dataTransfer.setData("wptb-moving-mode","wptb-element-"+a[1]+"-"+a[2]),e.dataTransfer.setData("wptbElIndic-"+a[1],"wptbElIndic-"+a[1]);var i=e.target.parentNode.activeElem;if("text"==i.kind){var s=i.parentNode.parentNode;if(WPTB_Helper.rowIsTop(s)){var c=WPTB_Helper.findAncestor(s,"wptb-preview-table");c.classList.contains("wptb-table-preview-head")&&WPTB_Helper.dataTitleColumnSet(c)}}}else d.style.display="none";d.actionsHide()},i.ondragend=function(e){WPTB_Helper.elementDragEndClear()};n.style.display="flex",d.wptbActions=n}WPTB_Helper.wptbDocumentEventGenerate("wptb:actionfield:generated",document)},this.setParameters=function(t){if(!d.wptbActions){var e=document.getElementsByClassName("wptb-actions");0<e.length?d.wptbActions=e[0]:d.wptbActions=!1}if(d.wptbActions&&d.wptbActions.classList.contains("wptb-actions")){d.wptbActions.style.display="flex";var a=t.getBoundingClientRect(),n=document.getElementsByClassName("wptb-container")[0];d.wptbActions.style.top=parseFloat(a.top)-15+"px",d.wptbActions.style.left=parseFloat(a.right)-parseFloat(d.wptbActions.clientWidth)+1+"px",d.wptbActions.style.display="flex",t.classList.add("wptb-directlyhovered"),n.onscroll=function(){var e=t.getBoundingClientRect();d.wptbActions.style.top=parseFloat(e.top)-15+"px"}}},this.leaveFromField=function(e,t,a){if(!d.wptbActions){var n=document.getElementsByClassName("wptb-actions");0<n.length?d.wptbActions=n[0]:d.wptbActions=!1}if(d.wptbActions){if(e.relatedTarget&&(e.relatedTarget.classList.contains("wptb-actions")||e.relatedTarget.classList.contains("wptb-move-action")||e.relatedTarget.classList.contains("wptb-duplicate-action")||e.relatedTarget.classList.contains("wptb-delete-action")||e.relatedTarget.classList.contains("wptb-prebuilt-mark-action")))return d.wptbActions||(d.wptbActions=document.getElementsByClassName("wptb-actions")[0]),void(d.wptbActions.onmouseleave=function(e){null!=e.relatedTarget&&(e.relatedTarget.classList.contains("wptb-ph-element")||WPTB_Helper.findAncestor(e.relatedTarget,"wptb-ph-element"))&&e.relatedTarget!=d.wptbActions.activeElem&&(WPTB_Helper.findAncestor(e.relatedTarget,"wptb-directlyhovered"),d.wptbActions.activeElem),(new s).leaveFromField(e,e.relatedTarget.parentNode.parentNode),e.target.activeElem.classList.remove("wptb-directlyhovered")});t.classList.remove("wptb-directlyhovered"),d.wptbActions.style.display="none",e.relatedTarget&&(e.relatedTarget.classList.contains("wptb-ph-element")||WPTB_Helper.findAncestor(e.relatedTarget,"wptb-ph-element"))&&(d.addActionField(1,e.relatedTarget.parentNode),d.setParameters(e.relatedTarget.parentNode))}},this.actionsRemove=function(){if(!d.wptbActions){var e=document.getElementsByClassName("wptb-actions");0<e.length&&(d.wptbActions=e[0])}d.wptbActions&&d.wptbActions.parentNode.removeChild(d.wptbActions)},this.actionsHide=function(){if(!d.wptbActions){var e=document.getElementsByClassName("wptb-actions");0<e.length&&(d.wptbActions=e[0])}d.wptbActions&&(d.wptbActions.style.opacity=0)}};!function(){var e=window.location.href;new RegExp("[?&]page=wptb-builder").exec(e)&&document.addEventListener("DOMContentLoaded",function(){var r=WPTB_Helper.detectMode();if(r){var l=new XMLHttpRequest,e=ajaxurl+"?action=get_table&id="+r;l.open("GET",e,!0),l.setRequestHeader("Content-type","application/x-www-form-urlencoded"),l.onreadystatechange=function(e){if(4!=this.readyState||200!=this.status);else{var t=JSON.parse(l.responseText);if(document.getElementById("wptb-setup-name").value=t[0],t[1]){var a=document.getElementsByClassName("wptb-table-setup")[0];a.appendChild(WPTB_Parser(t[1])),document.getElementsByTagName("body")[0],WPTB_Table();var n=document.querySelector(".wptb-preview-table");n&&(n.className.match(/wptb-element-((.+-)\d+)/i)||n.classList.add("wptb-element-main-table_setting-"+r),n.dataset.wptbTableContainerMaxWidth&&(a.style.maxWidth=n.dataset.wptbTableContainerMaxWidth+"px",n.tdDefaultWidth())),WPTB_Settings(),(new WPTB_TableStateSaveManager).tableStateSet()}else document.getElementsByClassName("wptb-table-generator")[0].style.display="table"}},l.send(null)}else(new WPTB_TableStateSaveManager).tableStateSet();document.counter=new ElementCounters,document.select=new MultipleSelect;WPTB_Initializer();settings=WPTB_Settings()})}();var WPTB_Cell=function(e,n){if(!n){(n=document.createElement("td")).style.padding=jQuery("#wptb-table-padding-number").val()+"px";var t=jQuery("#wptb-table-inner-border-number").val();""!=t&&0!=parseInt(t)&&(n.style.border=t+"px solid "+jQuery("#wptb-table-border-color").val()),n.classList.add("wptb-droppable","wptb-cell")}n.draggable=!1,e&&(n.onclick=e),n.ondblclick=function(e){e.stopPropagation();var t=document.querySelector(".wptb-table-setup");if(t&&!t.classList.contains("wptb-preview-table-manage-cells")&&("0"!==e.target.dataset.yIndex||"1"!==t.dataset.wptbSortableTable)&&e.target==e.currentTarget){WPTB_Helper.wptbDocumentEventGenerate("table:cell:dblclick",e.target);var a=WPTB_Helper.newElementProxy("text");a=a.getDOMElement(),n.appendChild(a),WPTB_innerElementSet(a)}},WPTB_innerElementSet(n),WPTB_Helper.elementStartScript(n,"table_cell_setting");var o=n.getElementsByClassName("wptb-ph-element");if(0<o.length)for(var a=function(r){o[r].getDOMElement=function(){return o[r]},WPTB_innerElementSet(o[r]);var l=o[r].className.match(/wptb-element-((.+-)\d+)/i);l&&Array.isArray(l)&&function(){var e=l[1].split("-");o[r].kind=e[0],applyGenericItemSettings(o[r],l[1]);var a=o[r].getElementsByClassName("wptb-in-element");if(0<a.length)for(var t=function(e){var t={getDOMElement:function(){return a[e]}};applyGenericItemSettings(t)},n=0;n<a.length;n++)t(n)}()},r=0;r<o.length;r++)a(r);return this.getDOMElement=function(){return n},this.setCoords=function(e,t){var a=this.getDOMElement();a.dataset.yIndex=e,a.dataset.xIndex=t},this.getCoords=function(){var e,t=this.getDOMElement();return e.x=t.dataset.xIndex,e.y=t.dataset.yIndex,e},this.appendElement=function(e){getDOMElement().appendChild(e)},n.getCellDimensions=function(){var e=window.getComputedStyle(this,null),t=e.getPropertyValue("padding-left"),a=e.getPropertyValue("padding-right"),n=e.getPropertyValue("border-left-width"),r=e.getPropertyValue("border-right-width"),l=e.getPropertyValue("padding-top"),o=e.getPropertyValue("padding-bottom"),i=e.getPropertyValue("border-top-width"),s=e.getPropertyValue("border-bottom-width"),c=parseInt(this.offsetWidth,10)-parseInt(t,10)-parseInt(a,10),d=parseInt(this.offsetHeight,10)-parseInt(l,10)-parseInt(o,10),p=WPTB_Helper.findAncestor(this,"wptb-preview-table");if(p)if("collapse"===p.style.borderCollapse){c=c-parseInt(n,10)/2-parseInt(r,10)/2,d=d-parseInt(i,10)/2-parseInt(s,10)/2;var u=window.getComputedStyle(p,null),m=u.getPropertyValue("border-left-width"),b=u.getPropertyValue("border-right-width"),f=u.getPropertyValue("border-top-width"),v=u.getPropertyValue("border-bottom-width"),g=this.parentNode;if(g&&"tr"===g.nodeName.toLowerCase()){g.firstChild&&g.firstChild.dataset.xIndex===this.dataset.xIndex&&parseInt(m,10)>parseInt(n,10)&&(c+=-(parseInt(m,10)-parseInt(n,10))/2),g.lastChild&&g.lastChild.dataset.xIndex===this.dataset.xIndex&&parseInt(b,10)>parseInt(r,10)&&(c+=-(parseInt(b,10)-parseInt(r,10))/2);var w=g.parentNode;w&&"body"===w.nodeName.toLowerCase()&&(w.firstChild&&w.firstChild.firstChild.dataset.yIndex===this.dataset.yIndex&&parseInt(f,10)>parseInt(i,10)&&(d+=(parseInt(f,10)-parseInt(i,10))/2),w.lastChild&&w.lastChild.firstChild.dataset.yIndex===this.dataset.yIndex&&parseInt(v,10)>parseInt(s,10)&&(d+=(parseInt(v,10)-parseInt(s,10))/2))}}else"separate"===p.style.borderCollapse&&(c=c-parseInt(n,10)-parseInt(r,10),d=d-parseInt(i,10)-parseInt(s,10));return{width:parseInt(c),height:parseInt(d)}},this};function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var WPTB_CutGlueTable={cutTableHorizontally:function(e,t){if(t&&t.rows[e])for(var a=0;a<e;a++)for(var n=t.rows[a].children,r=0;r<n.length;r++)if(1<n[r].rowSpan&&n[r].rowSpan>e-a){var l=n[r].rowSpan-e+a;n[r].rowSpan=e-a,n[r].dataset.sameCellBeforeDivision||(n[r].dataset.sameCellBeforeDivision="r"+a+"c"+r);var o=void 0;o=t.hasOwnProperty("wptbCell")?(o=new t.wptbCell(t.mark)).getDOMElement():document.createElement("td");var i=n[r].getAttribute("style");o.setAttribute("style",i),o.colSpan=n[r].colSpan,o.rowSpan=l,o.dataset.sameCellBeforeDivision=n[r].dataset.sameCellBeforeDivision;for(var s=n[r].dataset.xIndex,c=parseInt(s)+parseInt(n[r].colSpan),d=void 0;!d&&c<t.maxCols;)d=t.rows[e].querySelector('[data-x-index="'+c+'"]'),c++;t.rows[e].insertBefore(o,d),WPTB_RecalculateIndexes(t)}},glueTableHorizontally:function(e){if(e){for(var t=_toConsumableArray(e.getElementsByTagName("td")),a=0;a<t.length;a++)if(t[a].hasAttribute("data-same-cell-before-division"))for(var n=t[a].dataset.sameCellBeforeDivision,r=e.querySelectorAll('[data-same-cell-before-division="'+n+'"]'),l=0;l<r.length;l++)if(r[l]&&r[l+1]&&r[l].parentNode&&r[l+1].parentNode&&!r[l].parentNode.classList.contains("wptb-row-moving")&&!r[l+1].parentNode.classList.contains("wptb-row-moving")&&r[l+1].dataset.yIndex==parseInt(r[l].dataset.yIndex)+parseInt(r[l].rowSpan)){r[l].rowSpan+=r[l+1].rowSpan;for(var o=_toConsumableArray(r[l+1].children),i=0;i<o.length;i++)r[l].appendChild(o[i]);r[l+1].parentNode.removeChild(r[l+1])}WPTB_RecalculateIndexes(e)}},cutTableVertically:function(e,t){for(var a=0;a<t.rows.length;a++){if(e<t.maxCols&&0!=e&&!t.rows[a].querySelector('[data-x-index="'+e+'"]'))for(var n=t.rows[a].children,r=void 0,l=n.length,o=void 0,i=void 0,s=void 0,c=void 0,d=0;d<l;d++)if(1<n[d].colSpan&&parseInt(n[d].dataset.xIndex)<e&&parseInt(n[d].dataset.xIndex)+parseInt(n[d].colSpan)>e){r=t.hasOwnProperty("wptbCell")?(r=new t.wptbCell(t.mark)).getDOMElement():document.createElement("td"),i=n[d].rowSpan,s=n[d].colSpan,n[d].colSpan=e-n[d].dataset.xIndex,c=s-n[d].colSpan,n[d].dataset.sameCellBeforeDivision||(n[d].dataset.sameCellBeforeDivision="r"+a+"c"+d);var p=n[d].getAttribute("style");r.setAttribute("style",p);var u=t.querySelector('[data-x-index="'+e+'"]');u&&(r.style.width=u.style.width);var m=t.querySelector('[data-y-index="'+a+'"]');m&&(r.style.height=m.style.height),o=n[d+1]?n[d+1]:null,t.rows[a].insertBefore(r,o),r.colSpan=c,r.rowSpan=i,r.dataset.sameCellBeforeDivision=n[d].dataset.sameCellBeforeDivision,a+=i-1;break}WPTB_RecalculateIndexes(t)}},glueTableVertically:function(e){if(e){for(var t=_toConsumableArray(e.getElementsByTagName("td")),a=0;a<t.length;a++)if(t[a].hasAttribute("data-same-cell-before-division"))for(var n=t[a].dataset.sameCellBeforeDivision,r=_toConsumableArray(e.querySelectorAll('[data-same-cell-before-division="'+n+'"]')),l=null,o=0;o<r.length;o++)if(r[o]&&r[o+1]&&!r[o].classList.contains("wptb-column-moving")&&!r[o+1].classList.contains("wptb-column-moving")&&r[o+1].dataset.xIndex==parseInt(r[o].dataset.xIndex)+parseInt(r[o].colSpan)){null==l&&(l=o),r[l].colSpan+=r[o+1].colSpan;for(var i=_toConsumableArray(r[o+1].children),s=0;s<i.length;s++)r[l].appendChild(i[s]);r[o+1].parentNode.removeChild(r[o+1])}WPTB_RecalculateIndexes(e)}}},WPTB_DropHandle=function(i,e){var s,c,t,a,n,r,l=2<arguments.length&&void 0!==arguments[2]&&arguments[2];function o(e){return"".concat(e,"px")}if("td_relative"===WPTB_Helper.getDragRelativeType()){var d=document.querySelector(".wptb-cell-related-drop-handle");if(l&&d)return void(d.style.display="none");if(null===d){var p=document.createRange();p.setStart(document.body,0);var u=p.createContextualFragment('<div class="wptb-cell-related-drop-handle">Add to cell</div>').children[0];document.body.appendChild(u),d=u.children[0]}var m=WPTB_Helper.getParentOfType("td",i).getBoundingClientRect(),b=m.top,f=m.left,v=m.width,g=m.height;if(!d)return;return d.style.display="flex",d.style.top=o(b),d.style.width=o(v),d.style.height=o(g),void(d.style.left=o(f))}if(0==document.getElementsByClassName("wptb-drop-handle").length){(s=document.createElement("div")).classList.add("wptb-drop-handle"),(c=document.createElement("div")).classList.add("wptb-drop-border-marker"),t=document.createElement("div"),a=document.createElement("div"),n=document.createElement("div"),r=document.createElement("div"),t.classList.add("wptb-drop-border-marker-top"),a.classList.add("wptb-drop-border-marker-right"),n.classList.add("wptb-drop-border-marker-bottom"),r.classList.add("wptb-drop-border-marker-left"),c.appendChild(t),c.appendChild(a),c.appendChild(n),c.appendChild(r);var w=document.getElementsByTagName("body");0<w.length&&(w[0].appendChild(s),w[0].appendChild(c)),s.ondragenter=function(){if(e.target.classList.contains("wptb-empty"))return e.preventDefault(),!1},s.ondragover=function(e){e.preventDefault()},s.ondragleave=function(){},s.ondrop=function(e){var t,a;if(e.preventDefault(),e.dataTransfer.getData("wptbElement")?t=(t=WPTB_Helper.newElementProxy(e.dataTransfer.getData("wptbElement"))).getDOMElement():((t=document.getElementsByClassName(e.dataTransfer.getData("node"))[0]).classList.remove("wptb-moving-mode"),t.classList.remove("wptb-moving-into-same-elem"),t.wptbMovingMode=1),"Drop Here"==s.dataset.text)"td"==(i=s.getDOMParentElement()).nodeName.toLowerCase()&&((a=s.getDOMParentElement()).appendChild(t),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t));else{var n=s.getDOMParentElement();if(a=n.parentNode,"Above Element"==s.dataset.text)a.insertBefore(t,n),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t);else if("Below Element"==s.dataset.text){var r=n.nextSibling;a.insertBefore(t,r),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t)}}var l=a.parentNode;if(WPTB_Helper.rowIsTop(l)){var o=WPTB_Helper.findAncestor(l,"wptb-preview-table");o.classList.contains("wptb-table-preview-head")&&WPTB_Helper.dataTitleColumnSet(o)}(s.style.display="none",c.style.display="none",WPTB_innerElementSet(t),t.classList.contains("wptb-image-container")&&1!=t.wptbMovingMode)||((new WPTB_TableStateSaveManager).tableStateSet(),t.wptbMovingMode)},document.querySelector(".wptb-container").onscroll=function(){s.style.display="none",c.style.display="none"}}else s=document.getElementsByClassName("wptb-drop-handle")[0],c=document.getElementsByClassName("wptb-drop-border-marker")[0];if(!(i&&"td"==i.nodeName.toLowerCase()&&0!=i.getElementsByClassName("wptb-ph-element").length||i&&"td"==i.nodeName.toLowerCase()&&i.classList.contains("wptb-empty"))){var h;if("td"==i.localName?h=i.parentNode:"div"==i.localName&&i.classList.contains("wptb-ph-element")&&(h=i.parentNode.parentNode),WPTB_Helper.rowIsTop(h))if(WPTB_Helper.findAncestor(h,"wptb-preview-table").classList.contains("wptb-table-preview-head")){for(var y=e.dataTransfer.types,S=!1,T=0;T<y.length;T++){var C=y[T].match(/wptbelindic-([a-z]+)/i);if(C&&"text"!=C[1]){S=!0;break}}if(S)return}s.style.width=i.offsetWidth+"px";var _,B=i.offsetHeight,A=i.getBoundingClientRect(),E=parseFloat(A.left);if(s.style.left=E+"px",-1!=e.dataTransfer.types.indexOf("wptb-moving-mode")){var x=document.getElementsByClassName("wptb-moving-mode")[0];i==x?(s.classList.add("wptb-moving-into-same-elem"),c.classList.add("wptb-moving-into-same-elem")):(s.classList.remove("wptb-moving-into-same-elem"),c.classList.remove("wptb-moving-into-same-elem"))}if(s.getDOMParentElement=function(){return i},s.style.display="block",c.style.display="block","td"!=i.nodeName.toLowerCase()){var P=null==e.offsetY?e.layerY:e.offsetY;_=parseFloat(A.top)-parseFloat(11),s.dataset.text="Above Element",B/2<P&&(_=parseFloat(A.top)+B-1,s.dataset.text="Below Element")}else s.dataset.text="Drop Here",_=parseFloat(A.top)+B/2-5;s.style.top=_+"px",c.style.top=A.top+"px",c.style.left=A.left+"px",(t=c.querySelector(".wptb-drop-border-marker-top")).style.width=parseFloat(i.offsetWidth)-parseFloat(1)+"px",(a=c.querySelector(".wptb-drop-border-marker-right")).style.height=parseFloat(A.bottom)-parseFloat(A.top)-1+"px",a.style.left=t.style.width,(n=c.querySelector(".wptb-drop-border-marker-bottom")).style.width=t.style.width,n.style.top=a.style.height,(r=c.querySelector(".wptb-drop-border-marker-left")).style.height=a.style.height}},ElementCounters=function(){var t=[];return t.text=0,t.image=0,t.list=0,t.button=0,this.increment=function(e){e in t&&t[e]++},this.nextIndex=function(e){if(e in t)return t[e]+1},this},WPTB_ElementObject=function(e){var t,a,n;if(e.elemProt){(t=e.elemProt.cloneNode(!0)).classList.remove("wptb-directlyhovered");var r=e.elemProt.className.match(/wptb-element-((.+-)\d+)/i);r&&Array.isArray(r)&&(a=r[1]),n=!0,e.tinyMceClear&&(t=WPTB_Helper.elementClearFromTinyMce(t))}else{a=void 0,n=!1,(t=document.createElement("div")).classList.add("wptb-"+e.kind+"-container","wptb-ph-element");var l="wptb-"+e.kind+"-content",o=wp.template(l);e.node=t;var i=o(e);i=i.replace(/\r|\n|\t/g,"").trim(),t.innerHTML=i}var s=t.querySelectorAll(".wptb-in-element");if(0<s.length)for(var c=function(e){var t={getDOMElement:function(){return s[e]}};applyGenericItemSettings(t)},d=0;d<s.length;d++)c(d);return window.addEventListener("item:onmouseenter",function(e){},!1),this.kind=e.kind,this.getDOMElement=function(){return t},applyGenericItemSettings(this,a,n),this},WPTB_ElementOptions=function(e,t,a){e.getDOMElement().addEventListener("click",function(){WPTB_Helper.elementOptionsSet(e.kind,this)},{capture:!0})},WPTB_HeaderToolbox=function(e){var a=this;this.wrapperQuery=e,this.element=document.querySelector(e),this.topMargin=2;return{init:function(){var e;(e=a.element.querySelector('[data-button-type="table_settings_menu"]'))&&e.addEventListener("click",function(){WPTB_Helper.activateSection("manage_cells")}),document.addEventListener("wptb:table:generated",function(){a.element.style.display="unset";var e=a.element.getBoundingClientRect().width;a.element.style.left="calc( 50% - ".concat(e/2,"px)"),document.addEventListener("wptbSectionChanged",function(e){var t=e.detail;!function(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0],t=a.element.getBoundingClientRect().height;e&&(t=0),a.element.style.top="calc( 100% - ".concat(t+a.topMargin,"px)")}("manage_cells"!==t&&"table_responsive_menu"!==t&&"cell_settings"!==t)})})}}};function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var WPTB_Helper={hexToRgb:function(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?"rgb(".concat(parseInt(t[1],16),",").concat(parseInt(t[2],16),",").concat(parseInt(t[3],16),")"):null},rgbToHex:function(e){if(e){if(WPTB_Helper.isHex(e))return e;var t=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?((?:[0-9]*[.])?[0-9]+)[\s+]?\)/i);return t&&5===t.length?"#".concat("0".concat(Math.round(255*parseFloat(t[4],10)).toString(16).toUpperCase()).slice(-2)).concat("0".concat(parseInt(t[1],10).toString(16).toUpperCase()).slice(-2)).concat("0".concat(parseInt(t[2],10).toString(16).toUpperCase()).slice(-2)).concat("0".concat(parseInt(t[3],10).toString(16).toUpperCase()).slice(-2)):(t=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===t.length?"#".concat("0".concat(parseInt(t[1],10).toString(16).toUpperCase()).slice(-2)).concat("0".concat(parseInt(t[2],10).toString(16).toUpperCase()).slice(-2)).concat("0".concat(parseInt(t[3],10).toString(16).toUpperCase()).slice(-2)):""}return""},isHex:function(e){return new RegExp("^#(?:[A-Fa-f0-9]{3}){1,2}$").test(e)},getElementIcon:function(e){"".concat(location.protocol,"//").concat(location.hostname);var t=document.createElement("img");return t.src=e,t},elementDragEndClear:function(){var e=document.getElementsByClassName("wptb-moving-mode");if(0<e.length)for(var t=0;t<e.length;t++)e[t].classList.remove("wptb-moving-mode");var a=document.getElementsByClassName("wptb-drop-handle");if(0<a.length)for(var n=0;n<a.length;n++)a[n].style.display="none";var r=document.getElementsByClassName("wptb-drop-border-marker");if(0<r.length)for(var l=0;l<r.length;l++)r[l].style.display="none"},linkHttpCheckChange:function(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1];if(e){if(e.match(/^(javascript:)(.+)$/))return e;if(e.match(/^\/([\S]+)$/)){if(t){var a=document.location.origin;return a.match(/^(.+)\/$/)&&(a=a.slice(-1)),"".concat(a).concat(e)}return e}if(-1!=e.indexOf("http://")||-1!=e.indexOf("https://"))return e;var n,r=e.split("/");return Array.isArray(r)&&0<r.length&&(n=r[r.length-1]),"".concat(document.location.protocol,"//").concat(n)}return""},dataTitleColumnSet:function(e){},findAncestor:function(e,t){for(;(e=e.parentElement)&&!e.classList.contains(t););return e},rowIsTop:function(e){return e.parentNode.children[0]==e},getSelectionText:function(){return window.getSelection?window.getSelection().toString():document.selection.createRange().text},elementOptionsPanelClear:function(){var e=document.getElementById("element-options-group");e&&(e.innerHTML="")},wpColorPickerCheckChangeForTableStateSaving:function(e){if("external"==e.originalEvent.type)(new WPTB_TableStateSaveManager).tableStateSet();else if(WPTB_Helper.findAncestor(e.target,"wp-picker-container")&&("square"==e.originalEvent.type||"strip"==e.originalEvent.type)){var t=document.getElementsByTagName("body")[0];t.removeEventListener("mouseup",WPTB_Helper.irisStripMouseUpStateSaveManager,!1),t.addEventListener("mouseup",WPTB_Helper.irisStripMouseUpStateSaveManager,!1)}},irisStripMouseUpStateSaveManager:function(){(new WPTB_TableStateSaveManager).tableStateSet(),document.getElementsByTagName("body")[0].removeEventListener("mouseup",WPTB_Helper.irisStripMouseUpStateSaveManager,!1)},wpColorPickerClear:function(e,t){var a;t?(a=[document.getElementById(e)]).length=1:a=document.getElementsByClassName(e);for(var n=0;n<a.length;n++){var r=WPTB_Helper.findAncestor(a[n],"wp-picker-container");if(r){var l=r.parentNode;l.removeChild(r);var o=document.createElement("input");t?o.setAttribute("id",e):o.classList.add("wptb-element-property",e),o.value="",l.appendChild(o)}}},detectMode:function(){var e=window.location.href,t=new RegExp("[?&]table(=([^&#]*)|&|#|$)").exec(e);return!!t&&(t[2]?decodeURIComponent(t[2].replace(/\+/g," ")):"")},getTableId:function(){var e=WPTB_Helper.detectMode();return e||(e="startedid-0"),e},getColumnWidth:function(e,t){for(var a=t.dataset.xIndex,n=e.querySelectorAll('[data-x-index="'.concat(a,'"]')),r=t.getCellDimensions().width,l=0;l<n.length;l++)r>n[l].getCellDimensions().width&&(r=n[l].getCellDimensions().width);return r},getRowHeight:function(e,t){for(var a=t.dataset.yIndex,n=e.querySelectorAll('[data-y-index="'.concat(a,'"]')),r=t.getCellDimensions().height,l=0;l<n.length;l++)r>n[l].getCellDimensions().height&&(r=n[l].getCellDimensions().height);return r},newElementProxy:function(e){if(e)return new WPTB_ElementObject({kind:e})},wpColorPickerChange:function(e,t){var a;a=t?t.color.toString():"";var n,r,l,o=WPTB_Helper.findAncestor(e.target,"wp-picker-input-wrap").getElementsByClassName("wptb-color-picker")[0];r=(n=o.dataset.element.match(/wptb-options-(.+)-(\d+)/i))[1],l=n[2];var i=document.getElementsByClassName("wptb-element-".concat(r,"-").concat(l))[0];if("button"==r)"button-text-color"==o.dataset.type?i.getElementsByClassName("wptb-button")[0].style.color=a:i.getElementsByClassName("wptb-button")[0].style.backgroundColor=a;else if("list"==r){var s=i.querySelectorAll("p");if(0<s.length)for(var c=0;c<s.length;c++)s[c].style.color=a}else if("star_rating"==r){if("star-color"==o.dataset.type)for(var d=i.querySelectorAll("li"),p=0;p<d.length;p++)for(var u=d[p].getElementsByTagName("span"),m=0;m<u.length;m++)u[m].style.fill=a;else if("numeral-rating-color"==o.dataset.type){i.querySelector(".wptb-number-rating").style.color=a}}else i.style.color=a},numberImputSize:function(e,t,a){e.onkeydown=function(){var e=this.value;0==(e=String(e))[0]?this.value="":(e=e.substring(0,t),this.value=e)},e.onkeyup=function(){var e=this.value;parseInt(e,10)>parseInt(a,10)&&(this.value=a),(new WPTB_TableStateSaveManager).tableStateSet()}},ucfirst:function(e){return e.charAt(0).toUpperCase()+e.slice(1)},wptbDocumentEventGenerate:function(e,t,a){if(e&&t){a||(a=!0);var n=new CustomEvent(e,{detail:a,bubbles:!0});t.dispatchEvent(n)}},elementStartScript:function(e,t){if(!t){var a=e.className.match(/wptb-element-(.+)-(\d+)/i);a&&Array.isArray(a)&&(t=a[1])}t&&t in WPTB_ElementsScriptsLauncher&&WPTB_ElementsScriptsLauncher[t](e)},deleteEventHandlers:function(e){if(e){jQuery(e).off();var t=e.children;if(t)for(var a=0;a<t.length;a++)WPTB_Helper.deleteEventHandlers(t[a])}},replaceAll:function(e,t,a){return e.split(t).join(a)},elementClearFromTinyMce:function(e){var t=e.querySelectorAll(".mce-content-body");if(0<t.length)for(var a=0;a<t.length;a++)t[a].classList.remove("mce-content-body");var n=e.querySelectorAll("[data-mce-style]");if(0<n.length)for(var r=0;r<n.length;r++)n[r].removeAttribute("data-mce-style");var l=e.querySelectorAll(".mce-edit-focus");if(0<l.length)for(var o=0;o<l.length;o++)l[o].classList.remove("mce-edit-focus");var i=e.querySelectorAll("[contenteditable]");if(0<i.length)for(var s=0;s<i.length;s++)i[s].removeAttribute("contenteditable");var c=e.querySelectorAll("[spellcheck]");if(0<c.length)for(var d=0;d<c.length;d++)c[d].removeAttribute("spellcheck");var p=e.querySelectorAll("[id^=mce_]");if(0<p.length)for(var u=0;u<p.length;u++)p[u].removeAttribute("id");return e},elementOptionContainerCustomClassSet:function(e,t){if(e&&t){var a=WPTB_Helper.findAncestor(e,"wptb-element-option");a&&a.classList.add(t)}},elementOptionContainerAdditionalStyles:function(e,t){if(e&&t){var a=WPTB_Helper.findAncestor(e,"wptb-element-option"),n=t.split(";");if(a&&n){var r=function(e,t){e&&(containerStyleStrArr=e.split(":"),containerStyleStrArr&&Array.isArray(containerStyleStrArr)&&(t.style[containerStyleStrArr[0]]=containerStyleStrArr[1]))};if(n&&Array.isArray(n))for(var l=0;l<n.length;l++)n[l]&&r(n[l],a);else r(n,a)}}},controlsInclude:function(i,s){var c=2<arguments.length&&void 0!==arguments[2]&&arguments[2];i&&"object"===_typeof(i)&&"function"==typeof s&&i.addEventListener("element:controls:active",function(){i.hasOwnProperty("controlConnectFunctionsName")&&Array.isArray(i.controlConnectFunctionsName)&&-1!=i.controlConnectFunctionsName.indexOf(s.name)||function(){var a,e=i.className.match(/wptb-element-(.+)-(\d+)/i);if(e&&Array.isArray(e)&&(a=e[1]),a){var t=i.optionsGroupIds;if(t&&Array.isArray(t))for(var n=0;n<t.length;n++){var r=t[n],l=document.getElementById(r).querySelectorAll(".wptb-element-property");(l=_toConsumableArray(l)).map(function(e){var t=new RegExp("wptb-el-".concat(a,"-(\\d+)-([a-zA-Z0-9_-]+)"),"i"),l=e.className.match(t);if(l&&Array.isArray(l)){var o=l[0];i.addEventListener("wptb-control:".concat(o),function(e){var t={},a=l[2],n=document.getElementsByClassName(o);if(0<n.length&&a){var r=WPTB_Helper.targetControlValueGet(n);t[a]=c?{targetValue:r,eventValue:e.detail.value}:r}s(t,i)},!1)}})}i.controlConnectFunctionsName||Array.isArray(i.controlConnectFunctionsName)||(i.controlConnectFunctionsName=[]),i.controlConnectFunctionsName.push(s.name)}}()},!1)},oneControlInclude:function(n,r,e){if(!n||"object"!==_typeof(n)||"function"!=typeof r||"string"!=typeof e)return!1;var t,a=n.className.match(/wptb-element-((.+-)\d+)/i);if(a&&Array.isArray(a)){t=a[1].split("-")[0];var l="wptb-".concat(t,"-control-stack"),o=wp.template(l)({container:".".concat(a[0])}),i=JSON.parse(o);if(i&&"object"===_typeof(i)&&i.hasOwnProperty(e)){var s="wptb-el-".concat(a[1],"-").concat(e);n.addEventListener("wptb-control:".concat(s),function(e){var t=document.getElementsByClassName(s);if(0<t.length){var a=WPTB_Helper.targetControlValueGet(t);r(a,n)}},!1)}}},innerElementCopyIncludeHandler:function(a,n){a&&"object"===_typeof(a)&&"function"==typeof n&&a.addEventListener("wptb-inner-element:copy",function(e){var t=e.detail;t&&(WPTB_Helper.elementClearFromTinyMce(t),n(t,a))},!1)},valueDependOnControl:function(n,r,l,o,i){function s(e,a,t){"string"==typeof e&&(e=[e]);var n=a.match(/wptb-el-((.+-)\d+)-(.+)/i),r={},l=[];if(n&&Array.isArray(n)){var o,i=n[3],s={};Array.isArray(t)&&(Array.isArray(t[0])?t.map(function(e){s[e[0]]=[e[1],e[2]]}):s[t[0]]=[t[1],t[2]]),e.map(function(e){var t=a.replace(i,e);t&&0<(o=document.getElementsByClassName(t)).length&&o[0].type&&(r[e]=o[0].value,e in s&&("integer"===s[e][1]?r[e]=parseInt(r[e])+parseInt(s[e][0]):"string"===s[e][1]&&(r[e]=r[e]+s[e][0])),l.push(o[0]))})}return[r,l]}var e=s(n,r,l);WPTB_Helper.elementOptionsSet(o,i,e[0],r),Object.keys(e[0]).forEach(function(e){var t=i.className.match(/wptb-element-((.+-)\d+)/i),a="wptb-el-".concat(t[1],"-").concat([e]);i.addEventListener("wptb-control:".concat(a),function(e){var t=s(n,r,l);WPTB_Helper.elementOptionsSet(o,i,t[0],r)},!1)})},appearDependOnControl:function(e,t){if(Array.isArray(e)){var r=function(e,t){var a,n="block";Object.keys(t).map(function(e){Object.prototype.hasOwnProperty.call(t,e)&&!1===t[e][0]&&(n="none",t[e][2][3]&&(a=t[e][2][3]))}),e.style.display!==n&&("none"===(e.style.display=n)&&a?(u[0].dataset.controlActiveVal=WPTB_Helper.targetControlValueGet(u),WPTB_Helper.targetControlValueGet(u,a)):"block"===n&&u[0].dataset.controlActiveVal&&WPTB_Helper.targetControlValueGet(u,u[0].dataset.controlActiveVal))},l=function(e,t){for(var a=WPTB_Helper.targetControlValueGet(e),n=!1,r=1;r<=2;r++)if(t[r]&&Array.isArray(t[r])){for(var l=void 0,o=!1,i=0;i<t[r].length;i++)if("string"==typeof t[r][i]&&-1!==t[r][i].indexOf("numberAny >")){if(o=!0,!(parseInt(t[r][i].match(/\d+/))<a)){l=!1;break}l=!0}else if("string"==typeof t[r][i]&&-1!==t[r][i].indexOf("numberAny <")){if(o=!0,!(a<parseInt(t[r][i].match(/\d+/)))){l=!1;break}l=!0}else if(t[r][i]===a&&(l=!0,!o))break;if(l&&1===r){n=!0;break}if(l&&2===r){n=!1;break}}return n};if("string"==typeof e[0])e=[e];else if(!Array.isArray(e[0]))return;for(var o={},a=0;a<e.length;a++){var n=e[a],i=n[0],s=t.match(/wptb-el-((.+-)\d+)-(.+)/i);if(s&&Array.isArray(s)){var c=s[3],d=t.replace(c,i);if(d){var p=document.getElementsByClassName(d);0<p.length&&(o[n[0]]=[l(p,n),p,n])}}}var u=document.getElementsByClassName(t);if(0<u.length){var m=u[0],b=WPTB_Helper.findAncestor(m,"wptb-element-option");b&&(r(b,o),Object.keys(o).map(function(n){Object.prototype.hasOwnProperty.call(o,n)&&o[n][1][0].addEventListener("change",function(e){var t=o[n][2],a=o[n][1];o[t[0]]=[l(a,t),a,t],r(b,o)},!1)}))}}},toggleSwitch:function(t,o){if(Array.isArray(t)&&t[1]&&"object"===_typeof(t[1])){var i=function(){var e=document.getElementsByClassName(o);e.length&&WPTB_Helper.targetControlValueGet(e)!==t[0]&&("unchecked"===t[0]?e[0].checked=!1:"checked"===t[0]&&(e[0].checked=!0),WPTB_Helper.wptbDocumentEventGenerate("change",e[0],{eventType:"toggleSwitch"}))},s=t[1];Object.keys(s).map(function(e){var t=s[e],a=o.match(/wptb-el-((.+-)\d+)-(.+)/i);if(a&&Array.isArray(a)){var n=a[3],r=o.replace(n,e);if(r){var l=document.getElementsByClassName(r);if(0<l.length)l[0].addEventListener("change",function(e,t){if(e){var a=document.getElementsByClassName(e);0<a.length&&WPTB_Helper.targetControlValueGet(a)===t&&i()}}.bind(null,r,t),!1)}}})}},controlsStateManager:function(e,t){var a=document.getElementsByClassName(e);if(0<a.length){var n=e.match(/wptb-el-((.+-)\d+)-(.+)/i);if(n&&Array.isArray(n))if(document.querySelector(".wptb-element-".concat(n[1]))){var r,l,o={};if(0==(r=document.getElementsByClassName("wptb-element-datas")).length||""==r[0].innerHTML){var i=WPTB_Helper.targetControlValueGet(a);o["data-".concat(e)]=i,(l={})["tmpl-wptb-el-datas-".concat(n[1])]=o,l=JSON.stringify(l),0==r.length?((r=document.createElement("script")).setAttribute("type","text/html"),r.setAttribute("class","wptb-element-datas")):r=r[0],r.innerHTML=l,document.getElementsByTagName("body")[0].appendChild(r)}else if((l=(r=r[0]).innerHTML)&&(l=l.trim(),(l=JSON.parse(l))&&"object"===_typeof(l)))if(t){var s=WPTB_Helper.targetControlValueGet(a);"tmpl-wptb-el-datas-".concat(n[1])in l&&"object"===_typeof(l["tmpl-wptb-el-datas-".concat(n[1])])||(l["tmpl-wptb-el-datas-".concat(n[1])]={}),l["tmpl-wptb-el-datas-".concat(n[1])]["data-".concat(e)]=s,r.innerHTML=JSON.stringify(l)}else if("tmpl-wptb-el-datas-".concat(n[1])in l&&"object"===_typeof(l["tmpl-wptb-el-datas-".concat(n[1])])&&"data-".concat(e)in l["tmpl-wptb-el-datas-".concat(n[1])]){if("tmpl-wptb-el-datas-".concat(n[1])in l&&"object"===_typeof(l["tmpl-wptb-el-datas-".concat(n[1])])&&"data-".concat(e)in l["tmpl-wptb-el-datas-".concat(n[1])])for(var c=0;c<a.length;c++)if("checkbox"==a[c].type){var d=void 0;"checked"==(d=a[c].name?l["tmpl-wptb-el-datas-".concat(n[1])]["data-".concat(e)][a[c].name]:l["tmpl-wptb-el-datas-".concat(n[1])]["data-".concat(e)])?a[c].checked=!0:"unchecked"==d&&(a[c].checked=!1)}else a[c].value=l["tmpl-wptb-el-datas-".concat(n[1])]["data-".concat(e)]}else{var p=WPTB_Helper.targetControlValueGet(a);"tmpl-wptb-el-datas-".concat(n[1])in l&&"object"===_typeof(l["tmpl-wptb-el-datas-".concat(n[1])])||(l["tmpl-wptb-el-datas-".concat(n[1])]={}),l["tmpl-wptb-el-datas-".concat(n[1])]["data-".concat(e)]=p,r.innerHTML=JSON.stringify(l)}}}},targetControlValueGet:function(e,t){for(var a,n=0;n<e.length;n++)"checkbox"==e[n].type&&e[n].name?t?"checked"===t?e[n].checked=!0:"unchecked"===t&&(e[n].checked=!1):(a||(a={}),1==e[n].checked?a[e[n].name]="checked":a[e[n].name]="unchecked"):"checkbox"==e[n].type?t?"checked"===t?e[n].checked=!0:"unchecked"===t&&(e[n].checked=!1):a=1==e[n].checked?"checked":"unchecked":e[n].type?t?e[n].value=t:a=e[n].value:e[n].dataset.alignmentValue&&e[n].classList.contains("selected")&&(t?e[n].dataset.alignmentValue=t:a=e[n].dataset.alignmentValue);return a},elementControlsStateCopy:function(e,t){if(e&&t){var a=e.className.match(/wptb-element-((.+-)\d+)/i),n=t.className.match(/wptb-element-((.+-)\d+)/i);if(a&&Array.isArray(a)&&n&&Array.isArray(n)){var r=a[1],l=n[1],o=document.getElementsByClassName("wptb-element-datas");if(0<o.length){var i=(o=o[0]).innerHTML;if(i&&(i=i.trim(),(i=JSON.parse(i))&&"object"===_typeof(i))){var s=i["tmpl-wptb-el-datas-".concat(r)];if(s&&"object"===_typeof(s)){var c={};Object.keys(s).forEach(function(e){var t=s[e],a=e.replace(r,l);c[a]=t}),0<Object.keys(c).length&&(i["tmpl-wptb-el-datas-".concat(l)]=c,i=JSON.stringify(i),o.innerHTML=i)}}}}}},elementControlsStateDelete:function(e,t){var a=e.className.match(/wptb-element-(.+)-(\d+)/i),n=document.getElementsByTagName("body")[0],r=n.getElementsByClassName("wptb-element-datas");if(a&&Array.isArray(a)&&0<r.length){var l=(r=r[0]).innerHTML;l&&(l=l.trim(),(l=JSON.parse(l))&&"object"===_typeof(l)&&"tmpl-wptb-el-datas-".concat(a[1],"-").concat(a[2])in l&&(t?l["tmpl-wptb-el-datas-".concat(a[1],"-").concat(a[2])]&&"object"===_typeof(l["tmpl-wptb-el-datas-".concat(a[1],"-").concat(a[2])])&&"data-wptb-el-".concat(a[1],"-").concat(a[2],"-").concat(t)in l["tmpl-wptb-el-datas-".concat(a[1],"-").concat(a[2])]&&delete l["tmpl-wptb-el-datas-".concat(a[1],"-").concat(a[2])]["data-wptb-el-".concat(a[1],"-").concat(a[2],"-").concat(t)]:delete l["tmpl-wptb-el-datas-".concat(a[1],"-").concat(a[2])],0==Object.keys(l).length?n.removeChild(r):(l=JSON.stringify(l),r.innerHTML=l)))}},elementOptionsSet:function(b,e,f,v){var t,g,w,h,y,l,S,a="wptb-".concat(b,"-control-stack"),n=wp.template(a),T=e.className.match(/wptb-element-((.+-)\d+)/i);if(T)WPTB_Helper.editActionClassRemove(),e.classList.add("edit-active");else{var r=WPTB_Helper.detectMode();if(r||(r="startedid-0"),e.classList.contains("wptb-preview-table"))e.classList.add("wptb-element-main-table_setting-".concat(r));else if(e.classList.contains("wptb-cell")){document.querySelector(".wptb-element-table_cell_setting-".concat(e.dataset.xIndex,"-").concat(e.dataset.yIndex))||e.classList.add("wptb-element-table_cell_setting-".concat(e.dataset.xIndex,"-").concat(e.dataset.yIndex))}else e.classList.contains("wptb-responsive")&&(r.startsWith("wptb_team")&&(r="startedid-0"),e.classList.add("wptb-element-table_responsive_setting-".concat(r)));T=e.className.match(/wptb-element-((.+-)\d+)/i)}if(t={container:".".concat(T[0]),valueDependOnControl:{}},f&&Object.keys(f).forEach(function(e){t.valueDependOnControl[e]=f[e]}),v){var o=v.match(/wptb-el-((.+-)\d+)-(.+)/i);o&&Array.isArray(o)&&(S=o[3])}if(g=T[0],w=T[1],e.classList.contains("wptb-preview-table"));else if(e.classList.contains("wptb-cell"))this.activateSection("cell_settings");else if(e.classList.contains("wptb-responsive"))elementOptionsGroupId="table-responsive-group",wptbelementOptionClass="wptb-element-option";else{for(var i=document.getElementById("element-options-group").childNodes,s=0;s<i.length;s++)i[s].style&&(i[s].style.display="none");this.activateSection("options_group")}var c=n(t),C=JSON.parse(c),_=[],B={},A={},E={},x=[],P=[],W=[];if(S){var d={};d[S]=C[S],C=d}Object.keys(C).forEach(function(e){var t=C[e];t.controlKey=e;var a=wp.template("wptb-".concat(t.type,"-control"));t.elemContainer=g,t.elementControlTargetUnicClass="wptb-el-".concat(w,"-").concat(t.controlKey),Object.keys(t).map(function(e){Object.prototype.hasOwnProperty.call(t,e)&&"control_param_calculate_value"===t[e]&&(t[e]=WPTB_Helper.controlParamCalculateValue(t.elementControlTargetUnicClass,e))});var n=a(t);if("appearDependOnControl"in t&&Array.isArray(t.appearDependOnControl)&&x.push([t.appearDependOnControl,t.elementControlTargetUnicClass]),"toggleSwitch"in t&&Array.isArray(t.toggleSwitch)&&P.push([t.toggleSwitch,t.elementControlTargetUnicClass]),"valueDependOnControl"in t&&!f&&!v){var r="";t.valueDependOnControlCorrect&&(r=t.valueDependOnControlCorrect),W.push([t.valueDependOnControl,t.elementControlTargetUnicClass,r])}if(-1==_.indexOf(t.elementOptionsGroupId)&&!S){_.push(t.elementOptionsGroupId),h=document.getElementById(t.elementOptionsGroupId);for(var l=_toConsumableArray(h.children),o=0;o<l.length;o++)h.removeChild(l[o]);B[t.elementOptionsGroupId]=h}if(y=B[t.elementOptionsGroupId],"true"!==t.elementOptionsContainerOn||S||(y=function(e,t){if(!t[e]){var a=document.createElement("div");a.classList.add("wptb-element-options","wptb-options-".concat(T[1])),document.getElementById(e).appendChild(a),t[e]=a}return t[e]}(t.elementOptionsGroupId,A)),"true"===t.elementOptionContainerOn){var i=document.createElement("div");if(i.classList.add(t.elementOptionClass,"wptb-settings-items"),t.customClassForContainer&&i.classList.add(t.customClassForContainer),t.containerAdditionalStyles&&i.setAttribute("style",t.containerAdditionalStyles),v){var s=document.getElementsByClassName(v);if(0<s.length){s=s[0];var c=WPTB_Helper.findAncestor(s,"wptb-element-option");if(c){var d=c.parentNode;d.insertBefore(i,c),d.removeChild(c)}}}else y.appendChild(i);y=i}y.innerHTML+=n;var p=y.getElementsByTagName("wptb-template-script");if(0<p.length){var u=(p=p[0]).innerText;y.removeChild(p);var m=document.createElement("script");m.setAttribute("type","text/javascript"),m.setAttribute("id","".concat(b,"-").concat(t.controlKey)),m.innerHTML=u.replace(/\r|\n|\t/g,"").trim(),E[t.elementOptionsGroupId]&&Array.isArray(E[t.elementOptionsGroupId])||(E[t.elementOptionsGroupId]=[]),E[t.elementOptionsGroupId].push(m)}0}),e.optionsGroupIds=_,Object.keys(E).forEach(function(e){v||((l=document.createElement("div")).classList.add("wptb-element-options-scripts","wptb-options-".concat(T[1])),B[e].appendChild(l));var t=E[e];if(0<t.length)for(var a=0;a<t.length;a++)if(v){var n="".concat(b,"-").concat(S),r=document.getElementById(n);(l=r.parentNode).insertBefore(t[a],r),l.removeChild(r)}else l.appendChild(t[a])});for(var p=0;p<P.length;p++)WPTB_Helper.toggleSwitch(P[p][0],P[p][1]);for(var u=0;u<x.length;u++)WPTB_Helper.appearDependOnControl(x[u][0],x[u][1]);WPTB_Helper.wptbDocumentEventGenerate("element:controls:active",e);for(var m=0;m<W.length;m++)WPTB_Helper.valueDependOnControl(W[m][0],W[m][1],W[m][2],b,e)},editActionClassRemove:function(){for(var e=document.querySelectorAll(".edit-active"),t=0;t<e.length;t++)e[t].classList.remove("edit-active")},controlParamCalculateValue:function(e,t){var a=WPTB_Helper.replaceAll(e,"-","_");if(window["paramCalculateValue_".concat(a,"_").concat(t)]&&"function"==typeof window["paramCalculateValue_".concat(a,"_").concat(t)])return window["paramCalculateValue_".concat(a,"_").concat(t)]()},controlParamCalculateValueCreateFunction:function(e,t,a,n){var r=e.className.match(/wptb-element-((.+-)\d+)/i),l="wptb-el-".concat(r[1],"-").concat(t),o=WPTB_Helper.replaceAll(l,"-","_");window["paramCalculateValue_".concat(o,"_").concat(a)]=function(){return n(e)}},managerExternalCssStyles:function(e,t,a,n){var r=e.match(/wptb-element-main(.+)-(\d+)/i);if(!r||!Array.isArray(r)){var l=document.getElementsByClassName("wptb-preview-table");if(0<l.length){var o=(l=l[0]).className.match(/wptb-element-main(.+)-(\d+)/i);o&&Array.isArray(o)&&(t=".".concat(o[0]," ").concat(t))}}var i=document.head;if(i){var s=i.querySelector("#styles-".concat(e));if(s){var c=s.innerHTML;if(c){var d=c.split("}");d.pop();for(var p=!1,u=0;u<d.length;u++){var m=d[u].split("{");if(m[0]===t){var b=m[1].split(";");b.pop();for(var f=!1,v=0;v<b.length;v++){if(b[v].split(":")[0]===a){n?b[v]="".concat(a,":").concat(n):b.splice(v,1),m[1]=b.join(";")?"".concat(b.join(";"),";"):"",f=!0;break}}f||n&&(m[1]+="".concat(a,":").concat(n,";")),m[1]?d[u]="".concat(m[0],"{").concat(m[1]):d.splice(u,1),d.join("}")?s.innerHTML="".concat(d.join("}"),"}"):i.removeChild(s),p=!0;break}}p||(s.innerHTML=n?"".concat(c+t,"{").concat(a,":").concat(n,";}"):c)}else n?s.innerHTML="".concat(t,"{").concat(a,":").concat(n,";}"):i.removeChild(s)}else if(n){var g=document.createElement("style");g.setAttribute("id","styles-".concat(e)),g.classList.add("styles-wptb-elements"),g.innerHTML="".concat(t,"{").concat(a,":").concat(n,";}"),i.appendChild(g)}}},registerSections:function(e){var a=this;this.sections={},this.currentSection="",Array.isArray(e)||(e=[e]),e.map(function(e){var t=document.querySelector("[data-wptb-section=".concat(e,"]"));t&&(a.sections[e]=t)})},activateSection:function(a){var n=this,r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"block";this.currentSection=a,this.triggerSectionEvent(a),Object.keys(this.sections).map(function(e){if(Object.prototype.hasOwnProperty.call(n.sections,e)){var t=a===e?r:"none";n.sections[e].style="display: ".concat(t," !important")}})},getCurrentSection:function(){return this.currentSection},getSectionFromUrl:function(){var t=new URL(window.location.href).searchParams.get("wptb-builder-section");t&&Object.keys(this.sections).some(function(e){return e===t})&&this.activateSection(t)},setupSectionButtons:function(){var e=Array.from(document.querySelectorAll("[data-wptb-section-button]")),n=this;e.map(function(t){var a=t.dataset.wptbSectionButton;t.addEventListener("click",function(){var e=t.dataset.wptbSectionDisplayType;n.activateSection(a,e),WPTB_Helper.editActionClassRemove()}),document.addEventListener("wptbSectionChanged",function(e){e.detail===a?(t.classList.remove("disabled"),t.classList.add("active")):(t.classList.remove("active"),t.classList.add("disabled"))})})},setupPanelToggleButtons:function(){var t=jQuery;t(".wptb-panel-toggle-group").each(function(){var e=t(this);t(this).find(".toggle-icon").click(function(){e.find(".wptb-panel-toggle-target").slideToggle(),e.toggleClass("wptb-panel-toggle-content")})})},triggerSectionEvent:function(e){var t=new CustomEvent("wptbSectionChanged",{detail:e});document.dispatchEvent(t)},setupSidebarToggle:function(e){var t=document.querySelector(e);t&&t.addEventListener("click",function(e){e.preventDefault(),document.body.classList.toggle("collapsed")})},externalCssStylesDelete:function(e){var t=document.head;if(t){var a=t.querySelector("#styles-".concat(e));a&&t.removeChild(a)}},externalCssStylesCopy:function(e,t){if(e){var a=e.className.match(/wptb-element-(.+)-(\d+)/i);if(a&&Array.isArray(a)){var n=a[0],r=document.head;if(r){var l=r.querySelector("#styles-".concat(n));if(l){var o=l.cloneNode(!0);o.removeAttribute("id","styles-".concat(n));var i=t.className.match(/wptb-element-(.+)-(\d+)/i);if(i&&Array.isArray(i)){o.setAttribute("id","styles-".concat(i[0]));var s=l.innerHTML,c=WPTB_Helper.replaceAll(s,n,i[0]);o.innerHTML=c,r.appendChild(o)}}}}}},elementsStylesConvertToObject:function(){for(var e=document.head.querySelectorAll(".styles-wptb-elements"),t={},a=0;a<e.length;a++){var n=e[a].getAttribute("id");n&&e[a].innerHTML&&(t[n]=e[a].innerHTML)}return 0!=Object.keys(t).length?JSON.stringify(t):""},elementsStylesSetFromObject:function(e){var n=document.head;if(n){var t=n.querySelectorAll(".styles-wptb-elements");if(0<t.length){t=_toConsumableArray(t);for(var a=0;a<t.length;a++)n.removeChild(t[a])}if(e){var r=JSON.parse(e);0!=Object.keys(r).length&&Object.keys(r).forEach(function(e){var t=r[e],a=document.createElement("style");a.setAttribute("id",e),a.classList.add("styles-wptb-elements"),a.innerHTML=t,n.appendChild(a)})}}},saveTable:function(p,u,e){if(WPTB_Helper.tableSaveIndicator(!0),e||u||!p.target.dataset.wptbTableStateNumberSave&&0==window.wptbTableStateNumberShow||(window.wptbTableStateNumberShow,p.target.dataset.wptbTableStateNumberSave),!e){var t=document.querySelector(".wptb-edit-bar");if(t&&t.classList.contains("visible")){document.getElementsByClassName("wptb-preview-table")[0];WPTB_Helper.toggleTableEditMode()}}WPTB_Helper.wptbDocumentEventGenerate("wptb:save:before",document),WPTB_Helper.tableClean();var m,a,n,r,b=new XMLHttpRequest,l="".concat(wptb_admin_object?wptb_admin_object.ajaxurl:ajaxurl,"?action=save_table"),f=document.getElementById("wptb-setup-name").value.trim();a=document.getElementsByClassName("wptb-preview-table"),((rs=WPTB_Helper.detectMode())||(rs=document.wptbId))&&(r=rs);var o=!1;if(0<a.length){var i=(a=a[0]).cloneNode(!0);if(r&&i.classList.contains("wptb-element-main-table_setting-startedid-0")){i.classList.remove("wptb-element-main-table_setting-startedid-0"),i.classList.add("wptb-element-main-table_setting-".concat(r));var s=document.querySelector(".wptb-table-setup");s&&(s.innerHTML="",s.appendChild(i),WPTB_Table()),o=!0}i.columns=a.columns,a=(a=WPTB_Stringifier(i)).outerHTML}else a="";if(!e){n="";var c=document.getElementsByClassName("wptb-element-datas");0<c.length&&c[0].innerHTML&&(n=c[0].innerHTML,o&&(n=WPTB_Helper.replaceAll(n,"tmpl-wptb-el-datas-main-table_setting-startedid-0","tmpl-wptb-el-datas-main-table_setting-".concat(r)),n=WPTB_Helper.replaceAll(n,"data-wptb-el-main-table_setting-startedid-0","data-wptb-el-main-table_setting-".concat(r))))}var d=WPTB_Helper.elementsStylesConvertToObject();if(o&&(d=WPTB_Helper.replaceAll(d,".wptb-element-main-table_setting-startedid-0",".wptb-element-main-table_setting-".concat(r))),""===f&&""===a){var v="";return""===f&&(v+="You must assign a name to the table before saving it.</br>"),""===a&&(v+="Table wasn't created"),(m=document.getElementById("wptb-messaging-area")).innerHTML='<div class="wptb-error wptb-message">Error: '.concat(v,"</div>"),m.classList.add("wptb-warning"),void setTimeout(function(){m.removeChild(m.firstChild)},4e3)}var g={title:f,content:a,elements_datas:n,elements_styles:d,security_code:wptb_admin_object.security_code};e&&(g.preview_saving=e),r&&(g.id=r),WPTB_Helper.wptbDocumentEventGenerate("wptb:save:before",document,g),g=JSON.stringify(g),b.open("POST",l,!0),b.setRequestHeader("Content-type","application/json; charset=utf-8"),b.onreadystatechange=function(e){if(4==this.readyState&&(WPTB_Helper.tableSaveIndicator(!1),200==this.status)){var t=JSON.parse(b.responseText);if(m=document.getElementById("wptb-messaging-area"),"saved"==t[0]){var a=document.location.href.replace("#",""),n=new RegExp("&table=(.+)","i");a=a.replace(n,""),window.history.pushState(null,null,"".concat(a,"&table=").concat(t[1])),document.wptbId=t[1],m.innerHTML='<div class="wptb-success wptb-message">Table "'.concat(f,'" was successfully saved.</div>'),document.getElementsByClassName("wptb-embed-btn")[0].classList.remove("wptb-button-disable"),document.getElementById("wptb-embed-shortcode").value="[wptb id=".concat(t[1],"]");document.querySelector(".wptb-preview-table");var r=document.getElementsByClassName("wptb-preview-btn");if(0<r.length){(r=r[0]).classList.remove("wptb-button-disable");var l=r.dataset.previewHref;l=l.replace("empty",t[1]),r.setAttribute("href",l)}p.target.dataset.wptbTableStateNumberSave=window.wptbTableStateNumberShow;var o=document.getElementsByClassName("wptb-save-btn");return void(0<o.length&&((o=o[0]).classList.add("wptb-save-disabled"),o.classList.remove("active")))}if("edited"==t[0]&&u){document.wptbId=t[1],m.innerHTML='<div class="wptb-success wptb-message">Table "'.concat(f,'" was successfully saved.</div>'),document.getElementsByClassName("wptb-embed-btn")[0].classList.remove("wptb-button-disable"),document.getElementById("wptb-embed-shortcode").value="[wptb id=".concat(t[1],"]");document.querySelector(".wptb-preview-table");var i=document.getElementsByClassName("wptb-preview-btn");if(0<i.length){(i=i[0]).classList.remove("wptb-button-disable");var s=i.dataset.previewHref;s=s.replace("empty",t[1]),i.setAttribute("href",s)}p.target.dataset.wptbTableStateNumberSave=window.wptbTableStateNumberShow;var c=document.getElementsByClassName("wptb-save-btn");0<c.length&&((c=c[0]).classList.add("wptb-save-disabled"),c.classList.remove("active"))}else if("edited"==t[0]){m.innerHTML='<div class="wptb-success wptb-message">Table "'.concat(f,'" was successfully updated.</div>'),p.target.dataset.wptbTableStateNumberSave=window.wptbTableStateNumberShow;var d=document.getElementsByClassName("wptb-save-btn");0<d.length&&((d=d[0]).classList.add("wptb-save-disabled"),d.classList.remove("active"))}else{if("preview_edited"==t[0])return;m.innerHTML='<div class="wptb-error wptb-message">Safety problems</div>'}m.classList.add("wptb-success"),setTimeout(function(){m.removeChild(m.firstChild)},4e3)}},b.send(g)},clickOnFreeSpace:function(){if(WPTB_Helper.editActionClassRemove(),"table_responsive_menu"!==this.getCurrentSection()){var e=document.querySelector("#wptb-cell_mode_background");if(!e||!e.classList.contains("visible")){this.activateSection("elements");var t=document.getElementById("wpcd_fixed_toolbar");t.hasAttribute("data-toolbar-active-id")&&document.getElementById(t.getAttribute("data-toolbar-active-id")).classList.remove("toolbar-active");var a=document.querySelector(".wptb-preview-table");a&&WPTB_Helper.elementOptionsSet("table_setting",a)}}},elementAjax:function(e,n){var t,r=new XMLHttpRequest,a="".concat(wptb_admin_object?wptb_admin_object.ajaxurl:ajaxurl,"?action=wptb_element_ajax"),l=n.className.match(/wptb-element-(.+)-(\d+)/i);l&&Array.isArray(l)&&(t=l[1]);var o={element_ajax_data:e,element_name:t,security_code:wptb_admin_object.security_code};o=JSON.stringify(o),r.open("POST",a,!0),r.setRequestHeader("Content-type","application/json; charset=utf-8"),r.onreadystatechange=function(e){if(4==this.readyState&&200==this.status){var t,a=JSON.parse(r.responseText);t=a&&Array.isArray(a)&&"element_ajax_responce"==a[0]?{value:a[1]}:"",WPTB_Helper.wptbDocumentEventGenerate("wptb-element:ajax-response",n,t)}},r.send(o)},toggleTableEditMode:function(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0],t=document.getElementsByClassName("wptb-edit-bar"),a=document.getElementById("wptb-cell_mode_background"),n=document.getElementById("wptb-left-scroll-panel-curtain"),r=document.getElementById("wptb-left-scroll-panel-cell-settings"),l=document.getElementsByClassName("wptb-preview-table");if(0<l.length&&(l=l[0]),0<t.length){for(var o="",i=0;i<t.length;i++)if(t[i].classList.contains("visible")){document.select.deactivateMultipleSelectMode(),t[i].classList.remove("visible"),a.classList.remove("visible"),n.classList.remove("visible"),r.classList.remove("visible"),l.parentNode.classList.remove("wptb-preview-table-manage-cells");var s=l.getElementsByTagName("td");if(0<s.length)for(var c=0;c<s.length;c++)s[c].classList.remove("wptb-highlighted");o="closed",WPTB_Helper.activateSection("elements")}else e||(document.select.activateMultipleSelectMode(),t[i].classList.add("visible"),a.classList.add("visible"),n.classList.add("visible"),l.parentNode.classList.add("wptb-preview-table-manage-cells"),o="opened");WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-edit-mode/".concat(o),l)}},checkingDimensionValue:function(e,t){if(e=String(e),t=String(t),e&&t){var a=e.indexOf(t);return-1!=a&&a==e.length-t.length}return!1},checkSetGetStyleSizeValue:function(e,t,a,n){var r=e.style[t];if((r=String(r))&&!n||WPTB_Helper.checkingDimensionValue(r,n)){if(!n)return r}else{var l=window.getComputedStyle(e);if(a&&l.getPropertyValue(a)&&n&&!WPTB_Helper.checkingDimensionValue(l.getPropertyValue(a),n)){if(!n)return!1;e.style[t]=null}else{if(!n)return l.getPropertyValue(a);e.style[t]=l.getPropertyValue(a)}}return e.style[t]},checkSetGetStyleColorValue:function(e,t,a){var n=3<arguments.length&&void 0!==arguments[3]&&arguments[3],r=e.style[t];if(r){if(!n)return r}else{var l=window.getComputedStyle(e,null);if(l&&l.getPropertyValue(a)){if(!n)return l.getPropertyValue(a);r=WPTB_Helper.rgbToHex(l.getPropertyValue(a)),WPTB_Helper.isHex(r)?e.style[t]=r:e.style[t]=""}else{if(!n)return"";e.style[t]=""}}},checkSetGetStyleValue:function(e,t,a){var n=3<arguments.length&&void 0!==arguments[3]&&arguments[3],r=e.style[t];if(r){if(!n)return r}else{var l=window.getComputedStyle(e,null);if(l&&l.getPropertyValue(a)){if(!n)return l.getPropertyValue(a);e.style[t]=l.getPropertyValue(a)}else if(!n)return""}},getValueMaxCountSameElementsInArray:function(e){if(e&&Array.isArray(e)){for(var t,a={},n=0,r=0;r<e.length;r++)e[r]?a[e[r]]?a[e[r]]++:a[e[r]]=1:n++;for(var l in a)t?a[t]<a[l]&&(t=l):t=l;return a[t]>=n?t:""}},recalculateIndexes:function(e){WPTB_RecalculateIndexes(e)},tableRowsColorsReinstall:function(e){var t=e.className.match(/wptb-element-main(.+)-(\d+)/i);if(t&&Array.isArray(t)){var a="";a="0"==t[t.length-1]?"startedid-0":t[t.length-1];var n=document.querySelector(".wptb-el-main-table_setting-".concat(a,"-tableHeaderBackground"));if(n){var r={value:n.value};WPTB_Helper.wptbDocumentEventGenerate("controlColor:change",n,r)}var l=document.querySelector(".wptb-el-main-table_setting-".concat(a,"-tableEvenRowBackground"));if(l){var o={value:l.value};WPTB_Helper.wptbDocumentEventGenerate("controlColor:change",l,o)}var i=document.querySelector(".wptb-el-main-table_setting-".concat(a,"-tableOddRowBackground"));if(i){var s={value:i.value};WPTB_Helper.wptbDocumentEventGenerate("controlColor:change",i,s)}}},getParentOfType:function(e,t){return t.nodeName===e.toUpperCase()?t:WPTB_Helper.getParentOfType(e,t.parentElement)},dragRelativeType:"",setDragRelativeType:function(e){this.dragRelativeType=e},getDragRelativeType:function(){return this.dragRelativeType},getElementColorStylesHex:function(e,t){var a=e.style[t];return a=WPTB_Helper.rgbToHex(a),WPTB_Helper.isHex(a)||(a=""),a},showControlsOnElementMount:function(){document.addEventListener("element:mounted:dom",function(e){e.target.click()})},showElementsListOnRemove:function(){document.addEventListener("element:removed:dom",function(){WPTB_Helper.activateSection("elements")})},blockTinyMCEManageCells:function(){var r=function(e){var t=document.createElement("div");t.classList.add("wptb-plugin-blocker-element");var a=0<e.childNodes.length;e.appendChild(t),a||e.classList.add("wptb-plugin-blocker-element-empty")},l=function(e){var t=e.querySelector(".wptb-plugin-blocker-element");t&&t.remove(),e.classList.remove("wptb-plugin-blocker-element-empty")};document.addEventListener("wptbSectionChanged",function(e){var t=e.detail,a=document.querySelector(".wptb-table-setup table.wptb-preview-table");if(a){var n=Array.from(a.querySelectorAll("td"));n.map(l),"manage_cells"!==t&&"cell_settings"!==t||n.map(r)}}),document.addEventListener("wptb:save:before",function(){var e=document.querySelector(".wptb-table-setup table.wptb-preview-table");Array.from(e.querySelectorAll("td")).map(l)})},calledByBlock:function(){new URL(window.location.href).searchParams.get("gutenberg")&&document.querySelector(".wptb-plugin-header-close a").addEventListener("click",function(e){e.preventDefault(),e.stopPropagation();var t=document.querySelector(".wptb-save-disabled"),a=new URL(window.location.href).searchParams.get("table");t?WPTB_Helper.wptbDocumentEventGenerate("gutenbergClose",document,a):window.confirm(wptb_admin_object.strings.dirtyConfirmation)&&WPTB_Helper.wptbDocumentEventGenerate("gutenbergClose",document,a)},{capture:!0})},tableClean:function(){Array.from(document.querySelectorAll(".wptb-directlyhovered")).map(function(e){e.classList.remove("wptb-directlyhovered")})},tableSaveIndicator:function(e){var t=document.querySelector("#wptb_builder");t&&(e?t.dataset.wptbSaving=!0:delete t.dataset.wptbSaving)}},WPTB_Initializer=function(){var e=document.body;columnsDecrementButton=e.getElementsByClassName("wptb-input-number-decrement")[0],columnsIncrementButton=e.getElementsByClassName("wptb-input-number-increment")[0],rowsDecrementButton=e.getElementsByClassName("wptb-input-number-decrement")[1],rowsIncrementButton=e.getElementsByClassName("wptb-input-number-increment")[1],columnsInput=document.getElementById("wptb-columns-number"),rowsInput=document.getElementById("wptb-rows-number"),WPTB_Helper.registerSections(["elements","table_settings","cell_settings","options_group","table_responsive_menu","manage_cells"]),WPTB_Helper.setupSectionButtons(),WPTB_Helper.activateSection("elements"),WPTB_Helper.setupSidebarToggle(".wptb-panel-toggle-section .wptb-panel-drawer-icon"),WPTB_Helper.setupPanelToggleButtons(),new WptbResponsive("table_responsive_menu","wptbResponsiveApp",".wptb-builder-content"),WPTB_Helper.getSectionFromUrl(),WPTB_Helper.showControlsOnElementMount(),WPTB_Helper.showElementsListOnRemove(),WPTB_Helper.blockTinyMCEManageCells(),new WPTB_HeaderToolbox(".wptb-plugin-header-toolbar").init(),document.addEventListener("wp-table-builder/table-edit-mode/closed",function(){WPTB_Helper.activateSection("elements")}),WPTB_Helper.calledByBlock()},WPTB_LeftPanel=function(){for(var e=document.getElementsByClassName("wptb-preview-table")[0],t=document.getElementsByClassName("wptb-element"),a=0;a<t.length;a++)t[a].ondragstart=function(e){e.dataTransfer.setData("wptbElement",this.dataset.wptbElement),e.dataTransfer.setData("wptbElIndic-"+this.dataset.wptbElement,"wptbElIndic-"+this.dataset.wptbElement)};if(e)for(var n=document.getElementsByClassName("wptb-table-edit-mode-close"),r=0;r<n.length;r++)n[r].onclick=WPTB_Helper.toggleTableEditMode;document.getElementsByClassName("wptb-builder-panel")[0].onclick=function(e){e.target.classList.contains("wptb-ph-element")||WPTB_Helper.findAncestor(e.target,"wptb-ph-element")||e.target.classList.contains("wptb-fixed-toolbar")||WPTB_Helper.findAncestor(e.target,"wptb-fixed-toolbar")||WPTB_Helper.clickOnFreeSpace()};var l=document.getElementsByClassName("wptb-header");0<l.length&&(l=l[0]),l.onclick=function(){WPTB_Helper.clickOnFreeSpace()}},MultipleSelect=function(){var r=[],a=!1;return this.activateMultipleSelectMode=function(){r=[];for(var e=document.getElementsByClassName("wptb-preview-table")[0].getElementsByTagName("td"),t=0;t<e.length;t++)e[t].classList.remove("wptb-highlighted");a=!0},this.deactivateMultipleSelectMode=function(){a=!1},this.isActivated=function(){return a},this.pushSelectedCell=function(e){a&&(r.push(e),e.classList.add("wptb-highlighted"))},this.selectedCells=function(){return r},this.flushSelectedCells=function(){r=[]},this.getFirst=function(){for(var e,t=1e3,a=1e3,n=r.length-1;0<=n;n--)t>=r[n].dataset.xIndex&&a>=r[n].dataset.yIndex&&(e=r[n],t=r[n].dataset.xIndex,a=r[n].dataset.yIndex);return e},this.getLast=function(){for(var e,t=-1,a=-1,n=r.length-1;0<=n;n--)t<=r[n].dataset.xIndex&&a<=r[n].dataset.yIndex&&(e=r[n],t=r[n].dataset.xIndex,a=r[n].dataset.yIndex);return e},this.removeAllButFirst=function(){for(var e=this.getFirst(),t=1;t<r.length;t++)r[t].classList.add("wptb-fused-cell-"+e.dataset.xIndex+"-"+e.dataset.yIndex)},this};function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var WPTB_Parser=function(e){var t=document.createElement("div");t.innerHTML=e;for(var a=t.children[0],n=_toConsumableArray(a.querySelectorAll(".wptb-column-title-mobile-container")),r=0;r<n.length;r++){n[r].parentNode.removeChild(n[r])}for(var l=a.querySelectorAll("td"),o=0;o<l.length;o++)l[o].classList.add("wptb-droppable"),l[o].classList.remove("wptb-column-title-mobile-not-elements");return a};function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.keys||(Object.keys=function(){"use strict";var r=Object.prototype.hasOwnProperty,l=!{toString:null}.propertyIsEnumerable("toString"),o=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],i=o.length;return function(e){if("object"!==_typeof(e)&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var t,a,n=[];for(t in e)r.call(e,t)&&n.push(t);if(l)for(a=0;a<i;a++)r.call(e,o[a])&&n.push(o[a]);return n}}());var WPTB_RecalculateIndexes=function(e){for(var t,a=e.getElementsByTagName("tr"),n=0,r=0,l=[],o=0;o<a.length;o++){t=a[o].getElementsByTagName("td"),null==l[o]&&(l[o]=[]);for(var i=0,s=0;s<t.length;s++){if(null!=l[o][s])for(var c=0;c<100;c++){if(null==l[o][i]){l[o][i]=t[s],t[s].dataset.xIndex=i;break}i++}else l[o][s]=t[s],t[s].dataset.xIndex=i;if(t[s].dataset.yIndex=o,1<t[s].colSpan)for(var d=1;d<t[s].colSpan;d++)i++,l[o][i]="tdDummy";if(1<t[s].rowSpan)for(var p=1;p<t[s].rowSpan;p++){null==l[o+p]&&(l[o+p]=[]);for(var u=0;u<t[s].colSpan;u++)l[o+p][i-t[s].colSpan+1+u]="tdDummy"}i++}t.length>n&&(n=t.length),0==o&&(r=i)}e.columns=n,e.maxCols=r};function WptbResponsive(e,t,n){var r=this;this.sectionName=e,this.responsiveWrapperId=t,this.responsiveTable=null,this.loaded=!1,this.addContainerToDom=function(){if(!document.querySelector("#".concat(r.responsiveWrapperId))){var e=document.querySelector(n);if(!e)throw new Error("[WPTB_Responsive]: no parent container is found with the given query of [".concat(n,"]"));var t=document.createRange();t.setStart(e,0);var a=t.createContextualFragment('<div class="wptb-responsive" id="'.concat(r.responsiveWrapperId,'">responsive element</div>'));e.appendChild(a),r.loaded=!0}r.responsiveTable=document.querySelector("#".concat(r.responsiveWrapperId))},this.load=function(){r.loaded||(r.addContainerToDom(),WPTB_Helper.elementStartScript(r.responsiveTable,"table_responsive_menu"),WPTB_Helper.elementOptionsSet("table_responsive_menu",r.responsiveTable),WPTB_ControlsManager.callControlScript("ResponsiveTable",r.responsiveWrapperId))},this.startUp=function(){document.addEventListener("wptbSectionChanged",function(e){var t=document.querySelector(".wptb-table-setup .wptb-preview-table");e.detail===r.sectionName&&t&&r.load()}),document.addEventListener("wptb:table:generated",function(){"table_responsive_menu"===WPTB_Helper.getCurrentSection()&&r.load()})},this.startUp()}var WPTB_Settings=function(){for(var e=document.getElementsByClassName("wptb-element"),t=0;t<e.length;t++)e[t].ondragstart=function(e){e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("wptbElement",e.target.dataset.wptbElement),e.dataTransfer.setData("wptbElIndic-"+e.target.dataset.wptbElement,"wptbElIndic-"+e.target.dataset.wptbElement),WPTB_Helper.setDragRelativeType(this.dataset.wptbRelativeElements||"")},e[t].ondragend=function(){WPTB_Helper.elementDragEndClear()};var a=new WPTB_TableStateSaveManager,n=document.getElementsByClassName("wptb-undo");0<n.length&&((n=n[0]).onclick=function(e){if(!this.classList.contains("wptb-undoredo-disabled")){a.tableStateGet(this.dataset.wptbUndoredo);var t=document.getElementsByClassName("wptb-undo-redo-container");0<t.length&&((t=t[0]).onmouseleave=function(e){e.target.onmouseleave="";document.querySelector(".wptb-preview-table");WPTB_Table()})}});var r=document.getElementsByClassName("wptb-redo");0<r.length&&((r=r[0]).onclick=function(e){if(!this.classList.contains("wptb-undoredo-disabled")){a.tableStateGet(this.dataset.wptbUndoredo);var t=document.getElementsByClassName("wptb-undo-redo-container");0<t.length&&((t=t[0]).onmouseleave=function(e){e.target.onmouseleave="";document.querySelector(".wptb-preview-table");WPTB_Table()})}});var l=document.getElementsByClassName("wptb-popup-window-modal")[0];document.getElementsByClassName("wptb-embed-btn")[0].onclick=function(){this.classList.contains("wptb-button-disable")||l.classList.add("wptb-popup-show")},window.onbeforeunload=function(e){return 0==document.getElementsByClassName("wptb-save-disabled").length||null},document.getElementsByClassName("wptb-popup-dark-area")[0].onclick=function(){l.classList.remove("wptb-popup-show")},document.getElementsByClassName("wptb-popup-window-close-icon")[0].onclick=function(){l.classList.remove("wptb-popup-show")},document.getElementsByClassName("wptb-preview-btn")[0].onclick=function(e){if(!this.classList.contains("wptb-button-disable")){var t=Math.floor(1e4*Math.random()),a=new URL(e.target.href);a.searchParams.set("preview_id",t),e.target.href=a.toString(),WPTB_Helper.saveTable(e,!1,t)}},document.getElementsByClassName("wptb-save-btn")[0].onclick=function(e){this.classList.contains("wptb-save-disabled")||WPTB_Helper.saveTable(e)};var o=document.querySelector("#wptb-setup-name");o&&(o.onchange=function(){(new WPTB_TableStateSaveManager).tableStateSet()})};function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}!function(e,t,a){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=a():t[e]=a()}("WPTB_SortableTable",self||global,function(){return function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},Q=this.table=e.table;WPTB_RecalculateIndexes(Q);var a=this;function t(e,t,a){if("TD"===e.target.tagName){var n=null==e.offsetX?e.layerX:e.offsetX,r=null==e.offsetY?e.layerY:e.offsetY,l=!1;("vertical"===t&&e.target.clientWidth-n<=35||"horizontal"===t&&n<=35)&&(l=!0),l&&(e.target.clientHeight-35)/2<r&&(e.target.clientHeight+35)/2>r?a.classList.add("sortable-hover"):a.classList.remove("sortable-hover")}else a.classList.remove("sortable-hover")}function d(e){t(e,"vertical",this)}function p(e){t(e,"horizontal",this)}function u(){this.classList.remove("sortable-hover")}function n(e,t){if(e.target&&"TD"===e.target.tagName&&!Q.parentNode.classList.contains("wptb-preview-table-manage-cells")){var a=e.currentTarget,n=!1;if("vertical"===t&&e.target.dataset.hasOwnProperty("sortedVertical")){var r=[],l=[];if(this.itemsPerHeader&&this.itemsPerHeader<a.rows.length){WPTB_RecalculateIndexes(a);for(var o=_toConsumableArray(a.rows),i=a.querySelector("tbody")?a.querySelector("tbody"):a,s=0;s<o.length;s++)s<e.target.dataset.yIndex?(r.push(o[s]),i.removeChild(o[s])):s>parseInt(e.target.dataset.yIndex,10)+this.itemsPerHeader&&(l.push(o[s]),i.removeChild(o[s]));WPTB_RecalculateIndexes(a)}var c,d,p=a.querySelectorAll('[data-x-index="'.concat(e.target.dataset.xIndex,'"]'));(p=_toConsumableArray(p)).map(function(e){(c=parseInt(e.rowSpan,10))||(c=1),d=e.dataset.yIndex,WPTB_CutGlueTable.cutTableHorizontally(d,a),d+=c,WPTB_CutGlueTable.cutTableHorizontally(d,a)});for(var u,m=[],b=0,f=[],v=0;v<p.length;v++){var g=Z(e,a,p,v,b,"vertical");if(g&&g.hasOwnProperty("i"))p=g.tds,v=g.i;else{g&&(p=g.tds);var w=p[v],h=parseInt(w.rowSpan,10);h||(h=1),b=parseInt(w.dataset.yIndex,10)+h;for(var y=K(w),S=[],T=0;T<h;T++)S.push(a.rows[parseInt(w.dataset.yIndex,10)+T]),f.push(parseInt(w.dataset.yIndex,10)+T);0<w.dataset.yIndex?m.push({rowsTd:S,value:y}):u=S}}var C=Y(e,"sortedVertical");if(!C)return;if(m.length&&m.sort(function(e,t){return X(C,e,t)}),m.unshift({rowsTd:u}),m.length<a.rows.length)for(var _=0;_<a.rows.length;_++)if(!(-1<f.indexOf(_))){var B=[];B.push(a.rows[_]),m.push({rowsTd:B})}var A=a.querySelector("tbody");if(A.innerHTML="",m.map(function(e){e.rowsTd.map(function(e){A.appendChild(e)})}),r.length){var E=a.querySelector("tbody")?a.querySelector("tbody"):a;if(E){var x=E.querySelector("tr");r.map(function(e){E.insertBefore(e,x)})}}if(l.length){var P=a.querySelector("tbody")?a.querySelector("tbody"):a;A&&l.map(function(e){P.appendChild(e)})}WPTB_RecalculateIndexes(a),WPTB_CutGlueTable.glueTableHorizontally(a),n=!0}else if("horizontal"===t&&"0"===e.target.dataset.xIndex){var W,I,L=a.querySelectorAll('[data-y-index="'.concat(e.target.dataset.yIndex,'"]'));(L=_toConsumableArray(L)).map(function(e){(W=parseInt(e.colSpan,10))||(W=1),I=e.dataset.xIndex,WPTB_CutGlueTable.cutTableVertically(I,a),I+=W,WPTB_CutGlueTable.cutTableVertically(I,a)});for(var N,H=[],O=0,M=0;M<L.length;M++){var k=Z(e,a,L,M,O,"horizontal");if(k&&k.hasOwnProperty("i"))L=k.tds,M=k.i;else{k&&(L=k.tds);var D=L[M],q=parseInt(D.colSpan,10);q||(q=1),O=parseInt(D.dataset.xIndex,10)+q;for(var j=K(D),F=[],R=0;R<q;R++){var G=_toConsumableArray(a.querySelectorAll('[data-x-index="'.concat(parseInt(D.dataset.xIndex,10)+R,'"]')));F.push(G)}0<D.dataset.xIndex?H.push({columnsTd:F,value:j}):N=F}}var V=Y(e,"sortedHorizontal");if(!V)return;if(H.length&&H.sort(function(e,t){return X(V,e,t)}),H.unshift({columnsTd:N}),H.length<a.maxCols)for(var z=a.maxCols-H.length,U=0;U<z;U++){var J=_toConsumableArray(a.querySelectorAll('[data-x-index="'.concat(parseInt(a.maxCols,10)-parseInt(z,10)+U,'"]')));H.push({columnsTd:[J]})}for(var $=0;$<a.rows.length;$++)a.rows[$].innerHTML="";H.map(function(e){e.columnsTd.map(function(e){e.map(function(e){a.rows[e.dataset.yIndex].appendChild(e)})})}),WPTB_RecalculateIndexes(a),WPTB_CutGlueTable.glueTableVertically(a),n=!0}n&&(function(e){for(var t=_toConsumableArray(e.getElementsByTagName("td")),a=0;a<t.length;a++)t[a].hasAttribute("data-same-cell-before-division")&&t[a].removeAttribute("data-same-cell-before-division")}(a),a.hasOwnProperty("tableSM")&&(new(a.tableSM())).tableStateSet(),this.reassignElementsStyles("td"),this.reassignElementsStyles("tr"))}}function Y(e,t){return!(!e.currentTarget||!e.currentTarget.classList.contains("wptb-preview-table")&&!e.currentTarget.classList.contains("wptb-preview-table-mobile"))&&(e.target.dataset[t]&&"ask"!==e.target.dataset[t]?e.target.dataset[t]="ask":e.target.dataset[t]="desk",e.target.dataset[t])}function X(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"ask",t=1<arguments.length?arguments[1]:void 0,a=2<arguments.length?arguments[2]:void 0,n=t.value,r=a.value;return parseInt(n)&&parseInt(r)&&(n=parseInt(n),r=parseInt(r)),"ask"===e?n<r?-1:n===r?0:1:n<r?1:n===r?0:-1}function K(e){var t=e.querySelectorAll(".wptb-text-container");t=_toConsumableArray(t);for(var a="",n=0;n<t.length;n++)a+=t[n].querySelector("p").innerText,n!==t.length-1&&(a+=" ");return a}function Z(e,t,a,n,r,l){var o,i,s,c,d,p,u,m,b=a[n],f=!1;if("vertical"===l?(s="colSpan",c="data-y-index",d="yIndex",p="xIndex",u="rowSpan",m=t.rows.length):"horizontal"===l&&(s="rowSpan",c="data-x-index",d="xIndex",p="yIndex",u="colSpan",m=t.maxCols),0<b.dataset[d]-r){o=t.querySelectorAll("[".concat(c,'="').concat(r,'"]'));for(var v=0;v<o.length;v++)if((i=o[v][s])||(i=1),o[v].dataset[p]<e.target.dataset[p]&&parseInt(o[v].dataset[p],10)+parseInt(i,10)>e.target.dataset[p]){a.splice(n,0,o[v]),f=!0,n--;break}}if(f)return{tds:a,i:n};var g=parseInt(b[u],10);if(g||(g=1),n==a.length-1&&parseInt(b.dataset[d],10)+g<m){o=t.querySelectorAll("[".concat(c,'="').concat(parseInt(b.dataset[d],10)+g,'"]'));for(var w=0;w<o.length;w++)if((i=o[w][s])||(i=1),o[w].dataset[p]<e.target.dataset[p]&&parseInt(o[w].dataset[p],10)+parseInt(i,10)>e.target.dataset[p]){a.push(o[w]),f=!0;break}}return!!f&&{tds:a}}return this.itemsPerHeader=0,this.tableMaxCols=Q.maxCols,this.cellsStylesScheme={},this.rowsStylesScheme={},this.sortModeSwitcher=function(e,t){t&&(this.sortModeSwitcher("horizontal",!1),this.sortModeSwitcher("vertical",!1)),"vertical"===e?(this.table.removeEventListener("click",this.sortableTableVerticalStart,!1),t?(this.sortingCellMouseMoveSwitcher("vertical",!0),this.table.addEventListener("click",this.sortableTableVerticalStart,!1),this.table.dataset.wptbSortableTableVertical="1",this.createTableElementsStylesScheme("td"),this.createTableElementsStylesScheme("tr")):(this.sortingCellMouseMoveSwitcher("vertical",!1),delete this.table.dataset.wptbSortableTableVertical)):"horizontal"===e&&(this.table.removeEventListener("click",this.sortableTableHorizontalStart,!1),t?(this.sortingCellMouseMoveSwitcher("horizontal",!0),this.table.addEventListener("click",this.sortableTableHorizontalStart,!1),this.table.dataset.wptbSortableTableHorizontal="1",this.createTableElementsStylesScheme("td"),this.createTableElementsStylesScheme("tr")):(this.sortingCellMouseMoveSwitcher("horizontal",!1),delete this.table.dataset.wptbSortableTableHorizontal))},this.tableObjectChange=function(){var e=!(0<arguments.length&&void 0!==arguments[0])||arguments[0];return this.table.classList.contains("wptb-mobile-view-active")&&e?this.table=Q.parentNode.parentNode.querySelector(".wptb-preview-table-mobile"):this.table.classList.contains("wptb-preview-table-mobile")&&!e&&(this.table=Q.parentNode.querySelector(".wptb-preview-table")),this.table},this.createTableElementsStylesScheme=function(e){this.tableObjectChange();var t=this.table.querySelectorAll(e);if(t.length)for(var a=0;a<t.length;a++){var n=t[a],r=window.getComputedStyle(n,null).getPropertyValue("background-color"),l="";"td"===e?(l=n.dataset.xIndex+"-"+n.dataset.yIndex,this.cellsStylesScheme[l]={backgroundColor:r}):"tr"===e&&(l=String(a),this.rowsStylesScheme[l]={backgroundColor:r})}this.tableObjectChange(!1)},this.reassignElementsStyles=function(e){this.tableObjectChange();var t,a=this.table.querySelectorAll(e);if("td"===e?t=this.cellsStylesScheme:"tr"===e&&(t=this.rowsStylesScheme),a.length)for(var n=0;n<a.length;n++){var r=a[n],l="";if("td"===e?l=r.dataset.xIndex+"-"+r.dataset.yIndex:"tr"===e&&(l=n),t.hasOwnProperty(l)){var o=t[l];for(var i in o)r.style[i]=o[i]}}this.tableObjectChange(!1)},this.sortableTableInitialization=function(l){var o,i,s="";this.table.dataset.wptbSortableTableVertical&&"1"===this.table.dataset.wptbSortableTableVertical?(o="vertical",i="horizontal"):this.table.dataset.wptbSortableTableHorizontal&&"1"===this.table.dataset.wptbSortableTableHorizontal&&(o="horizontal",i="vertical");var t={};l&&l.getDirective(this.table)?t.switch=function(e){var t=l.getDirective(this.table),a="desktop";if(e&&e.detail&&(a=e.detail.sizeRangeId),s=o,"desktop"!==a){if(t.hasOwnProperty("modeOptions")){var n=t.responsiveMode,r=t.modeOptions[n];r.hasOwnProperty("topRowAsHeader")&&r.topRowAsHeader.hasOwnProperty(a)&&r.topRowAsHeader[a]?r.hasOwnProperty("cellStackDirection")&&r.cellStackDirection.hasOwnProperty(a)&&("row"===r.cellStackDirection[a]?(s=i,this.itemsPerHeader=this.tableMaxCols-1):"column"===r.cellStackDirection[a]&&r.hasOwnProperty("cellsPerRow")&&(this.itemsPerHeader=r.cellsPerRow[a])):this.itemsPerHeader=0}}else this.itemsPerHeader=0;this.sortModeSwitcher(s,!0)}:t.switch=function(e){var t=o;if(this.table.classList.contains("wptb-mobile-view-active")){this.table.classList.contains("wptb-table-preview-head")&&"vertical"===(t=i)&&(this.itemsPerHeader=this.tableMaxCols-1);var a=this.table;return this.table=a.parentNode.parentNode.querySelector(".wptb-preview-table-mobile"),this.sortModeSwitcher(t,!0),void(this.table=a)}this.sortModeSwitcher(t,!0)},t.switch.call(a),this.table.addEventListener("table:rebuilt",function(e){t.switch.call(a,e)},!1)},this.sortingCellMouseMoveSwitcher=function(e,t){var a=this;function n(e,t,a){e.removeEventListener("mousemove",t,!1),e.removeEventListener("mouseleave",u,!1),a&&(e.addEventListener("mousemove",t,!1),e.addEventListener("mouseleave",u,!1))}function r(e,t,a){a?e.dataset[t]&&"desk-disabled"===e.dataset[t]?e.dataset[t]="desk":e.dataset[t]="ask":"ask"===e.dataset[t]?e.dataset[t]="ask-disabled":"desk"===e.dataset[t]&&(e.dataset[t]="desk-disabled")}var l=this.table.querySelectorAll("td");if(l.length&&(l=_toConsumableArray(l)).map(function(e){n(e,d,!1),r(e,"sortedVertical",!1),n(e,p,!1),r(e,"sortedHorizontal",!1)}),t)if("vertical"===e)for(var o=this.table.rows.length,i=0;0<o;){var s=this.table.querySelectorAll('[data-y-index="'.concat(i,'"]'));(s=_toConsumableArray(s)).map(function(e){n(e,d,t),r(e,"sortedVertical",t)}),this.itemsPerHeader?(o-=this.itemsPerHeader+1,i+=this.itemsPerHeader+1):o=0}else if("horizontal"===e){var c=this.table.querySelectorAll('[data-x-index="0"]');(c=_toConsumableArray(c)).map(function(e){2<a.table.querySelectorAll('[data-y-index="'.concat(e.dataset.yIndex,'"]')).length&&(n(e,p,t),r(e,"sortedHorizontal",t))})}},this.sortableTableVerticalStart=function(e){n.call(a,e,"vertical")},this.sortableTableHorizontalStart=function(e){n.call(a,e,"horizontal")},this}});var WPTB_Stringifier=function(e){if(e){var t=e.cloneNode(!0);t.dataset.tableColumns=e.columns,t.style.width=null,t.style.minWidth=null,t.style.maxWidth=null;var a=t.getElementsByTagName("td");if(0<a.length)for(var n=0;n<a.length;n++){a[n].removeAttribute("draggable"),a[n].classList.remove("wptb-droppable");var r=a[n].className.match(/wptb-element-((.+-)\d+)/i);r&&a[n].classList.remove(r[0]);var l=a[n].getElementsByClassName("wptb-ph-element");if(0<l.length)for(var o=0;o<l.length;o++){var i=l[o].querySelectorAll(".mce-content-body");if(0<i.length)for(var s=0;s<i.length;s++)i[s].classList.remove("mce-content-body");var c=l[o].querySelectorAll("[data-mce-style]");if(0<c.length)for(var d=0;d<c.length;d++)c[d].removeAttribute("data-mce-style");var p=l[o].querySelectorAll("[contenteditable]");if(0<p.length)for(var u=0;u<p.length;u++)p[u].removeAttribute("contenteditable");var m=l[o].querySelectorAll("[spellcheck]");if(0<m.length)for(var b=0;b<m.length;b++)m[b].removeAttribute("spellcheck");var f=l[o].querySelectorAll("[id^=mce_]");if(0<f.length)for(var v=0;v<f.length;v++)f[v].removeAttribute("id");for(var g=l[o].querySelectorAll(".wptb-actions"),w=g.length;0<w&&g[0]&&g[0].parentNode;)g[0].parentNode.removeChild(g[0]),w--;var h=l[o].querySelectorAll("[data-mce-bogus]");if(0<h.length){h=_toConsumableArray(h);for(var y=0;y<h.length;y++)h[y]&&h[y].parentNode&&h[y].parentNode.removeChild(h[y])}}}return t}};function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function _iterableToArrayLimit(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var a=[],n=!0,r=!1,l=void 0;try{for(var o,i=e[Symbol.iterator]();!(n=(o=i.next()).done)&&(a.push(o.value),!t||a.length!==t);n=!0);}catch(e){r=!0,l=e}finally{try{n||null==i.return||i.return()}finally{if(r)throw l}}return a}}function _arrayWithHoles(e){if(Array.isArray(e))return e}var array=[],WPTB_Table=function(e,t,a){var L,n,r,m,l=document.getElementsByClassName("wptb-settings-items"),S=document.getElementsByClassName("wptb-table-setup")[0],T=function(e){var t=e.currentTarget,a=t.rowSpan,n=t.colSpan,r=document.getElementsByClassName("wptb-no-cell-action"),l=document.getElementsByClassName("wptb-single-action"),o=document.getElementsByClassName("wptb-multiple-select-action"),i=document.getElementById("wptb-left-scroll-panel-cell-settings"),s=B(t);s[0],s[1];function c(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],a=t?"add":"remove";e.classList[a]("wptb-highlighted");for(var n=_slicedToArray(B(e),2),r=n[0],l=n[1],o=e.rowSpan,i=e.colSpan,s=0;s<o;s++)for(var c=0;c<i;c++)array[r+s][l+c]=t?1:0}if(document.select.isActivated()){var d=e.shiftKey;if(t.className.match(/wptb-highlighted/)){var p=Array.from(document.querySelectorAll(".wptb-highlighted"));1<p.length?d?c(t,!1):(c(t,!0),p.map(function(e){e!==t&&c(e,!1)})):c(t,!1)}else d||Array.from(document.querySelectorAll(".wptb-highlighted")).map(function(e){e!==t&&c(e,!1)}),c(t,!0);var u=document.getElementsByClassName("wptb-highlighted"),m=u.length;if(0===m){for(var b=0;b<o.length;b++)o[b].classList.remove("visible"),o[b].setAttribute("disabled","disabled");for(b=0;b<r.length;b++)r[b].classList.add("visible"),r[b].removeAttribute("disabled");for(b=0;b<l.length;b++)l[b].classList.remove("visible"),l[b].setAttribute("disabled","disabled");i.classList.remove("visible")}else if(1===m){for(b=0;b<o.length;b++)o[b].classList.remove("visible"),o[b].setAttribute("disabled","disabled");for(b=0;b<r.length;b++)r[b].classList.remove("visible"),r[b].setAttribute("disabled","disabled");for(b=0;b<l.length;b++)l[b].classList.add("visible"),l[b].removeAttribute("disabled");u=u[0],WPTB_Helper.elementOptionsSet("table_cell_setting",u);var f=u.className.match(/wptb-element-((.+-)\d+)/i);["cellWidth","cellHeight"].map(function(e){var t="wptb-el-".concat(f[1],"-").concat(e),a="wptb-el-".concat(f[1],"-").concat(e,"Fixed");if("cellWidth"===e||"cellHeight"===e){var n="",r="";"cellWidth"===e?(n="width",r="getColumnWidth"):"cellHeight"===e&&(n="height",r="getRowHeight");var l=u.style[n],o=document.querySelectorAll("."+t),i=document.querySelector("."+a);o=_toConsumableArray(o),l||u.dataset["wptbFixed".concat(n.toUpperCase())]?(o.map(function(e){l?e.value=parseFloat(l,10):u.dataset["wptbFixed".concat(n.toUpperCase())]&&(e.value=u.dataset["wptbFixed".concat(n.toUpperCase())])}),i.checked=!0):(l=WPTB_Helper[r](L,u),o.map(function(e){e.value=l}),i.checked=!1)}}),i.classList.add("visible")}else{for(b=0;b<o.length;b++)L.isSquare(array)?(o[b].classList.add("visible"),o[b].removeAttribute("disabled")):(o[b].classList.remove("visible"),o[b].setAttribute("disabled","disabled"));for(b=0;b<r.length;b++)r[b].classList.remove("visible"),r[b].setAttribute("disabled","disabled");for(b=0;b<l.length;b++)l[b].classList.remove("visible"),l[b].setAttribute("disabled","disabled");i.classList.remove("visible")}var v=t.className.match(/wptb-element-table_cell_setting-((.+-)\d+)/i);if(v&&1<v.length){var g="wptb-el-table_cell_setting-".concat(v[1],"-").concat("emptyCell"),w=document.getElementById(g);w&&(w.querySelector('input[type="checkbox"]').checked=t.classList.contains("wptb-empty"))}var h={countMarkedCells:m};WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/cell/mark",t,h);var y=document.querySelector("#wptb-split-cell");if(y)1===m&&(1!==a||1!==n)?(y.classList.add("visible"),y.removeAttribute("disabled")):(y.classList.remove("visible"),y.setAttribute("disabled","disabled"))}},C=function(e){for(var t=0;t<e.length;t++){for(var a=0;a<e[t].length;a++)" "+e[t][a];"\n"}L.isSquare(e)},_=function(){for(var e=document.getElementsByClassName("wptb-no-cell-action"),t=document.getElementsByClassName("wptb-single-action"),a=document.getElementsByClassName("wptb-multiple-select-action"),n=document.getElementById("wptb-left-scroll-panel-cell-settings"),r=L.getElementsByClassName("wptb-highlighted");r.length;)r[0].classList.remove("wptb-highlighted");n.classList.remove("visible");for(var l=0;l<array.length;l++)for(var o=0;o<array[l].length;o++)array[l][o]=0;for(var i=0;i<a.length;i++)a[i].classList.remove("visible"),a[i].setAttribute("disabled","disabled");for(var s=0;s<e.length;s++)e[s].classList.add("visible"),e[s].removeAttribute("disabled");for(var c=0;c<t.length;c++)t[c].classList.remove("visible"),t[c].setAttribute("disabled","disabled");WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/undo-select/active",L)},o=function(){for(var e=[],t=[],a=0;a<L.rows.length;a++){for(var n=L.rows[a].getElementsByTagName("td"),r=0,l=0;l<n.length;l++)r+=n[l].colSpan;e.push(r)}m=Math.max.apply(null,e);var o=L.rows.length;for(a=0;a<o;a++){t[a]=[];for(l=0;l<m;l++)t[a].push(0)}return C(t),t},B=function(e){for(var t=[],a=0;a<m;a++)t[a]=0;for(a=0;a<L.rows.length;a++)for(var n=L.rows[a].getElementsByTagName("td"),r=cellPointer=0;r<m;r+=stepsToMove)if(stepsToMove=1,t[r])t[r]--;else{var l=n[cellPointer++];if(l==e)return[a,r];if(1<l.rowSpan){for(var o=0;o<l.colSpan;o++)t[r+o]=l.rowSpan-1;stepsToMove=l.colSpan}else 1<l.colSpan&&(stepsToMove=l.colSpan)}};if(jQuery("#wptb-table-border-color").val(""),jQuery("#wptb-table-padding-number,#wptb-table-padding-slider").val("15"),e||t){for(var i=0;i<l.length;i++)"wptb-apply-inner-border"!==l[i].id&&l[i].classList.add("visible");(L=document.createElement("table")).classList.add("wptb-preview-table","wptb-element-main-table_setting-startedid-0"),L.style.border="0px solid",L.dataset.reconstraction=1;for(i=0;i<t;i++){(n=L.insertRow(-1)).classList.add("wptb-row");for(var g=0;g<e;g++)(r=new WPTB_Cell(T)).setCoords(i,g),r.getDOMElement().style.borderWidth="1px",n.appendChild(r.getDOMElement())}}else{if(a||(a=document.querySelector(".wptb-preview-table")),!a)return;var s=(L=a).getElementsByTagName("td");if(0<s.length)for(var c=0;c<s.length;c++)WPTB_Cell(T,s[c])}L.mark=function(e){T(e)},L.wptbCell=function(e,t){return WPTB_Cell(e,t)},L.tableSM=function(){return WPTB_TableStateSaveManager},L.undoSelect=function(){_()},L.setMaxAmountOfCells=function(e){m=e},L.getMaxAmountOfCells=function(){return m},L.fillTableArray=function(){return o()},L.recalculateIndexes=function(){WPTB_Helper.recalculateIndexes(this)},L.addColumnWidth=function(p,u){var e=L.getElementsByClassName("wptb-highlighted");if(0<e.length){for(var t=0;t<e.length;t++){var a=e[t].dataset.xIndex;a&&function e(t,a){for(var n=L.rows,r=!1,l=[],o=0;o<n.length;o++)for(var i=n[o].children,s=0;s<i.length;s++){var c=i[s];if(c.dataset.xIndex==t){if(p)c.colSpan==a?(c.style.width=p+"px",c.removeAttribute("data-wptb-fixed-width"),r=!0):(c.style.width=null,c.dataset.wptbFixedWidth=p,o!=n.length-1||r||e(t,a+1));else if(u)c.style.width=null,c.removeAttribute("data-wptb-fixed-width");else if(c.dataset.wptbFixedWidth)c.colSpan==a&&(c.style.width=c.dataset.wptbFixedWidth+"px",c.removeAttribute("data-wptb-fixed-width"));else if(c.style.width){for(var d=0;d<l.length;d++)l[d].style.width=c.style.width;l=[]}else l.push(c);break}}}(a,1)}L.tdDefaultWidth(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L)}},L.tdDefaultWidth=function(){for(var e,t=L.rows,a=0,n=0,r=document.getElementsByClassName("wptb-table-setup")[0],l=r.offsetWidth,o=[],i=[],s=0,c=0,d="",p=window.getComputedStyle(L,null),u=p.getPropertyValue("border-left-width"),m=p.getPropertyValue("border-right-width"),b=parseFloat(u,10)+parseFloat(m,10),f=0;f<t.length;f++)for(var v=t[f].children,g=0;g<v.length;g++){var w=v[g];if(o[parseFloat(w.dataset.xIndex)]||i[parseFloat(w.dataset.xIndex)])i[parseFloat(w.dataset.xIndex)]?w.dataset.wptbFixedWidth||(w.dataset.wptbCssTdAutoWidth=!0):o[parseFloat(w.dataset.xIndex)]&&w.removeAttribute("data-wptb-css-td-auto-width");else if(w.style.width?(o[parseFloat(w.dataset.xIndex)]=parseFloat(w.style.width),w.removeAttribute("data-wptb-css-td-auto-width")):w.dataset.wptbFixedWidth||(i[parseFloat(w.dataset.xIndex)]=L.dataset.wptbTdWidthAuto?parseFloat(L.dataset.wptbTdWidthAuto,10):100,w.dataset.wptbCssTdAutoWidth=!0),window.getComputedStyle(w,null)){var h=window.getComputedStyle(w,null),y=h.getPropertyValue("padding-left"),S=h.getPropertyValue("padding-right");s=parseFloat(y,10)+parseFloat(S,10);var T=h.getPropertyValue("border-left-width"),C=h.getPropertyValue("border-right-width");c=parseFloat(T,10)+parseFloat(C,10),c/=2,o[parseFloat(w.dataset.xIndex)]?(o[parseFloat(w.dataset.xIndex)]+=s,o[parseFloat(w.dataset.xIndex)]+=c,0==g&&b/2<=parseFloat(T,10)?o[parseFloat(w.dataset.xIndex)]+=parseFloat(T,10)/2:0==g&&b/2>parseFloat(T,10)&&(o[parseFloat(w.dataset.xIndex)]+=b/2-parseFloat(C,10)/2),g==v.length-1&&b/2<=parseFloat(C,10)?o[parseFloat(w.dataset.xIndex)]+=parseFloat(C,10)/2:g==v.length-1&&b/2>parseFloat(C,10)&&(o[parseFloat(w.dataset.xIndex)]+=b/2-parseFloat(C,10)/2)):i[parseFloat(w.dataset.xIndex)]&&(i[parseFloat(w.dataset.xIndex)]+=s,i[parseFloat(w.dataset.xIndex)]+=c,0==g&&b/2<=parseFloat(T,10)?i[parseFloat(w.dataset.xIndex)]+=parseFloat(T,10)/2:0==g&&b/2>parseFloat(T,10)&&(i[parseFloat(w.dataset.xIndex)]+=b/2-parseFloat(T,10)/2),g==v.length-1&&b/2<=parseFloat(C,10)?i[parseFloat(w.dataset.xIndex)]+=parseFloat(C,10)/2:g==v.length-1&&b/2>parseFloat(C,10)&&(i[parseFloat(w.dataset.xIndex)]+=b/2-parseFloat(T,10)/2))}}for(var _=0;_<o.length;_++)o[_]&&(a+=o[_]);for(var B=0,A=0;A<i.length;A++)i[A]&&(n+=i[A],B++);e=a+n,L.dataset.wptbTableTdsSumMaxWidth=e,B?(L.dataset.wptbCellsWidthAutoCount=B,L.mergingСellsHorizontally?L.dataset.wptbFixedWidthSize=a:L.removeAttribute("data-wptb-fixed-width-size")):(L.removeAttribute("data-wptb-fixed-width-size"),L.removeAttribute("data-wptb-cells-width-auto-count"));var E,x=!1;e<l?B?(L.style.minWidth="100%",L.mergingСellsHorizontally?(L.style.width="auto",E=(E=(l-a)/B)-s-c,x=!0):L.style.width="100%"):(L.style.width="auto",L.style.minWidth=null,L.style.maxWidth=null):(L.style.maxWidth=null,L.style.minWidth=e+"px",L.style.width="auto",E=L.dataset.wptbTdWidthAuto?L.dataset.wptbTdWidthAuto:"100",x=!0);var P=document.head;if(P){var W=P.querySelector('style[data-wptb-td-auto-width="true"]');W&&P.removeChild(W)}if(x&&((d=document.createElement("style")).setAttribute("data-wptb-td-auto-width",!0),d.innerHTML="[data-wptb-css-td-auto-width=true]{width:"+E+"px}",P&&P.appendChild(d)),L.dataset.wptbTableAlignment){var I=L.dataset.wptbTableAlignment;r.offsetWidth<L.offsetWidth?L.style.float=null:L.style.float="center"==I?null:I,r.style.float="center"==I?null:I,E&&L.dataset.wptbTableContainerMaxWidth&&L.offsetWidth<L.dataset.wptbTableContainerMaxWidth&&(L.style.width="100%")}else L.style.float=null},L.addRowHeight=function(p,u){var e=L.getElementsByClassName("wptb-highlighted");if(0<e.length){for(var t=0;t<e.length;t++){var a=e[t].dataset.yIndex;a&&function e(t,a){for(var n=L.rows,r=!1,l=[],o=0;o<n.length;o++)for(var i=n[o].children,s=0;s<i.length;s++){var c=i[s];if(c.dataset.yIndex==t)if(p){if(c.rowSpan==a){c.style.height=p+"px",c.removeAttribute("data-wptb-fixed-heidht"),r=!0;continue}c.style.height=null,c.dataset.wptbFixedHeight=p,s!=i.length-1||r||e(t,a+1)}else if(u)c.style.height=null,c.removeAttribute("data-wptb-fixed-heidht");else if(c.dataset.wptbFixedHeight)(c.rowSpan=a)&&(c.style.height=c.dataset.wptbFixedHeight+"px",c.removeAttribute("data-wptb-fixed-width"));else if(c.style.height){for(var d=0;d<l.length;d++)l[d].style.height=c.style.height;l=[]}else l.push(c)}}(a,1)}WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L)}},L.reconstraction=function(){var e=L.getElementsByTagName("td");L.mergingСellsHorizontally=!1,L.mergingCellsVertically=!1,L.dataset.reconstraction=1;for(var t=0,a=0;a<e.length&&(1<e[a].colSpan&&(L.dataset.reconstraction=0,L.mergingСellsHorizontally=!0,t++),1<e[a].rowSpan&&(L.dataset.reconstraction=0,L.mergingCellsVertically=!0,t++),2!=t);a++);},L.addColumnEnd=function(){var e,t,a,n=document.getElementsByClassName("wptb-preview-table");0<n.length&&(t=n[0].querySelector("td")),t&&(a=t.getAttribute("style"));for(var r=0;r<L.rows.length;r++)e=new WPTB_Cell(T),a&&(e.getDOMElement().setAttribute("style",a),e.getDOMElement().style.width=null,e.getDOMElement().style.height=null,e.getDOMElement().style.borderColor=WPTB_TableSettingsData.getTableSetting("borderColor")),L.rows[r].appendChild(e.getDOMElement()),array[r].push(0);m++,L.recalculateIndexes(),L.tdDefaultWidth(),L.addRowHeight(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()},L.addColumnStart=function(){var e,t,a,n,r=document.getElementsByClassName("wptb-preview-table");0<r.length&&(a=r[0].querySelector("td")),a&&(n=a.getAttribute("style"));for(var l=0;l<L.rows.length;l++)e=new WPTB_Cell(T),n&&(e.getDOMElement().setAttribute("style",n),e.getDOMElement().style.width=null,e.getDOMElement().style.height=null,e.getDOMElement().style.borderColor=WPTB_TableSettingsData.getTableSetting("borderColor")),(t=L.rows[l].getElementsByTagName("td")[0])?L.rows[l].insertBefore(e.getDOMElement(),t):L.rows[l].appendChild(e.getDOMElement()),array[l].push(0);m++,L.recalculateIndexes(),L.tdDefaultWidth(),L.addRowHeight(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()},L.addColumnAfter=function(e){var t,a,n,r=L.rows;if(null!=e&&"number"==typeof e?(n=e,t=document.querySelector('[data-x-index="'+n+'"]')):(t=document.querySelector(".wptb-highlighted"),n=B(t)[1]),t)if(a=t.getAttribute("style"),m-n-t.colSpan+1==1)L.addColumnEnd();else{for(var l=function(e){var t=new WPTB_Cell(T);return e&&(t.getDOMElement().setAttribute("style",e),t.getDOMElement().style.width=null,t.getDOMElement().style.height=null),t.getDOMElement().style.borderColor=WPTB_TableSettingsData.getTableSetting("borderColor"),t},o=0;o<r.length;o++)for(var i=r[o].children,s=0;s<i.length;s++)if(parseInt(i[s].dataset.xIndex)<=n){if(parseInt(i[s].dataset.xIndex)+i[s].colSpan==n+t.colSpan){var c=l(a),d=i[s].nextSibling;d?r[o].insertBefore(c.getDOMElement(),d):r[o].appendChild(c.getDOMElement());break}if(parseInt(i[s].dataset.xIndex)+i[s].colSpan>n+t.colSpan){i[s].colSpan++,1<i[s].rowSpan&&(o+=i[s].rowSpan-1);break}}else if(parseInt(i[s].dataset.xIndex)>n){var p=l(a);r[o].insertBefore(p.getDOMElement(),i[s]);break}for(var u=0;u<array.length;u++)array[u].push(0);m++,C(array),L.recalculateIndexes(),L.addColumnWidth(),L.addRowHeight(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()}},L.addColumnBefore=function(){var e=document.querySelector(".wptb-highlighted"),t=B(e)[1];0===t?L.addColumnStart():L.addColumnAfter(t-1)},L.addRowToTheEnd=function(){var e,t,a=L.insertRow(-1),n=document.getElementsByClassName("wptb-preview-table");if(a.classList.add("wptb-row"),0<n.length){n=n[0];for(var r=0;r<m;r++){e=new WPTB_Cell(T);var l=n.querySelector('[data-x-index="'+r+'"]');if(l){var o=l.getAttribute("style");e.getDOMElement().setAttribute("style",o),e.getDOMElement().style.height=null}a.appendChild(e.getDOMElement())}t=Array.from(array[0]),array.push(t),C(array),L.recalculateIndexes(),WPTB_Helper.tableRowsColorsReinstall(L),L.addColumnWidth(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()}},L.addRowToTheStart=function(){var e,t,a=L.insertRow(0),n=document.getElementsByClassName("wptb-preview-table");if(a.classList.add("wptb-row"),0<n.length){n=n[0];for(var r=0;r<m;r++){e=new WPTB_Cell(T);var l=n.querySelector('[data-x-index="'+r+'"]');if(l){var o=l.getAttribute("style");e.getDOMElement().setAttribute("style",o),e.getDOMElement().style.height=null}a.appendChild(e.getDOMElement())}t=Array.from(array[0]),array.push(t),C(array),L.recalculateIndexes(),WPTB_Helper.tableRowsColorsReinstall(L),L.addColumnWidth(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()}},L.addRowBefore=function(){var e,t=document.querySelector(".wptb-highlighted"),a=t.getAttribute("style"),n=B(t)[0];0===n&&(n=-1);for(var r=n-1;0<=r;r--){var l=L.rows[r].children,o=l.length;if(0<o)for(var i=0;i<o;i++)if(1==l[i].rowSpan){n=r,e=!0;break}if(e)break}-1===n?L.addRowToTheStart():L.addRowAfter(n,a)},L.addRowAfter=function(e,t){var a,n;if(null!=e&&"number"==typeof e||null!=t)a=e;else{var r=document.querySelector(".wptb-highlighted");t=r.getAttribute("style"),a=(e=B(r)[0])+r.rowSpan-1}var l=0;if(a<L.rows.length-1){for(var o=0;o<=a;o++){var i=L.rows[o].children,s=i.length;if(0<s)for(var c=0;c<s;c++){a<i[c].rowSpan-1+o&&i[c].rowSpan++}}var d=L.rows[a+1].children,p=d.length;if(0<p)for(var u=0;u<p;u++)l+=d[u].colSpan}else l=array[0].length;var m=L.insertRow(a+1);for(m.classList.add("wptb-row"),g=0;g<l;g++){var b=new WPTB_Cell(T),f=L.querySelector('[data-x-index="'+g+'"]');if(f){var v=f.getAttribute("style");b.getDOMElement().setAttribute("style",v),b.getDOMElement().style.height=null}m.appendChild(b.getDOMElement())}n=Array.from(array[0]),array.push(n),C(array),L.recalculateIndexes(),WPTB_Helper.tableRowsColorsReinstall(L),L.addColumnWidth(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after"),(new WPTB_TableStateSaveManager).tableStateSet()},L.isSquare=function(e){for(var t,a,n=-1,r=-1,l=-1,o=-1,i=0,s=0;s<e.length;s++)for(var c=0;c<e[s].length;c++)1==e[s][c]&&((c<r||-1==r)&&(r=c),(s<n||-1==n)&&(n=s));for(s=e.length-1;-1<s;s--)for(c=e[s].length-1;-1<c;c--)1==e[s][c]&&(o<c&&(o=c),l<s&&(l=s));for(s=n;s<l;s++)for(c=r;c<o;c++)if(0==e[s][c]||null==e[s][c])return!1;for(s=0;s<e.length;s++)for(c=0;c<e[s].length;c++)1==e[s][c]&&i++;return(t=l-n+1)*(a=o-r+1)===i&&[t,a]},L.mergeCells=function(){for(var e=L.isSquare(array),t=e[0],a=e[1],n=document.querySelector(".wptb-highlighted"),r=[].slice.call(document.getElementsByClassName("wptb-highlighted"),1),l=[],o=0;o<r.length;o++){var i=r[o].getElementsByClassName("wptb-ph-element");if(0<i.length)for(var s=i.length,c=0;c<s;c++)l.push(i[c]);r[o].parentNode.removeChild(r[o])}if(0<l.length)for(var d=0;d<l.length;d++)n.appendChild(l[d]);n.colSpan=a,n.rowSpan=t,L.recalculateIndexes(),L.reconstraction();var p=n.style.width,u=n.dataset.wptbFixedWidth;p?L.addColumnWidth(parseFloat(p,10)):u?L.addColumnWidth():L.addColumnWidth(!1,!0);var m=n.style.height,b=n.dataset.wptbFixedHeight;m?L.addRowHeight(parseFloat(m,10)):b?L.addRowHeight():L.addRowHeight(!1,!0),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()},L.splitCell=function(){var e=document.getElementsByClassName("wptb-highlighted")[0],t=e.rowSpan,a=e.colSpan,n=e.getAttribute("style"),r=B(e)[0],l=L.rows[r],o=e.dataset.xIndex;e.rowSpan=1;for(var i=e.colSpan=1;i<a;i++){var s=new WPTB_Cell(T);s.getDOMElement().setAttribute("style",n),s.getDOMElement().classList.add("wptb-highlighted"),e.nextSibling?l.insertBefore(s.getDOMElement(),e.nextSibling):l.appendChild(s.getDOMElement())}if(1<t)for(var c=1;c<t;c++){var d=void 0,p=L.rows[r+c],u=p.children,m=u.length;if(0<m)for(var b=0;b<m;b++)if(Number(u[b].dataset.xIndex)>Number(o)){d=u[b];break}for(var f=0;f<a;f++){var v=new WPTB_Cell(T);v.getDOMElement().setAttribute("style",n),null!=d?p.insertBefore(v.getDOMElement(),d):p.appendChild(v.getDOMElement())}}L.recalculateIndexes(),L.reconstraction(),L.addColumnWidth(),L.addRowHeight(),WPTB_Helper.dataTitleColumnSet(L),_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()},L.findRowspannedCells=function(e){var t,a=[];if(actualPoints=function(e){for(var t=L.rows[e].getElementsByTagName("td"),a=0,n=0;n<t.length;n++)a+=t[n].colSpan;return a}(e),actualPoints===m)return[];t=m-actualPoints;for(var n=e-1;0<=n&&t;n--){var r=L.rows[n].getElementsByTagName("td");for(n=0;n<r.length;n++)1<r[n].rowSpan&&(a.push(r[n]),t-=r[n].colSpan)}return a},L.addLackingCells=function(){for(var e=[],t=0;t<L.rows.length;t++)e.push(0);for(t=0;t<L.rows.length;t++)for(var a=L.rows[t].getElementsByTagName("td"),n=0;n<a.length;n++)if(1<a[n].rowSpan)for(var r=1;r<a[n].rowSpan;r++)e[t+r]++;for(t=0;t<L.rows.length;t++){a=L.rows[t].getElementsByTagName("td");var l=0;for(n=0;n<a.length;n++)l+=a[n].colSpan;l+=e[t],difference=m-l;for(n=0;n<difference;n++){var o=new WPTB_Cell(T);L.rows[t].appendChild(o.getDOMElement())}}},L.deleteRow=function(){var e,t=document.querySelector(".wptb-highlighted"),a=t.getAttribute("style"),n=t.rowSpan,r=B(t)[0];null==n&&(n=1);for(var l=0;l<n;l++){var o=L.rows[r].children,i=L.rows[r+1],s=void 0,c=void 0,d=[];if(null!=i){c=(s=i.children).length;for(var p=0;p<o.length;p++)if(1<o[p].rowSpan){var u=new WPTB_Cell(T);u.getDOMElement().setAttribute("style",a),u.getDOMElement().colSpan=o[p].colSpan,u.getDOMElement().rowSpan=o[p].rowSpan-1;for(var m=void 0,b=0;b<c;b++)if(Number(s[b].dataset.xIndex)>Number(o[p].dataset.xIndex)){m=s[b];break}m?d.push([u,m]):d.push([u])}if(0<d.length)for(var f=0;f<d.length;f++)null!=d[f][1]?i.insertBefore(d[f][0].getDOMElement(),d[f][1]):i.appendChild(d[f][0].getDOMElement())}var v=L.rows;if(0<v.length)for(var g=0;g<r;g++){var w=v[g].children;if(0<w.length)for(var h=0;h<w.length;h++)w[h].rowSpan-1>=r-g&&w[h].rowSpan--}if(e=Array.from(array[0]),array.pop(e),C(array),L.getElementsByTagName("tbody")[0].removeChild(L.rows[r]),0==L.rows.length){WPTB_Helper.toggleTableEditMode(),S.innerHTML="",document.getElementsByClassName("wptb-table-generator")[0].style.display="table";var y=document.getElementsByClassName("wptb-save-btn");0<y.length&&((y=y[0]).classList.add("wptb-save-disabled"),y.classList.remove("active"))}else L.recalculateIndexes(),WPTB_Helper.tableRowsColorsReinstall(L),WPTB_Helper.dataTitleColumnSet(L),L.reconstraction()}_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()},L.deleteColumn=function(){for(var e=document.querySelector(".wptb-highlighted"),t=e.dataset.xIndex,a=e.colSpan,n=0;n<a;n++){for(var r=0;r<L.rows.length;r++){var l=L.rows[r].children,o=l.length;if(0<o)for(var i=o-1;0<=i;i--){if(Number(l[i].dataset.xIndex)==Number(t)){1<l[i].colSpan?l[i].colSpan--:L.rows[r].removeChild(l[i]);break}if(Number(l[i].dataset.xIndex)<Number(t)&&Number(l[i].dataset.xIndex)+Number(l[i].colSpan-1)>=t){1<l[i].colSpan&&l[i].colSpan--;break}}}for(var s=0;s<L.rows.length;s++)null!=array[s]&&array[s].pop();if(m--,0==L.querySelectorAll("td").length){WPTB_Helper.toggleTableEditMode(),S.innerHTML="",document.getElementsByClassName("wptb-table-generator")[0].style.display="table";var c=document.getElementsByClassName("wptb-save-btn");0<c.length&&((c=c[0]).classList.add("wptb-save-disabled"),c.classList.remove("active"))}else L.recalculateIndexes(),L.tdDefaultWidth(),WPTB_Helper.dataTitleColumnSet(L),L.reconstraction()}_(),WPTB_Helper.wptbDocumentEventGenerate("wp-table-builder/table-changed/after",L),(new WPTB_TableStateSaveManager).tableStateSet()},array=o(),_(),C(array),S.appendChild(L),L.recalculateIndexes(!0),L.reconstraction(),L.tdDefaultWidth(),S.onresize=function(){L.tdDefaultWidth()},WPTB_LeftPanel(),WPTB_Helper.wptbDocumentEventGenerate("wptb:table:generated",document),WPTB_Helper.elementStartScript(L,"table_setting"),WPTB_Helper.elementOptionsSet("table_setting",L)},WPTB_TableSettingsData={borderColor:"",setTableSetting:function(e,t){this[e]=t},getTableSetting:function(e){return this[e]}};function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var WPTB_TableStateSaveManager=function(){this.tableStateSet=function(e){if(!(e&&window.wptbTableStateSaving&&Array.isArray(window.wptbTableStateSaving))){var t=document.getElementsByClassName("wptb-table-setup"),a="";0<t.length?a=(t=t[0]).querySelector(".wptb-preview-table"):t="",window.wptbTableStateSaving||Array.isArray(window.wptbTableStateSaving)||(window.wptbTableStateSaving=[]),window.wptbTableStateSaving.length>window.wptbTableStateNumberShow&&(window.wptbTableStateSaving=window.wptbTableStateSaving.slice(0,window.wptbTableStateNumberShow+1));var n="";if(t){for(var r=(n=t.cloneNode(!0)).getElementsByClassName("wptb-highlighted"),l=0;l<r.length;l++)r[l].classList.remove("wptb-highlighted");for(var o=n.getElementsByClassName("wptb-directlyhovered"),i=0;i<o.length;i++)o[i].classList.remove("wptb-directlyhovered");var s=n.querySelectorAll(".mce-content-body");if(0<s.length)for(var c=0;c<s.length;c++)s[c].classList.remove("mce-content-body");var d=n.querySelectorAll("[data-mce-style]");if(0<d.length)for(var p=0;p<d.length;p++)d[p].removeAttribute("data-mce-style");var u=n.querySelectorAll("[id^=mce_]");if(0<u.length)for(var m=0;m<u.length;m++)u[m].removeAttribute("id")}var b="",f=document.head;if(f){var v=f.querySelector('style[data-wptb-td-auto-width="true"]');v&&(b=v.innerHTML)}var g="",w=document.getElementById("wptb-setup-name");if(w&&(g=w.value),window.wptbTableStateSaving.push([n,b,g]),window.wptbTableStateNumberShow=window.wptbTableStateSaving.length-1,0<window.wptbTableStateSaving.length-1){var h=document.getElementsByClassName("wptb-undo");0<h.length&&(h=h[0]).classList.remove("wptb-undoredo-disabled")}var y=document.getElementsByClassName("wptb-redo");0<y.length&&(y=y[0]).classList.add("wptb-undoredo-disabled");var S=document.getElementsByClassName("wptb-save-btn");0<S.length&&(!(S=S[0]).dataset.wptbTableStateNumberSave&&0==window.wptbTableStateNumberShow||window.wptbTableStateNumberShow==S.dataset.wptbTableStateNumberSave||!a?(S.classList.add("wptb-save-disabled"),S.classList.remove("active")):(S.classList.remove("wptb-save-disabled"),S.classList.add("active")))}},this.tableStateGet=function(e){if(e&&window.wptbTableStateSaving&&0<window.wptbTableStateSaving.length){if("undo"==e){if(!(0<window.wptbTableStateNumberShow))return!1;window.wptbTableStateNumberShow--}else if("redo"==e){if(!(window.wptbTableStateNumberShow<window.wptbTableStateSaving.length))return!1;window.wptbTableStateNumberShow++}var t=document.getElementsByClassName("wptb-undo");0<t.length&&(t=t[0],0==window.wptbTableStateNumberShow?t&&t.classList.add("wptb-undoredo-disabled"):0<window.wptbTableStateNumberShow&&t&&t.classList.remove("wptb-undoredo-disabled"));var a=document.getElementsByClassName("wptb-redo");0<a.length&&(a=a[0],window.wptbTableStateNumberShow==window.wptbTableStateSaving.length-1?a&&a.classList.add("wptb-undoredo-disabled"):window.wptbTableStateNumberShow<window.wptbTableStateSaving.length-1&&a&&a.classList.remove("wptb-undoredo-disabled"));var n=document.getElementsByClassName("wptb-save-btn");0<n.length&&(!(n=n[0]).dataset.wptbTableStateNumberSave&&0==window.wptbTableStateNumberShow||window.wptbTableStateNumberShow==n.dataset.wptbTableStateNumberSave?(n.classList.add("wptb-save-disabled"),n.classList.remove("active")):(n.classList.add("active"),n.classList.remove("wptb-save-disabled")));var r=document.getElementsByClassName("wptb-table-setup");if(0<r.length){if(r=r[0],window.wptbTableStateSaving[window.wptbTableStateNumberShow]){window.wptbTableStateSaving[window.wptbTableStateNumberShow][0]&&"object"===_typeof(window.wptbTableStateSaving[window.wptbTableStateNumberShow][0])&&"outerHTML"in window.wptbTableStateSaving[window.wptbTableStateNumberShow][0]&&(r.outerHTML=window.wptbTableStateSaving[window.wptbTableStateNumberShow][0].outerHTML);var l=document.querySelector(".wptb-table-setup");l&&0==l.children.length&&(n.classList.add("wptb-save-disabled"),n.classList.remove("active"));var o=document.head;if(o){var i=o.querySelector('style[data-wptb-td-auto-width="true"]');if(i&&o.removeChild(i),window.wptbTableStateSaving[window.wptbTableStateNumberShow][1]){var s=document.createElement("style");s.setAttribute("data-wptb-td-auto-width",!0),s.innerHTML=window.wptbTableStateSaving[window.wptbTableStateNumberShow][1],o.appendChild(s)}}var c=document.getElementById("wptb-setup-name");void 0!==window.wptbTableStateSaving[window.wptbTableStateNumberShow][2]&&c&&(c.value=window.wptbTableStateSaving[window.wptbTableStateNumberShow][2])}var d=document.getElementsByTagName("body");0<d.length&&(d=d[0]),WPTB_Helper.elementOptionsPanelClear(),WPTB_LeftPanel();var p=document.getElementById("wptb-left-scroll-panel-cell-settings");p&&p.classList.remove("visible")}}},this.tableStateClear=function(){delete window.wptbTableStateSaving,delete window.wptbTableStateNumberShow;var e=document.getElementsByClassName("wptb-save-btn");0<e.length&&(e=e[0]).removeAttribute("data-wptb-table-state-number-save");var t=document.getElementsByClassName("wptb-undo");0<t.length&&(t=t[0]).classList.add("wptb-undoredo-disabled");var a=document.getElementsByClassName("wptb-redo");0<a.length&&(a=a[0]).classList.add("wptb-undoredo-disabled")}};document.addEventListener("wptb:table:generated",function(){Array.from(document.querySelectorAll(".wptb-left-panel .wptb-upsells-anchor")).map(function(e){e&&(e.style.display="unset")})});var WPTB_innerElementSet=function d(t){t.ondragenter=function(e){-1==e.dataTransfer.types.indexOf("wptbelement")&&-1==e.dataTransfer.types.indexOf("wptb-moving-mode")||(WPTB_DropHandle(this,e),t.classList.add("wptb-ondragenter"))},t.ondragover=function(e){e.preventDefault(),WPTB_DropHandle(this,e)},t.ondragleave=function(e){WPTB_DropHandle(this,e,!0)},t.ondrop=function(e){var t,a;if(this.classList.remove("wptb-ondragenter"),e.preventDefault(),e.stopPropagation(),e.dataTransfer.getData("wptbElement")||e.dataTransfer.getData("node")){var n,r;if(0<document.getElementsByClassName("wptb-drop-handle").length&&(n=document.getElementsByClassName("wptb-drop-handle")[0]),0<document.getElementsByClassName("wptb-drop-border-marker").length&&(r=document.getElementsByClassName("wptb-drop-border-marker")[0]),t=e.dataTransfer.getData("wptbElement")?(t=WPTB_Helper.newElementProxy(e.dataTransfer.getData("wptbElement"))).getDOMElement():(a=e.dataTransfer.getData("node"),document.getElementsByClassName(a)[0]),"td_relative"===WPTB_Helper.getDragRelativeType()){WPTB_DropHandle(this,e,!0),WPTB_Helper.getParentOfType("td",e.target).appendChild(t),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t)}else{if("block"!=n.style.display)return;var l;if("Drop Here"==n.dataset.text)(l=n.getDOMParentElement()).appendChild(t),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t);else{var o=n.getDOMParentElement();if(l=o.parentNode,"Above Element"==n.dataset.text)l.insertBefore(t,o),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t);else if("Below Element"==n.dataset.text){var i=o.nextSibling;l.insertBefore(t,i),WPTB_Helper.wptbDocumentEventGenerate("element:mounted:dom",t)}}var s=l.parentNode;if(WPTB_Helper.rowIsTop(s)){var c=WPTB_Helper.findAncestor(s,"wptb-preview-table");c.classList.contains("wptb-table-preview-head")&&WPTB_Helper.dataTitleColumnSet(c)}t.className.match(/wptb-element-(.+)-(\d+)/i)[1];e.dataTransfer.getData("wptbElement")}if(n&&(n.style.display="none",r.style.display="none"),d(t),!t.classList.contains("wptb-image-container")||t.classList.contains("wptb-moving-mode"))t.classList.remove("wptb-moving-mode"),(new WPTB_TableStateSaveManager).tableStateSet();return!0}},t.onmouseover=function(e){t.classList.remove("wptb-ondragenter")}};function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var applyGenericItemSettings=function(e,t){var a,n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],r=e.getDOMElement();if(r.classList.contains("wptb-ph-element")){if(null==t||1==n){for(var l=document.getElementsByClassName("wptb-ph-element"),o=[],i=0;i<l.length;i++){var s=new RegExp("wptb-element-"+e.kind+"-(\\d+)","i"),c=l[i].className.match(s);c&&o.push(c[1])}if(0<o.length)a=Math.max.apply(Math,o)+1;else a=1;if(n)for(var d=_toConsumableArray(r.attributes),p=0;p<d.length;p++)if(d[p]&&"object"===_typeof(d[p])&&d[p].nodeName){var u=new RegExp("data-wptb-el-"+e.kind+"-(\\d+)-([a-zA-Z0-9_-]+)","i"),m=d[p].nodeName.match(u);if(m&&Array.isArray(m)){var b=d[p].nodeName.replace(e.kind+"-"+m[1],e.kind+"-"+a),f=d[p].nodeValue;r.removeAttribute(d[p].nodeName),r.setAttribute(b,f)}}}else if(t&&!n){var v=t.split("-");a=v[v.length-1]}var g=r.className.match(/wptb-element-(.+)-(\d+)/i);g&&r.classList.remove(g[0]),r.classList.contains("wptb-ph-element")||r.classList.add("wptb-ph-element"),r.classList.contains("wptb-element-"+e.kind+"-"+a)||r.classList.add("wptb-element-"+e.kind+"-"+a),WPTB_Helper.elementStartScript(e.getDOMElement()),new WPTB_ElementOptions(e,a,t),document.counter.increment(e.kind)}r.onmouseenter=function(e){if(!e.target.classList.contains("wptb-moving-mode")){var t=new WPTB_ActionsField;t.addActionField(1,r),t.setParameters(r),r.classList.remove("wptb-ondragenter")}},r.onmouseleave=function(e){(new WPTB_ActionsField).leaveFromField(e,r)}};
2
  //# sourceMappingURL=admin.js.map
inc/admin/js/admin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["WPTB_ActionsField.js","WPTB_Builder.js","WPTB_Cell.js","WPTB_CutGlueTable.js","WPTB_DropHandle.js","WPTB_ElementCounters.js","WPTB_ElementObject.js","WPTB_ElementOptions.js","WPTB_HeaderToolbox.js","WPTB_Helper.js","WPTB_Initializer.js","WPTB_LeftPanel.js","WPTB_MultipleSelect.js","WPTB_Parser.js","WPTB_Polyfills.js","WPTB_RecalculateIndexes.js","WPTB_Responsive.js","WPTB_Settings.js","WPTB_SortableTable.js","WPTB_Stringifier.js","WPTB_Table.js","WPTB_TableSettingsData.js","WPTB_TableStateSaveManager.js","WPTB_innerElementSet.js","applyGenericItemSettings.js"],"names":["WPTB_ActionsField","_this","this","wptbActions","document","getElementsByClassName","length","addActionField","actionType","thisNode","body","getElementsByTagName","actions","previousNode","activeElem","classList","remove","parentNode","removeChild","btnDelete","btnCopy","btnMove","createElement","add","appendChild","type","onclick","event","act","target","el","className","match","_typeof","hasOwnProperty","kind","thisRow","WPTB_Helper","rowIsTop","table","findAncestor","contains","dataTitleColumnSet","actionsRemove","WPTB_TableStateSaveManager","tableStateSet","wptbDocumentEventGenerate","copy","infArr","activeElement","activeElemParent","Array","isArray","data","elemProt","tinyMceClear","WPTB_ElementObject","getDOMElement","insertBefore","nextSibling","elementCopy","cloneNode","applyGenericItemSettings","WPTB_innerElementSet","setParameters","draggable","ondragstart","dragImages","jsonIconsDirectories","wp","template","tmplIconsDirectories","IconsDirectories","JSON","parse","getElementIcon","dataTransfer","effectAllowed","setDragImage","setData","style","display","actionsHide","ondragend","elementDragEndClear","coordinatesElement","getBoundingClientRect","wptbContainer","top","parseFloat","left","right","clientWidth","onscroll","leaveFromField","node","relatedTarget","onmouseleave","opacity","url","window","location","href","RegExp","exec","addEventListener","table_id","detectMode","http","XMLHttpRequest","urlSet","ajaxurl","open","setRequestHeader","onreadystatechange","d","readyState","status","ans","responseText","getElementById","value","wptbTableSetupEl","WPTB_Parser","WPTB_Table","element","querySelector","dataset","wptbTableContainerMaxWidth","maxWidth","tdDefaultWidth","WPTB_Settings","send","counter","ElementCounters","select","MultipleSelect","WPTB_Initializer","settings","WPTB_Cell","callback","DOMElement","padding","jQuery","val","innerBorderWidth","parseInt","border","ondblclick","stopPropagation","wptbTableSetup","yIndex","wptbSortableTable","currentTarget","newElementProxy","elementStartScript","wptbPhElement","_loop","i","wptbElementTypeClass","wptbTypeElementArr","split","wptbInternalActiveElement","_loop2","j","wptbInternalActiveElementObj","setCoords","y","x","xIndex","getCoords","coords","appendElement","getCellDimensions","tdStyleObj","getComputedStyle","tdPaddingLeft","getPropertyValue","tdPaddingRight","tdBorderLeftWidth","tdBorderRightWidth","tdPaddingTop","tdPaddingBottom","tdBorderTopWidth","tdBorderBottomWidth","width","offsetWidth","height","offsetHeight","borderCollapse","tableFullStyleObj","tableBorderLeft","tableBorderRight","tableBorderTop","tableBorderBottom","tr","nodeName","toLowerCase","firstChild","lastChild","WPTB_CutGlueTable","cutTableHorizontally","rowBefore","rows","tableRowsIChildren","children","rowSpan","newTdRowspan","sameCellBeforeDivision","td","wptbCell","mark","tdTopStyle","getAttribute","setAttribute","colSpan","dataXIndex","dataXIndexNext","beforeTd","maxCols","WPTB_RecalculateIndexes","glueTableHorizontally","tds","_toConsumableArray","hasAttribute","dataSameCellBeforeDivision","tdsSameBeforeDivision","querySelectorAll","tdsSameBeforeDivisionJPlusChildren","k","cutTableVertically","col","rowChildren","rowChildrenLength","afterTd","rowSpanNewTd","colSpanOld","colSpanNewTd","tdLeftStyle","tdAnalogThisX","tdAnalogThisY","glueTableVertically","jFirstTdGlue","WPTB_DropHandle","thisElem","e","wptbDropHandle","wptbDropBorderMarker","wptbDropBorderMarkerTop","wptbDropBorderMarkerRight","wptbDropBorderMarkerBottom","wptbDropBorderMarkerLeft","hide","arguments","undefined","toPx","concat","getDragRelativeType","cellRelatedDropHandle","range","createRange","setStart","shadowRoot","createContextualFragment","_parentTd$getBounding","getParentOfType","ondragenter","preventDefault","ondragover","ondragleave","ondrop","getData","wptbMovingMode","text","getDOMParentElement","innerElement","innerElementNext","localName","indics","types","notDragEnter","indexOf","elementDrag","offsetY","layerY","bottom","priv","increment","key","nextIndex","kindIndexProt","wptbElementMutch","elementClearFromTinyMce","wpTemplateId","itemHtml","replace","trim","innerHTML","inElems","inElemObj","WPTB_ElementOptions","index","elementOptionsSet","capture","WPTB_HeaderToolbox","wrapperQuery","topMargin","init","manageCellsButton","activateSection","_ref","detail","show","toggleToolboxVisibility","hexToRgb","hex","result","rgbToHex","rgb","isHex","rgbm","Math","round","toString","toUpperCase","slice","test","icon_directory","protocol","hostname","img","src","wptbDropHandles","wptbDropBorderMarkers","linkHttpCheckChange","link","convertToAbs","origin","linkClean","linkArr","cls","parentElement","row","getSelectionText","getSelection","selection","elementOptionsPanelClear","elementOptionsGroup","wpColorPickerCheckChangeForTableStateSaving","originalEvent","removeEventListener","irisStripMouseUpStateSaveManager","wpColorPickerClear","attribute","isId","input","wpPickerContainer","parent","newInput","results","decodeURIComponent","getTableId","tableId","getColumnWidth","cell","xIndexes","cellWidth","getRowHeight","yIndexes","cellHeight","wpColorPickerChange","ui","uiColor","color","classe","number","affectedEl","backgroundColor","ps","ratingStar","span","fill","numberImputSize","wptbNumberInputs","maxCount","maxValue","onkeydown","thisValue","String","substring","onkeyup","ucfirst","str","charAt","eventName","details","CustomEvent","bubbles","dispatchEvent","WPTB_ElementsScriptsLauncher","deleteEventHandlers","off","elementChildren","replaceAll","string","search","join","mceContentBodys","dataMceStyle","removeAttribute","mceEditFocus","contentEditable","spellCheck","mceIds","elementOptionContainerCustomClassSet","targetInput","customClassForContainer","containerElement","elementOptionContainerAdditionalStyles","containerAdditionalStyles","containerStylesArrOne","containerStylesSet","containerStyleStr","containerStyleStrArr","controlsInclude","functionHandler","acceptEventValues","controlConnectFunctionsName","name","elementKind","elementOptionsGroupIds","optionsGroupIds","elementOptionsGroupId","controlActiveElements","map","controlActiveElement","regularText","controlInfArr","controlUnicClassName","controls","controlName","control","targetControlValue","targetControlValueGet","targetValue","eventValue","push","oneControlInclude","wptbContrlStacksConfigId","jsonControlsConfigJson","tmplControlsConfig","container","jsonControlsConfig","controlClassName","innerElementCopyIncludeHandler","valueDependOnControl","dependOnControlName","targetControlElementClass","valueDependOnControlCorrect","dependOnControlDataGet","dependOnControlElementsArr","dependOnControlElements","valueDependOnControlCorrectObj","s","dependOnControlElementClass","dependOnControlData","Object","keys","forEach","unicClass","appearDependOnControl","dependOnMain","showHideTargetControlElement","controlContainerElem","dependOnControlElementsValue","prototype","call","dependOnControlElementValue","dependOn","returnBool","coincided","hasNumberAnyParams","targetControlElement","bind","controlsStateManager","targetControlClass","controlChangeIndic","targetControls","elementsSettingsTemplatesJs","elementsSettings","elementSettings","stringify","checked","alignmentValue","elementControlsStateCopy","elementProt","copyElem","infArrProt","infArrCopy","elemProtKind","elemCopyKind","elementsSettingsTemplateJs","elementSettingsProt","elementSettingsCopy","elementSettingValue","elementSettingKeyCopy","elementControlsStateDelete","nameControl","wptbElementDatas","elementContainerClass","elementOptionClassIndic","controlElementParent","elementOptionsScriptsContainer","editActionClassRemove","startsWith","wptbelementOptionClass","childNodes","controlsConfigJson","controlsConfig","elementOptionsGroupIdsInvolved","elementOptionsGroupInvolved","elementOptionsContainerInvolved","controlScriptsObj","controlappearDependOnControl","controlValueDependOnControl","controlsConfigNew","controlKey","tmplControlTemplate","elemContainer","elementControlTargetUnicClass","controlParamCalculateValue","controlTemplate","elementOptionsGroupChildren","elementOptionsContainerOn","elementOptionsContainer","elementOptionsContainerInvolvedGet","elementOptionContainerOn","elementOptionContainer","elementOptionClass","controlContainerElemParent","helperJavascriptElem","helperJavascriptCode","innerText","script","controlScriptsArr","id","editActiveElems","unicClassP","controlParamCalculateValueCreateFunction","handlerFunction","managerExternalCssStyles","elementContainer","selector","cssName","cssValue","head","cssForThisElement","cssText","cssTextArrFirst","pop","selectorExists","cssTextArrSecond","cssTextArrThird","cssNameExists","splice","registerSections","sections","currentSection","sectionElement","sectionDataId","_this2","displayType","triggerSectionEvent","visibility","getCurrentSection","getSectionFromUrl","urlSection","URL","searchParams","get","some","setupSectionButtons","sectionButtons","from","vm","sectionName","wptbSectionButton","wptbSectionDisplayType","setupPanelToggleButtons","$","each","find","click","slideToggle","toggleClass","sectionEvent","setupSidebarToggle","toggleSelector","toggleButton","toggle","externalCssStylesDelete","externalCssStylesCopy","copyElement","activeElemClass","cssForActiveElement","cssForNewElement","infArrCopyEl","cssForActiveElementInnerHTML","cssForNewElementInnerHTML","elementsStylesConvertToObject","stylesElements","stylesObj","styleElemId","elementsStylesSetFromObject","jsonObject","styleCss","saveTable","startSaving","previewSaving","wptbTableStateNumberSave","wptbTableStateNumberShow","bar","toggleTableEditMode","messagingArea","code","datas","postId","wptb_admin_object","t","rs","wptbId","paramIdsNecessaryChange","codeClone","columns","WPTB_Stringifier","outerHTML","datas_containers","styleObjJson","messagingAreaText","setTimeout","params","title","content","elements_datas","elements_styles","security_code","preview_saving","action","builderPageUrl","regex","history","pushState","wptbPreviewBtn","wptbPreviewBtnHref","previewHref","wptbSaveBtn","clickOnFreeSpace","cellModeBackground","wpcdFixedToolbar","elementAjax","dataAjaxData","element_name","element_ajax_data","close","leftScrollPanelCurtain","leftScrollPanelCellSettings","wptbPreviewTable","toggleEditMode","deactivateMultipleSelectMode","wptbPreviewTableTds","activateMultipleSelectMode","checkingDimensionValue","dimension","searchIndex","checkSetGetStyleSizeValue","styleName","computedStyleName","elemStyleValue","elementStyles","checkSetGetStyleColorValue","set","elemStyleColorValue","checkSetGetStyleValue","getValueMaxCountSameElementsInArray","arr","maxPropName","check","countEmpty","recalculateIndexes","tableRowsColorsReinstall","tableIndex","tableHeaderBackground","tableEvenRowBackground","tableOddRowBackground","parentType","dragRelativeType","setDragRelativeType","getElementColorStylesHex","showControlsOnElementMount","showElementsListOnRemove","blockTinyMCEManageCells","addBlocker","blockerElement","haveChild","removeBlocker","cells","calledByBlock","isTableClean","confirm","strings","dirtyConfirmation","tableGenerator","columnsDecrementButton","columnsIncrementButton","rowsDecrementButton","rowsIncrementButton","columnsInput","rowsInput","WptbResponsive","WPTB_LeftPanel","wptbElementButtons","wptbElement","wptbTablesEditModeCloseButton","wptbHeader","selectedCells","multipleCellMode","isActivated","pushSelectedCell","flushSelectedCells","getFirst","first","minXIndex","minYIndex","getLast","last","maxXIndex","maxYIndex","removeAllButFirst","div","columnTitleMobile","hasDontEnumBug","propertyIsEnumerable","dontEnums","dontEnumsLength","obj","TypeError","prop","trs","maxColsFull","tdsArr","jMainIter","z","responsiveWrapperId","mainContainerQuery","responsiveTable","loaded","addContainerToDom","mainContainer","Error","responsiveElement","load","WPTB_ControlsManager","callControlScript","startUp","tablePreview","elems","wptbRelativeElements","wptbTableStateSaveManager","wptbUndo","tableStateGet","wptbUndoredo","wptbUndoRedoContainer","wptbRedo","shortcodePopupWindow","onbeforeunload","previewId","floor","random","newHref","tableTitleField","onchange","context","factory","exports","module","self","global","options","thisObject","sortingCellMouseMov","tagName","offsetX","layerX","xMatch","clientHeight","sortingCellMouseMoveVertical","sortingCellMouseMoveHorizontal","tdMouseLeave","sortableTable","tableWasSorted","tableRowsBefore","tableRowsAfter","itemsPerHeader","tableRowsArr","tableLastCont","rowspan","rowNum","rowsTdFirst","rowsValuesArr","tdYCoordsRowSpanPrevious","tableRowsPushed","tdsChanged","changeSortingTdsCollection","tdRowspan","textElementsValues","textElementsValuesGet","rowsTd","orderBy","setSortedAscDataAttr","sort","prev","next","sortOrder","unshift","tBody","rowsValObj","trRef","colspan","colNum","columnsTdFirst","columnsValuesArr","tdXCoordsColSpanPrevious","tdColspan","columnsTd","tdsColumn","difference","columnsValObj","tdsAll","removeCellsAttrAfterDivision","tableSM","reassignElementsStyles","dataAttr","prevValue","nextValue","textElements","tdIndexSpanPrev","collectionTds","collectionTdsJSpan","collectionTdsJSpanProperty","indexName","indexNameCamelCase","indexNamePerpendicularCamelCase","tdSpanProperty","tableGroupCount","tdsCollectionChanged","tdSpan","tableMaxCols","cellsStylesScheme","rowsStylesScheme","sortModeSwitcher","active","sortableTableVerticalStart","sortingCellMouseMoveSwitcher","wptbSortableTableVertical","createTableElementsStylesScheme","sortableTableHorizontalStart","wptbSortableTableHorizontal","tableObjectChange","start","elemSelector","elements","elem","objectKey","elementsStylesScheme","elemStyles","sortableTableInitialization","responsiveFront","typeFirst","typeSecond","switchMode","getDirective","directives","sizeRangeId","mode","responsiveMode","modeOptions","topRowAsHeader","cellStackDirection","cellsPerRow","sCMM","dataAttrSortChange","rowsLength","dataYIndexStart","codeMain","tableColumns","minWidth","innerElements","wptbActionsLength","dataMceBogus","array","wptb_preview_table","maxAmountOfCells","cs","noCells","singleCells","multipleCells","cellSettings","position","column","cellHighlighted","markedCells","elementControlSizeUnicClass","elementControlSizeFixedUnicClass","sizeName","getSizeFunctionName","size","cellSizeInputs","cellSizeFixedInput","isSquare","settingId","settingElem","countMarkedCells","drawTable","a","undoSelect","fillTableArray","colspansSums","colspanSumInRow","max","apply","maxAmountOfRows","skipInCols","cellsBuffer","xPosition","cellPointer","stepsToMove","reconstraction","insertRow","borderWidth","setMaxAmountOfCells","getMaxAmountOfCells","addColumnWidth","cleaner","highlighted","tableTdsFor","tableRows","widthIsSet","arrayTdsFromPreviousRow","wptbFixedWidth","tableTdsSumMaxWidth","tableTdsSumMaxWidthFixed","tableTdsSumMaxWidthAuto","wptbTableSetupWidth","arrayCellsWidthFixedHelper","arrayCellsWidthAutoHelper","tdPaddingCommon","tableTdBorderCommonWidth","cssForTdsWidthAuto","borderLeftWidth","borderRightWidth","tableBorderCommon","wptbCssTdAutoWidth","wptbTdWidthAuto","tableTdBorderLeftWidth","tableTdBorderRightWidth","CellsWidthAutoCount","wptbTableTdsSumMaxWidth","wptbCellsWidthAutoCount","mergingСellsHorizontally","wptbFixedWidthSize","tableTdWidthAuto","styleElementCreate","cssForTdsWidthAutoOld","wptbTableAlignment","addRowHeight","dataYIndex","heightIsSet","arrayTdsPrevious","wptbFixedHeight","mergingCellsVertically","forBreak","addColumnEnd","currentTableTd","currentTdStyle","currentTable","borderColor","WPTB_TableSettingsData","getTableSetting","addColumnStart","firstCell","addColumnAfter","c_pos","cellStyle","pos","newTd","nextSib","addColumnBefore","addRowToTheEnd","aux","r","addRowToTheStart","addRowBefore","cellNew","addRowAfter","rowAfter","cellsColSpan","tableRIChildrenLength","rNextChildren","rNextChildrenLength","rowStart","columnStart","rowEnd","columnEnd","items","mergeCells","dimensions","tdsChildrenNew","tdsInternalElements","tdsIntElemLength","firstWidth","firstDataFixedWidth","firstHeight","firstDataFixedHeight","splitCell","cellStyles","cellXIndex","rowChildInsertBefore","rowNext","Number","findRowspannedCells","actualPoints","points","getActualPointsInRow","addLackingCells","sumRows","totalColspan","deleteRow","thisRowChildren","nextRow","nextRowChildren","nextRowChildrenLength","tdArr","nextRowChildrenK","jRowChildren","deleteColumn","onresize","setTableSetting","generate","wptbTableStateSaving","wptbNewTableSetup","wptbHighlighted","wptbDirectlyhovered","cssForTdsWidthAutoValue","wptbTableTitle","wptbSetupName","datawptbUndoredo","wptbTableSetupNew","wptbLeftScrollPanelCellSetting","tableStateClear","classId","onmouseover","wptbElements","elementIndexesArr","wptbNodeattributes","attributes","attr","newDataAttributeName","newDataAttributeValue","nodeValue","kindIndexProtArr","node_wptb_element_kind_num","onmouseenter","wptbActionsField"],"mappings":"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","file":"admin.js","sourcesContent":["var WPTB_ActionsField = function() {\n //this.wptbBorderMarker;\n this.wptbActions;\n if( document.getElementsByClassName( 'wptb-actions' ).length != 0 ) {\n this.wptbActions = document.getElementsByClassName( 'wptb-actions' )[0];\n }\n\n this.addActionField = ( actionType, thisNode ) => {\n let body = document.getElementsByTagName( 'body' )[0];\n\n let actions = document.getElementsByClassName( 'wptb-actions' );\n if( actions.length != 0 ) {\n let previousNode = actions[0].activeElem;\n if( previousNode ) {\n previousNode.classList.remove( 'wptb-directlyhovered' );\n }\n\n while( actions.length != 0 ) {\n actions[0].parentNode.removeChild( actions[0] );\n }\n }\n\n if( actionType == 1 ) {\n\n let btnDelete, btnCopy;\n\n btnDelete = document.createElement( 'span' ),\n btnCopy = document.createElement( 'span' ),\n actions = document.createElement( 'div' );\n\n actions.classList.add( 'wptb-actions' );\n btnDelete.classList.add( 'dashicons', 'dashicons-trash', 'wptb-delete-action' );\n btnCopy.classList.add( 'dashicons', 'dashicons-admin-page', 'wptb-duplicate-action' );\n\n actions.appendChild( btnCopy );\n actions.appendChild( btnDelete );\n\n body.appendChild( actions );\n\n actions.activeElem = thisNode;\n\n actions.type = 1;\n\n btnDelete.onclick = function( event ) {\n let act = event.target.parentNode.activeElem,\n el = act.parentNode;\n let infArr = act.className.match( /wptb-element-(.+)-(\\d+)/i );\n// if( act && infArr && Array.isArray( infArr ) ) {\n// WPTB_Helper.elementControlsStateDelete( act );\n// WPTB_Helper.externalCssStylesDelete( infArr[0] );\n// }\n\n if( act ) {\n el.removeChild( act );\n }\n\n if( act && typeof act === 'object' && act.hasOwnProperty( 'kind' ) && act.kind == 'text' ) {\n let thisRow = el.parentNode;\n\n if( WPTB_Helper.rowIsTop( thisRow ) ) {\n let table = WPTB_Helper.findAncestor( thisRow, 'wptb-preview-table' );\n\n if( table.classList.contains( 'wptb-table-preview-head' ) ) {\n WPTB_Helper.dataTitleColumnSet( table );\n }\n }\n }\n\n let wptbActionsField = new WPTB_ActionsField();\n wptbActionsField.actionsRemove();\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n\n WPTB_Helper.wptbDocumentEventGenerate('element:removed:dom', document, act);\n };\n\n btnCopy.onclick = ( event ) => {\n let copy,\n infArr,\n type;\n let activeElement = event.target.parentNode.activeElem;\n let activeElemParent = activeElement.parentNode;\n infArr = activeElement.className.match( /wptb-element-(.+)-(\\d+)/i );\n if( infArr && Array.isArray( infArr ) ) {\n type = infArr[1];\n let data = {};\n data.kind = type;\n data.elemProt = activeElement;\n data.tinyMceClear = true;\n copy = new WPTB_ElementObject( data );\n //WPTB_Helper.elementControlsStateCopy( activeElement, copy.getDOMElement() );\n //WPTB_Helper.externalCssStylesCopy( activeElement, copy.getDOMElement() );\n //WPTB_Helper.elementStartScript( copy.getDOMElement() );\n copy.getDOMElement().classList.remove('edit-active');\n activeElemParent.insertBefore( copy.getDOMElement(), activeElement.nextSibling );\n } else {\n copy = {};\n let elementCopy = activeElement.cloneNode( true );\n elementCopy.classList.remove( 'wptb-directlyhovered' );\n\n copy.getDOMElement = function() {\n return elementCopy;\n }\n\n applyGenericItemSettings( copy );\n\n activeElemParent.insertBefore( copy.getDOMElement(), activeElement.nextSibling );\n\n WPTB_Helper.wptbDocumentEventGenerate( 'wptb-inner-element:copy', activeElement, copy.getDOMElement() );\n }\n\n WPTB_innerElementSet( copy.getDOMElement() );\n\n let wptbActionsField = new WPTB_ActionsField( 1, activeElement );\n wptbActionsField.setParameters( activeElement );\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n };\n\n\n if( thisNode.classList.contains( 'wptb-ph-element' ) ) {\n let btnMove;\n btnMove = document.createElement( 'span' );\n btnMove.classList.add( \"dashicons\", \"dashicons-move\", 'wptb-move-action' );\n btnMove.draggable = true;\n actions.appendChild( btnMove );\n\n btnMove.ondragstart = ( event ) => {\n let wptbElementIconsDirectories = 'wptb-element-icons-directories';\n let tmplIconsDirectories = wp.template( wptbElementIconsDirectories );\n let data = {};\n let jsonIconsDirectories = tmplIconsDirectories( data );\n let IconsDirectories = JSON.parse( jsonIconsDirectories );\n\n let dragImages,\n actions = event.target.parentNode,\n activeElem = actions.activeElem,\n infArr,\n type;\n infArr = activeElem.className.match( /wptb-element-(.+)-(\\d+)/i );\n if( infArr && Array.isArray( infArr ) ) {\n type = infArr[1];\n activeElem.classList.add( 'wptb-moving-mode' );\n\n if( IconsDirectories && typeof IconsDirectories === 'object' && IconsDirectories[type] ) {\n dragImages = WPTB_Helper.getElementIcon( IconsDirectories[type] );\n }\n\n event.dataTransfer.effectAllowed = 'move';\n event.dataTransfer.setDragImage( dragImages, 0, 0 );\n event.dataTransfer.setData( 'node', 'wptb-element-' + infArr[1] + '-' + infArr[2] );\n event.dataTransfer.setData( 'wptb-moving-mode', 'wptb-element-' + infArr[1] + '-' + infArr[2] );\n event.dataTransfer.setData( 'wptbElIndic-' + infArr[1], 'wptbElIndic-' + infArr[1] );\n let act = event.target.parentNode.activeElem;\n if( act.kind == 'text' ) {\n let thisRow = act.parentNode.parentNode;\n\n if( WPTB_Helper.rowIsTop( thisRow ) ) {\n let table = WPTB_Helper.findAncestor( thisRow, 'wptb-preview-table' );\n\n if( table.classList.contains( 'wptb-table-preview-head' ) ) {\n WPTB_Helper.dataTitleColumnSet( table );\n }\n }\n }\n } else {\n this.style.display = 'none';\n }\n\n this.actionsHide();\n };\n\n btnMove.ondragend = ( event ) => {\n WPTB_Helper.elementDragEndClear();\n }\n }\n\n actions.style.display = 'flex';\n\n this.wptbActions = actions;\n }\n\n WPTB_Helper.wptbDocumentEventGenerate('wptb:actionfield:generated', document);\n }\n\n this.setParameters = ( thisNode ) => {\n\n if( ! this.wptbActions ) {\n let actions = document.getElementsByClassName( 'wptb-actions' );\n if( actions.length > 0 ) {\n this.wptbActions = actions[0];\n } else {\n this.wptbActions = false;\n }\n }\n\n if( this.wptbActions && this.wptbActions.classList.contains( 'wptb-actions' ) ) {\n this.wptbActions.style.display = 'flex';\n } else {\n return;\n }\n\n let coordinatesElement = thisNode.getBoundingClientRect();\n\n let wptbContainer = document.getElementsByClassName( 'wptb-container' )[0];\n let correctTop = () => {\n let coordinatesElement = thisNode.getBoundingClientRect();\n this.wptbActions.style.top = parseFloat( coordinatesElement.top ) - 15 + 'px';\n }\n //wptbContainer.removeEventListener( 'scroll', correctTop, false );\n\n this.wptbActions.style.top = parseFloat( coordinatesElement.top ) - 15 + 'px';\n this.wptbActions.style.left = ( parseFloat( coordinatesElement.right ) - parseFloat( this.wptbActions.clientWidth ) ) + 1 + 'px';\n\n this.wptbActions.style.display = 'flex';\n thisNode.classList.add( 'wptb-directlyhovered' );\n\n //wptbContainer.addEventListener( 'scroll', correctTop, false );\n wptbContainer.onscroll = correctTop;\n }\n\n this.leaveFromField = ( event, node, actionType ) => {\n if( ! this.wptbActions ) {\n let actions = document.getElementsByClassName( 'wptb-actions' );\n if( actions.length > 0 ) {\n this.wptbActions = actions[0];\n } else {\n this.wptbActions = false;\n }\n }\n\n if( ! this.wptbActions ) {\n return;\n }\n\n if( event.relatedTarget ) {\n if ( event.relatedTarget.classList.contains( 'wptb-actions' ) ||\n event.relatedTarget.classList.contains( 'wptb-move-action' ) ||\n event.relatedTarget.classList.contains( 'wptb-duplicate-action' ) ||\n event.relatedTarget.classList.contains( 'wptb-delete-action' ) || event.relatedTarget.classList.contains( 'wptb-prebuilt-mark-action' ) )\n {\n if( ! this.wptbActions ) {\n this.wptbActions = document.getElementsByClassName( 'wptb-actions' )[0];\n }\n this.wptbActions.onmouseleave = ( event ) => {\n if( event.relatedTarget != null && ( event.relatedTarget.classList.contains( 'wptb-ph-element' ) ||\n WPTB_Helper.findAncestor( event.relatedTarget, 'wptb-ph-element') ) && event.relatedTarget != this.wptbActions.activeElem &&\n WPTB_Helper.findAncestor( event.relatedTarget, 'wptb-directlyhovered' ) != this.wptbActions.activeElem ) {\n\n// this.wptbActions.style.display = 'none';\n// event.relatedTarget.parentNode.parentNode.classList.remove( 'wptb-directlyhovered' );\n//\n// let wptbActionsField = new WPTB_ActionsField();\n//\n// wptbActionsField.addActionField( 1, event.relatedTarget.parentNode.parentNode );\n//\n// wptbActionsField.setParameters( event.relatedTarget.parentNode.parentNode );\n } else {\n\n }\n\n let wptbActionsField = new WPTB_ActionsField();\n\n wptbActionsField.leaveFromField( event, event.relatedTarget.parentNode.parentNode );\n\n event.target.activeElem.classList.remove( 'wptb-directlyhovered' );\n }\n\n return;\n }\n }\n\n node.classList.remove( 'wptb-directlyhovered' );\n this.wptbActions.style.display = 'none';\n\n if( event.relatedTarget ) {\n if( event.relatedTarget.classList.contains( 'wptb-ph-element' ) || WPTB_Helper.findAncestor( event.relatedTarget, 'wptb-ph-element' ) ) {\n this.addActionField( 1, event.relatedTarget.parentNode );\n\n this.setParameters( event.relatedTarget.parentNode );\n }\n }\n }\n\n this.actionsRemove = () => {\n if( ! this.wptbActions ) {\n let actions = document.getElementsByClassName( 'wptb-actions' );\n if( actions.length > 0 ) {\n this.wptbActions = actions[0];\n }\n }\n\n if( this.wptbActions ) {\n this.wptbActions.parentNode.removeChild( this.wptbActions );\n }\n }\n\n this.actionsHide = () => {\n if( ! this.wptbActions ) {\n let actions = document.getElementsByClassName( 'wptb-actions' );\n if( actions.length > 0 ) {\n this.wptbActions = actions[0];\n }\n }\n\n if( this.wptbActions ) {\n this.wptbActions.style.opacity = 0;\n }\n }\n}\n","(function () {\n var WPTB_Builder = function () {\n var table_id = WPTB_Helper.detectMode();\n if ( table_id ) {\n var http = new XMLHttpRequest(),\n urlSet = ajaxurl + \"?action=get_table\" + '&id=' + table_id;\n http.open('GET', urlSet, true);\n http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n http.onreadystatechange = function (d) {\n if (this.readyState == 4 && this.status == 200) {\n var ans = JSON.parse( http.responseText );\n document.getElementById('wptb-setup-name').value = ans[0];\n \n if( ans[1] ) {\n // @deprecated old generate logic\n // document.getElementsByClassName('wptb-table-generator')[0].style.display = 'none';\n let wptbTableSetupEl = document.getElementsByClassName('wptb-table-setup')[0];\n wptbTableSetupEl.appendChild( WPTB_Parser( ans[1] ) );\n \n let body = document.getElementsByTagName('body')[0];\n \n WPTB_Table();\n let element = document.querySelector( '.wptb-preview-table' );\n if( element ) {\n let infArr = element.className.match( /wptb-element-((.+-)\\d+)/i );\n if( ! infArr ) {\n element.classList.add( 'wptb-element-main-table_setting-' + table_id );\n }\n \n if( element.dataset.wptbTableContainerMaxWidth ) {\n wptbTableSetupEl.style.maxWidth = element.dataset.wptbTableContainerMaxWidth + 'px';\n \n element.tdDefaultWidth();\n }\n }\n \n //WPTB_LeftPanel();\n WPTB_Settings();\n \n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n } else {\n document.getElementsByClassName('wptb-table-generator')[0].style.display = 'table';\n }\n \n return;\n }\n };\n http.send(null);\n } else {\n // @deprecated old generate logic\n // document.getElementsByClassName('wptb-table-generator')[0].style.display = 'table';\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n }\n document.counter = new ElementCounters();\n document.select = new MultipleSelect();\n\n var initializer = WPTB_Initializer();\n settings = WPTB_Settings();\n };\n\n let url = window.location.href,\n regex = new RegExp('[?&]page=wptb-builder'),\n results = regex.exec( url );\n if ( results ) {\n document.addEventListener('DOMContentLoaded', WPTB_Builder);\n }\n})();","var WPTB_Cell = function ( callback, DOMElement ) {\n\n function highlightRow(td) {\n var parentRow = td.parentNode,\n columnCount = parseInt(document.getElementById('wptb-columns-number').value),\n tds = document.getElementsByClassName('wptb-preview-table')[0].getElementsByTagName('td');\n for (var i = 0; i < tds.length; i++) {\n tds[i].classList.remove('wptb-highlighted-row-first', 'wptb-highlighted-row-last', 'wptb-highlighted-row-inner', 'wptb-highlighted-column-first', 'wptb-highlighted-column-last', 'wptb-highlighted-column-inner');\n }\n for (var i = 0; i < columnCount; i++) {\n\n var classToAdd = i == 0 ? 'wptb-highlighted-row-first' : i == columnCount - 1 ? 'wptb-highlighted-row-last' : 'wptb-highlighted-row-inner';\n var ttd = parentRow.getElementsByTagName('td')[i];\n if (ttd !== td) {\n ttd.classList.add(classToAdd);\n }\n }\n }\n\n function highlightColumn(td) {\n\n var index,\n parentRow = td.parentNode,\n columnCount = parseInt(document.getElementById('wptb-columns-number').value), rowCount = parseInt(document.getElementById('wptb-rows-number').value), table = document.getElementsByClassName('wptb-preview-table')[0];\n for (var i = 0; i < columnCount; i++) {\n if (parentRow.getElementsByTagName('td')[i] === td) {\n index = i;\n break;\n }\n }\n\n for (var i = 0; i < rowCount; i++) {\n var classToAdd = i == 0 ? 'wptb-highlighted-column-first' : i == rowCount - 1 ? 'wptb-highlighted-column-last' : 'wptb-highlighted-column-inner';\n var tr = table.getElementsByTagName('tr')[i];\n if (tr.getElementsByTagName('td')[index] !== td) {\n tr.getElementsByTagName('td')[index].classList.add(classToAdd);\n }\n }\n }\n\n if( ! DOMElement ) {\n DOMElement = document.createElement(\"td\");\n\n DOMElement.style.padding = jQuery('#wptb-table-padding-number').val() + 'px';\n\n var innerBorderWidth = jQuery('#wptb-table-inner-border-number').val();\n\n if (innerBorderWidth != '' && parseInt(innerBorderWidth) != 0) {\n DOMElement.style.border = innerBorderWidth + 'px solid ' + jQuery('#wptb-table-border-color').val();\n }\n\n DOMElement.classList.add('wptb-droppable', 'wptb-cell');\n }\n\n DOMElement.draggable = false;\n if ( callback ) {\n DOMElement.onclick = callback;\n }\n\n // Cell double click handler\n DOMElement.ondblclick = function( event ) {\n event.stopPropagation();\n let wptbTableSetup = document.querySelector('.wptb-table-setup')\n if(wptbTableSetup && !wptbTableSetup.classList.contains('wptb-preview-table-manage-cells') &&\n (event.target.dataset.yIndex !== '0' || wptbTableSetup.dataset.wptbSortableTable !== '1') &&\n event.target == event.currentTarget) {\n WPTB_Helper.wptbDocumentEventGenerate( 'table:cell:dblclick', event.target )\n\n let element = WPTB_Helper.newElementProxy( 'text' )\n element = element.getDOMElement()\n\n DOMElement.appendChild( element )\n\n WPTB_innerElementSet( element );\n }\n }\n\n WPTB_innerElementSet( DOMElement );\n\n WPTB_Helper.elementStartScript( DOMElement, 'table_cell_setting' );\n\n let wptbPhElement = DOMElement.getElementsByClassName( 'wptb-ph-element' );\n\n if ( wptbPhElement.length > 0 ) {\n for( let i = 0; i < wptbPhElement.length; i++ ) {\n wptbPhElement[i].getDOMElement = function() {\n return wptbPhElement[i];\n }\n\n WPTB_innerElementSet( wptbPhElement[i] );\n\n let wptbElementTypeClass = wptbPhElement[i].className.match( /wptb-element-((.+-)\\d+)/i );\n if( wptbElementTypeClass && Array.isArray( wptbElementTypeClass ) ) {\n let wptbTypeElementArr = wptbElementTypeClass[1].split( '-' );\n wptbPhElement[i].kind = wptbTypeElementArr[0];\n applyGenericItemSettings( wptbPhElement[i], wptbElementTypeClass[1] );\n let wptbInternalActiveElement = wptbPhElement[i].getElementsByClassName( 'wptb-in-element' );\n if ( wptbInternalActiveElement.length > 0 ) {\n for ( let j = 0; j < wptbInternalActiveElement.length; j++ ) {\n let wptbInternalActiveElementObj = {};\n wptbInternalActiveElementObj.getDOMElement = function() {\n return wptbInternalActiveElement[j];\n }\n\n applyGenericItemSettings( wptbInternalActiveElementObj );\n }\n }\n }\n }\n }\n\n this.getDOMElement = function () {\n return DOMElement;\n };\n\n this.setCoords = function (y, x) {\n var el = this.getDOMElement();\n el.dataset.yIndex = y;\n el.dataset.xIndex = x;\n };\n\n this.getCoords = function () {\n var coords,\n el = this.getDOMElement();\n coords.x = el.dataset.xIndex;\n coords.y = el.dataset.yIndex;\n return coords;\n };\n\n this.appendElement = function (node) {\n getDOMElement().appendChild(node);\n };\n\n DOMElement.getCellDimensions = function() {\n\n let tdStyleObj = window.getComputedStyle( this, null );\n\n let tdPaddingLeft = tdStyleObj.getPropertyValue( 'padding-left' );\n let tdPaddingRight = tdStyleObj.getPropertyValue( 'padding-right' );\n\n let tdBorderLeftWidth = tdStyleObj.getPropertyValue( 'border-left-width' );\n let tdBorderRightWidth = tdStyleObj.getPropertyValue( 'border-right-width' );\n\n let tdPaddingTop = tdStyleObj.getPropertyValue( 'padding-top' );\n let tdPaddingBottom = tdStyleObj.getPropertyValue( 'padding-bottom' );\n\n let tdBorderTopWidth = tdStyleObj.getPropertyValue( 'border-top-width' );\n let tdBorderBottomWidth = tdStyleObj.getPropertyValue( 'border-bottom-width' );\n\n let width = parseInt( this.offsetWidth, 10 ) -\n parseInt( tdPaddingLeft, 10 ) -\n parseInt( tdPaddingRight, 10 );\n\n let height = parseInt( this.offsetHeight, 10 ) -\n parseInt( tdPaddingTop, 10 ) -\n parseInt( tdPaddingBottom, 10 );\n let table = WPTB_Helper.findAncestor( this, 'wptb-preview-table' );\n if(table) {\n if(table.style.borderCollapse === 'collapse') {\n width = width - ( parseInt( tdBorderLeftWidth, 10 ) / 2 ) -\n ( parseInt( tdBorderRightWidth, 10 ) / 2 );\n height = height - ( parseInt( tdBorderTopWidth, 10 ) / 2 ) -\n ( parseInt( tdBorderBottomWidth, 10 ) / 2 );\n let tableFullStyleObj = window.getComputedStyle( table, null );\n let tableBorderLeft = tableFullStyleObj.getPropertyValue( 'border-left-width' );\n let tableBorderRight = tableFullStyleObj.getPropertyValue( 'border-right-width' );\n let tableBorderTop = tableFullStyleObj.getPropertyValue( 'border-top-width' );\n let tableBorderBottom = tableFullStyleObj.getPropertyValue( 'border-bottom-width' );\n\n let tr = this.parentNode;\n if( tr && tr.nodeName.toLowerCase() === 'tr' ) {\n if( tr.firstChild && tr.firstChild.dataset.xIndex === this.dataset.xIndex ) {\n if( parseInt( tableBorderLeft, 10 ) > parseInt( tdBorderLeftWidth, 10 ) ) {\n width += -( parseInt( tableBorderLeft, 10 ) - parseInt( tdBorderLeftWidth, 10 ) ) / 2;\n }\n }\n\n if( tr.lastChild && tr.lastChild.dataset.xIndex === this.dataset.xIndex ) {\n if( parseInt( tableBorderRight, 10 ) > parseInt( tdBorderRightWidth, 10 ) ) {\n width += -( parseInt( tableBorderRight, 10 ) - parseInt( tdBorderRightWidth, 10 ) ) / 2;\n }\n }\n\n let body = tr.parentNode;\n if( body && body.nodeName.toLowerCase() === 'body' ) {\n if( body.firstChild && body.firstChild.firstChild.dataset.yIndex === this.dataset.yIndex ) {\n if( parseInt( tableBorderTop, 10 ) > parseInt( tdBorderTopWidth, 10 ) ) {\n height += ( parseInt( tableBorderTop, 10 ) - parseInt( tdBorderTopWidth, 10 ) ) / 2;\n }\n }\n\n if( body.lastChild && body.lastChild.firstChild.dataset.yIndex === this.dataset.yIndex ) {\n if( parseInt( tableBorderBottom, 10 ) > parseInt( tdBorderBottomWidth, 10 ) ) {\n height += ( parseInt( tableBorderBottom, 10 ) - parseInt( tdBorderBottomWidth, 10 ) ) / 2;\n }\n }\n }\n }\n } else if(table.style.borderCollapse === 'separate') {\n width = width - parseInt( tdBorderLeftWidth, 10 ) -\n parseInt( tdBorderRightWidth, 10 );\n height = height - parseInt( tdBorderTopWidth, 10 ) -\n parseInt( tdBorderBottomWidth, 10 );\n }\n }\n\n return {\n width: parseInt( width ),\n height: parseInt( height )\n };\n }\n\n return this;\n};\n","let WPTB_CutGlueTable = {\n cutTableHorizontally: function (rowBefore, table) {\n if( table && table.rows[rowBefore] ) {\n for( let i = 0; i < rowBefore; i++ ) {\n let tableRowsIChildren = table.rows[i].children;\n\n for( let j = 0; j < tableRowsIChildren.length; j++ ) {\n if ( tableRowsIChildren[j].rowSpan > 1 && tableRowsIChildren[j].rowSpan > rowBefore - i ) {\n let newTdRowspan = tableRowsIChildren[j].rowSpan - rowBefore + i;\n tableRowsIChildren[j].rowSpan = rowBefore - i;\n if( ! tableRowsIChildren[j].dataset.sameCellBeforeDivision ) {\n tableRowsIChildren[j].dataset.sameCellBeforeDivision = 'r' + i + 'c' + j;\n }\n\n let td;\n if(table.hasOwnProperty('wptbCell')) {\n td = new table.wptbCell( table.mark );\n td = td.getDOMElement();\n } else {\n td = document.createElement('td');\n }\n\n let tdTopStyle = tableRowsIChildren[j].getAttribute( 'style' );\n td.setAttribute( 'style', tdTopStyle );\n td.colSpan = tableRowsIChildren[j].colSpan;\n td.rowSpan = newTdRowspan;\n td.dataset.sameCellBeforeDivision = tableRowsIChildren[j].dataset.sameCellBeforeDivision;\n\n let dataXIndex = tableRowsIChildren[j].dataset.xIndex;\n let dataXIndexNext = parseInt( dataXIndex ) + parseInt( tableRowsIChildren[j].colSpan );\n let beforeTd;\n while( ! beforeTd && dataXIndexNext < table.maxCols ) {\n beforeTd = table.rows[rowBefore].querySelector( '[data-x-index=\"' + dataXIndexNext + '\"]' );\n dataXIndexNext++;\n }\n table.rows[rowBefore].insertBefore( td, beforeTd );\n\n WPTB_RecalculateIndexes(table);\n }\n }\n }\n }\n },\n glueTableHorizontally: function (table) {\n if(table) {\n let tds = [...table.getElementsByTagName( 'td' )];\n for( let i = 0; i < tds.length; i++ ) {\n if( tds[i].hasAttribute( 'data-same-cell-before-division' ) ) {\n let dataSameCellBeforeDivision = tds[i].dataset.sameCellBeforeDivision;\n let tdsSameBeforeDivision = table.querySelectorAll( '[data-same-cell-before-division=\"' + dataSameCellBeforeDivision + '\"]' );\n for( let j = 0; j < tdsSameBeforeDivision.length; j++ ) {\n if( tdsSameBeforeDivision[j] && tdsSameBeforeDivision[j + 1] ) {\n if( tdsSameBeforeDivision[j].parentNode && tdsSameBeforeDivision[j + 1].parentNode &&\n ! tdsSameBeforeDivision[j].parentNode.classList.contains( 'wptb-row-moving' ) &&\n ! tdsSameBeforeDivision[j + 1].parentNode.classList.contains( 'wptb-row-moving' ) ) {\n if( ( tdsSameBeforeDivision[j + 1].dataset.yIndex == parseInt( tdsSameBeforeDivision[j].dataset.yIndex ) +\n parseInt( tdsSameBeforeDivision[j].rowSpan ) ) ) {\n tdsSameBeforeDivision[j].rowSpan += tdsSameBeforeDivision[j + 1].rowSpan;\n\n let tdsSameBeforeDivisionJPlusChildren = [...tdsSameBeforeDivision[j + 1].children];\n\n for( let k = 0; k < tdsSameBeforeDivisionJPlusChildren.length; k++ ) {\n tdsSameBeforeDivision[j].appendChild( tdsSameBeforeDivisionJPlusChildren[k] );\n }\n\n let nextRow = tdsSameBeforeDivision[j + 1].parentNode;\n nextRow.removeChild( tdsSameBeforeDivision[j + 1] );\n }\n }\n }\n }\n }\n }\n\n WPTB_RecalculateIndexes(table);\n }\n },\n cutTableVertically: function (col, table) {\n for ( let i = 0; i < table.rows.length; i++ ) {\n if( col < table.maxCols ) {\n if( col != 0 && ( ! table.rows[i].querySelector( '[data-x-index=\"' + col + '\"]' ) ) ) {\n let rowChildren = table.rows[i].children;\n\n let td,\n rowChildrenLength = rowChildren.length,\n afterTd,\n rowSpanNewTd,\n colSpanOld,\n colSpanNewTd;\n for( let j = 0; j < rowChildrenLength; j++ ) {\n if( rowChildren[j].colSpan > 1 && parseInt( rowChildren[j].dataset.xIndex ) < col &&\n parseInt( rowChildren[j].dataset.xIndex ) + parseInt( rowChildren[j].colSpan ) > col ) {\n if(table.hasOwnProperty('wptbCell')) {\n td = new table.wptbCell( table.mark );\n td = td.getDOMElement();\n } else {\n td = document.createElement('td');\n }\n\n rowSpanNewTd = rowChildren[j].rowSpan;\n colSpanOld = rowChildren[j].colSpan;\n rowChildren[j].colSpan = col - rowChildren[j].dataset.xIndex;\n colSpanNewTd = colSpanOld - rowChildren[j].colSpan;\n\n if( ! rowChildren[j].dataset.sameCellBeforeDivision ) {\n rowChildren[j].dataset.sameCellBeforeDivision = 'r' + i + 'c' + j;\n }\n\n let tdLeftStyle = rowChildren[j].getAttribute( 'style' );\n td.setAttribute( 'style', tdLeftStyle );\n\n let tdAnalogThisX = table.querySelector( '[data-x-index=\"' + col + '\"]' );\n if( tdAnalogThisX ) {\n td.style.width = tdAnalogThisX.style.width;\n }\n\n let tdAnalogThisY = table.querySelector( '[data-y-index=\"' + i + '\"]' );\n if( tdAnalogThisY ) {\n td.style.height = tdAnalogThisY.style.height;\n }\n if( rowChildren[j + 1] ) {\n afterTd = rowChildren[j + 1];\n } else {\n afterTd = null;\n }\n\n table.rows[i].insertBefore( td, afterTd );\n td.colSpan = colSpanNewTd;\n td.rowSpan = rowSpanNewTd;\n td.dataset.sameCellBeforeDivision = rowChildren[j].dataset.sameCellBeforeDivision;\n i += rowSpanNewTd - 1;\n break\n }\n }\n }\n }\n WPTB_RecalculateIndexes(table);\n }\n },\n glueTableVertically: function (table) {\n if( table ) {\n let tds = [...table.getElementsByTagName( 'td' )];\n for( let i = 0; i < tds.length; i++ ) {\n if( tds[i].hasAttribute( 'data-same-cell-before-division' ) ) {\n let dataSameCellBeforeDivision = tds[i].dataset.sameCellBeforeDivision;\n let tdsSameBeforeDivision = [...table.querySelectorAll( '[data-same-cell-before-division=\"' + dataSameCellBeforeDivision + '\"]' )];\n\n let jFirstTdGlue = null;\n for( let j = 0; j < tdsSameBeforeDivision.length; j++ ) {\n if( tdsSameBeforeDivision[j] && tdsSameBeforeDivision[j + 1] &&\n ! tdsSameBeforeDivision[j].classList.contains( 'wptb-column-moving' ) &&\n ! tdsSameBeforeDivision[j + 1].classList.contains( 'wptb-column-moving' ) ) {\n if( ( tdsSameBeforeDivision[j + 1].dataset.xIndex == parseInt( tdsSameBeforeDivision[j].dataset.xIndex ) +\n parseInt( tdsSameBeforeDivision[j].colSpan ) ) ) {\n if( jFirstTdGlue == null ) {\n jFirstTdGlue = j;\n }\n tdsSameBeforeDivision[jFirstTdGlue].colSpan += tdsSameBeforeDivision[j + 1].colSpan;\n\n let tdsSameBeforeDivisionJPlusChildren = [...tdsSameBeforeDivision[j + 1].children];\n\n for( let k = 0; k < tdsSameBeforeDivisionJPlusChildren.length; k++ ) {\n tdsSameBeforeDivision[jFirstTdGlue].appendChild( tdsSameBeforeDivisionJPlusChildren[k] );\n }\n\n let thisRow = tdsSameBeforeDivision[j + 1].parentNode;\n thisRow.removeChild( tdsSameBeforeDivision[j + 1] );\n }\n }\n }\n }\n }\n\n WPTB_RecalculateIndexes(table);\n }\n }\n}\n","var WPTB_DropHandle = function (thisElem, e, hide = false) {\n\n let wptbDropHandle,\n wptbDropBorderMarker,\n wptbDropBorderMarkerTop,\n wptbDropBorderMarkerRight,\n wptbDropBorderMarkerBottom,\n wptbDropBorderMarkerLeft;\n\n /**\n * Add px suffix to a value\n *\n * @param {any} val value\n * @returns {string} string value suffixed with px\n */\n function toPx(val){\n return `${val}px`;\n }\n\n if(WPTB_Helper.getDragRelativeType() === 'td_relative'){\n let cellRelatedDropHandle = document.querySelector('.wptb-cell-related-drop-handle');\n if(hide && cellRelatedDropHandle ){\n cellRelatedDropHandle.style.display = 'none';\n return;\n }\n if(cellRelatedDropHandle === null){\n const range = document.createRange();\n range.setStart(document.body , 0);\n\n const shadowRoot = range.createContextualFragment('<div class=\"wptb-cell-related-drop-handle\">Add to cell</div>').children[0];\n\n document.body.appendChild(shadowRoot);\n cellRelatedDropHandle = shadowRoot.children[0];\n }\n\n const parentTd = WPTB_Helper.getParentOfType('td', thisElem);\n const {top,left,width,height} = parentTd.getBoundingClientRect();\n\n if(!cellRelatedDropHandle){\n return;\n }\n\n cellRelatedDropHandle.style.display = 'flex';\n cellRelatedDropHandle.style.top = toPx(top);\n cellRelatedDropHandle.style.width = toPx(width);\n cellRelatedDropHandle.style.height = toPx(height);\n cellRelatedDropHandle.style.left = toPx(left);\n\n return;\n }\n\n if ( document.getElementsByClassName( 'wptb-drop-handle' ).length == 0 ) {\n wptbDropHandle = document.createElement( 'div' );\n wptbDropHandle.classList.add( 'wptb-drop-handle' );\n \n wptbDropBorderMarker = document.createElement( 'div' );\n wptbDropBorderMarker.classList.add( 'wptb-drop-border-marker' );\n \n wptbDropBorderMarkerTop = document.createElement( 'div' ),\n wptbDropBorderMarkerRight = document.createElement( 'div' ),\n wptbDropBorderMarkerBottom = document.createElement( 'div' ),\n wptbDropBorderMarkerLeft = document.createElement( 'div' );\n \n wptbDropBorderMarkerTop.classList.add( 'wptb-drop-border-marker-top' );\n wptbDropBorderMarkerRight.classList.add( 'wptb-drop-border-marker-right' );\n wptbDropBorderMarkerBottom.classList.add( 'wptb-drop-border-marker-bottom' );\n wptbDropBorderMarkerLeft.classList.add( 'wptb-drop-border-marker-left' );\n \n wptbDropBorderMarker.appendChild( wptbDropBorderMarkerTop );\n wptbDropBorderMarker.appendChild( wptbDropBorderMarkerRight );\n wptbDropBorderMarker.appendChild( wptbDropBorderMarkerBottom );\n wptbDropBorderMarker.appendChild( wptbDropBorderMarkerLeft );\n \n let body = document.getElementsByTagName( 'body' );\n if ( body.length > 0 ) {\n body[0].appendChild( wptbDropHandle );\n body[0].appendChild( wptbDropBorderMarker );\n }\n \n wptbDropHandle.ondragenter = function () {\n if (e.target.classList.contains('wptb-empty')) {\n e.preventDefault();\n return false;\n }\n }\n\n wptbDropHandle.ondragover = function (e) {\n e.preventDefault(); \n }\n\n wptbDropHandle.ondragleave = function () {\n\n }\n wptbDropHandle.ondrop = function (e) {\n e.preventDefault();\n let element;\n \n if ( e.dataTransfer.getData('wptbElement') ) {\n element = WPTB_Helper.newElementProxy( e.dataTransfer.getData('wptbElement') );\n element = element.getDOMElement();\n } else {\n element = document.getElementsByClassName( e.dataTransfer.getData('node') )[0];\n element.classList.remove( 'wptb-moving-mode' );\n element.classList.remove( 'wptb-moving-into-same-elem' );\n element.wptbMovingMode = 1;\n }\n \n let td;\n if( wptbDropHandle.dataset.text == 'Drop Here' ) {\n thisElem = wptbDropHandle.getDOMParentElement();\n if ( thisElem.nodeName.toLowerCase() == 'td' ) {\n td = wptbDropHandle.getDOMParentElement();\n td.appendChild( element );\n WPTB_Helper.wptbDocumentEventGenerate('element:mounted:dom', element);\n }\n } else {\n let innerElement = wptbDropHandle.getDOMParentElement();\n td = innerElement.parentNode;\n \n if( wptbDropHandle.dataset.text == 'Above Element' ) {\n td.insertBefore( element, innerElement );\n WPTB_Helper.wptbDocumentEventGenerate('element:mounted:dom', element);\n } else if( wptbDropHandle.dataset.text == 'Below Element' ) {\n let innerElementNext = innerElement.nextSibling;\n td.insertBefore( element, innerElementNext );\n WPTB_Helper.wptbDocumentEventGenerate('element:mounted:dom', element);\n }\n }\n \n let thisRow = td.parentNode;\n if( WPTB_Helper.rowIsTop( thisRow ) ) {\n let table = WPTB_Helper.findAncestor( thisRow, 'wptb-preview-table' );\n\n if( table.classList.contains( 'wptb-table-preview-head' ) ) {\n WPTB_Helper.dataTitleColumnSet( table );\n }\n }\n \n wptbDropHandle.style.display = 'none';\n wptbDropBorderMarker.style.display = 'none';\n \n WPTB_innerElementSet( element );\n if( ! element.classList.contains( 'wptb-image-container' ) || element.wptbMovingMode == 1 ) {\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n element.wptbMovingMode == undefined;\n }\n }\n let wptbContainer = document.querySelector( '.wptb-container' );\n wptbContainer.onscroll = function() {\n wptbDropHandle.style.display = 'none';\n wptbDropBorderMarker.style.display = 'none';\n }\n } else {\n wptbDropHandle = document.getElementsByClassName( 'wptb-drop-handle' )[0];\n wptbDropBorderMarker = document.getElementsByClassName( 'wptb-drop-border-marker' )[0];\n }\n if( thisElem && thisElem.nodeName.toLowerCase() == 'td' && \n thisElem.getElementsByClassName( 'wptb-ph-element' ).length != 0) {\n return;\n }\n\n if( thisElem && thisElem.nodeName.toLowerCase() == 'td' && \n thisElem.classList.contains('wptb-empty')) {\n return;\n }\n \n let thisRow;\n if ( thisElem.localName == 'td' ) {\n thisRow = thisElem.parentNode;\n } else if ( thisElem.localName == 'div' && thisElem.classList.contains( 'wptb-ph-element' ) ) {\n thisRow = thisElem.parentNode.parentNode;\n }\n \n if( WPTB_Helper.rowIsTop( thisRow ) ) {\n let table = WPTB_Helper.findAncestor( thisRow, 'wptb-preview-table' );\n \n if( table.classList.contains( 'wptb-table-preview-head' ) ) {\n let indics = e.dataTransfer.types;\n let notDragEnter = false;\n for ( let i = 0; i < indics.length; i++ ) {\n let infArr = indics[i].match( /wptbelindic-([a-z]+)/i );\n if ( infArr && infArr[1] != 'text' ) {\n notDragEnter = true;\n break;\n }\n }\n if( notDragEnter ) {\n return;\n }\n }\n }\n \n wptbDropHandle.style.width = thisElem.offsetWidth + 'px';\n let height = thisElem.offsetHeight,\n coordinatesElement = thisElem.getBoundingClientRect(),\n left = parseFloat( coordinatesElement.left ),\n top;\n wptbDropHandle.style.left = left + 'px';\n \n if( e.dataTransfer.types.indexOf( 'wptb-moving-mode' ) != -1 ) {\n let elementDrag = document.getElementsByClassName( 'wptb-moving-mode' )[0];\n if( thisElem == elementDrag ) {\n wptbDropHandle.classList.add('wptb-moving-into-same-elem');\n wptbDropBorderMarker.classList.add('wptb-moving-into-same-elem');\n } else {\n wptbDropHandle.classList.remove('wptb-moving-into-same-elem');\n wptbDropBorderMarker.classList.remove('wptb-moving-into-same-elem');\n }\n }\n \n wptbDropHandle.getDOMParentElement = function() {\n return thisElem;\n }\n \n wptbDropHandle.style.display = 'block';\n wptbDropBorderMarker.style.display = 'block';\n if( thisElem.nodeName.toLowerCase() != 'td' ) {\n let y = e.offsetY==undefined?e.layerY:e.offsetY;\n top = parseFloat( coordinatesElement.top ) - parseFloat( 11 );\n wptbDropHandle.dataset.text = 'Above Element';\n if ( y > height/2 ) {\n top = parseFloat( coordinatesElement.top ) + height - 1;\n wptbDropHandle.dataset.text = 'Below Element';\n }\n } else {\n wptbDropHandle.dataset.text = 'Drop Here';\n top = parseFloat( coordinatesElement.top ) + height/2 - 5;\n }\n wptbDropHandle.style.top = top + 'px';\n\n wptbDropBorderMarker.style.top = coordinatesElement.top + 'px';\n wptbDropBorderMarker.style.left = coordinatesElement.left + 'px';\n\n wptbDropBorderMarkerTop = wptbDropBorderMarker.querySelector( '.wptb-drop-border-marker-top' );\n wptbDropBorderMarkerTop.style.width = ( parseFloat( thisElem.offsetWidth ) - parseFloat( 1 ) ) + 'px';\n\n wptbDropBorderMarkerRight = wptbDropBorderMarker.querySelector( '.wptb-drop-border-marker-right' );\n wptbDropBorderMarkerRight.style.height = ( parseFloat( coordinatesElement.bottom ) - parseFloat( coordinatesElement.top ) - 1 ) + 'px';\n wptbDropBorderMarkerRight.style.left = wptbDropBorderMarkerTop.style.width;\n\n wptbDropBorderMarkerBottom = wptbDropBorderMarker.querySelector( '.wptb-drop-border-marker-bottom' );\n wptbDropBorderMarkerBottom.style.width = wptbDropBorderMarkerTop.style.width;\n wptbDropBorderMarkerBottom.style.top = wptbDropBorderMarkerRight.style.height;\n\n wptbDropBorderMarkerLeft = wptbDropBorderMarker.querySelector( '.wptb-drop-border-marker-left' );\n wptbDropBorderMarkerLeft.style.height = wptbDropBorderMarkerRight.style.height;\n}","var ElementCounters = function () {\n\n\tvar priv = [];\n\tpriv['text'] = 0;\n\tpriv['image'] = 0;\n\tpriv['list'] = 0;\n\tpriv['button'] = 0;\n\n\tthis.increment = function (key) {\n\t\tif (!(key in priv)) {\n\t\t\treturn;\n\t\t}\n\t\tpriv[key]++;\n\t}\n\n\tthis.nextIndex = function (key) {\n\t\tif (!(key in priv)) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn priv[key] + 1;\n\t}\n\n\treturn this;\n\n};","var WPTB_ElementObject = function ( data ) {\n let DOMElement, kindIndexProt, copy;\n if( ! data.elemProt ) {\n DOMElement = document.createElement('div'),\n kindIndexProt = undefined,\n copy = false;\n DOMElement.classList.add( 'wptb-' + data.kind + '-container', 'wptb-ph-element' );\n \n let wpTemplateId = 'wptb-' + data.kind + '-content';\n let template = wp.template( wpTemplateId );\n data.node = DOMElement;\n let itemHtml = template( data );\n\n itemHtml = itemHtml.replace(/\\r|\\n|\\t/g, '').trim();\n DOMElement.innerHTML = itemHtml;\n } else {\n DOMElement = data.elemProt.cloneNode( true );\n DOMElement.classList.remove( 'wptb-directlyhovered' );\n let wptbElementMutch = data.elemProt.className.match( /wptb-element-((.+-)\\d+)/i );\n if ( wptbElementMutch && Array.isArray( wptbElementMutch ) ) {\n kindIndexProt = wptbElementMutch[1];\n };\n copy = true;\n \n if( data.tinyMceClear ) {\n DOMElement = WPTB_Helper.elementClearFromTinyMce( DOMElement );\n }\n }\n \n let inElems = DOMElement.querySelectorAll( '.wptb-in-element' );\n if( inElems.length > 0 ) {\n for ( let i = 0; i < inElems.length; i++ ) {\n let inElemObj = {};\n inElemObj.getDOMElement = function() {\n return inElems[i];\n }\n \n applyGenericItemSettings( inElemObj );\n }\n }\n \n window.addEventListener( 'item:onmouseenter', function( event ) {\n //console.log( event );\n }, false);\n \n \n this.kind = data.kind;\n this.getDOMElement = function () {\n return DOMElement;\n };\n \n applyGenericItemSettings( this, kindIndexProt, copy );\n return this;\n}\n\n\n","var WPTB_ElementOptions = function ( element, index, kindIndexProt ) {\n\n var node = element.getDOMElement();\n node.addEventListener( 'click', function() {\n WPTB_Helper.elementOptionsSet( element.kind, this );\n }, {capture: true} );\n};","/**\n * WPTB_HeaderToolbox\n *\n * @param {string} wrapperQuery wrapper query for toolbox items\n * @return {object} header toolbox object\n * @constructor\n */\n// eslint-disable-next-line camelcase,no-unused-vars\nconst WPTB_HeaderToolbox = function (wrapperQuery) {\n\tthis.wrapperQuery = wrapperQuery;\n\tthis.element = document.querySelector(wrapperQuery);\n\tthis.topMargin = 2;\n\n\t/**\n\t * Assign events to toolbox buttons\n\t */\n\tconst assignButtons = () => {\n\t\tconst manageCellsButton = this.element.querySelector('[data-button-type=\"table_settings_menu\"]');\n\n\t\tif (manageCellsButton) {\n\t\t\tmanageCellsButton.addEventListener('click', () => {\n\t\t\t\tWPTB_Helper.activateSection('manage_cells');\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Toggle visibility of toolbox with the given argument.\n\t *\n\t * @param {boolean} show show toolbox\n\t */\n\tconst toggleToolboxVisibility = (show = false) => {\n\t\tlet { height } = this.element.getBoundingClientRect();\n\n\t\tif (show) {\n\t\t\theight = 0;\n\t\t}\n\n\t\tthis.element.style.top = `calc( 100% - ${height + this.topMargin}px)`;\n\t};\n\n\t/**\n\t * Initialize header toolbox.\n\t */\n\tconst init = () => {\n\t\tassignButtons();\n\t\t// bind toolbox to table generated event\n\t\tdocument.addEventListener('wptb:table:generated', () => {\n\t\t\tthis.element.style.display = 'unset';\n\t\t\tconst { width } = this.element.getBoundingClientRect();\n\t\t\tthis.element.style.left = `calc( 50% - ${width / 2}px)`;\n\n\t\t\t// hide toolbox at manage cells and responsive menus\n\t\t\tdocument.addEventListener('wptbSectionChanged', ({ detail }) => {\n\t\t\t\ttoggleToolboxVisibility(\n\t\t\t\t\tdetail !== 'manage_cells' && detail !== 'table_responsive_menu' && detail !== 'cell_settings'\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t};\n\n\treturn { init };\n};\n","var WPTB_Helper = {\n hexToRgb: function( hex ) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec( hex );\n return result ? 'rgb(' + parseInt( result[1], 16 ) + ',' + parseInt( result[2], 16 ) + ',' + parseInt( result[3], 16 ) + ')' : null;\n },\n rgbToHex: function ( rgb ) {\n if( rgb ) {\n if( WPTB_Helper.isHex( rgb ) ) return rgb;\n\n let rgbm = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?((?:[0-9]*[.])?[0-9]+)[\\s+]?\\)/i);\n if ( rgbm && rgbm.length === 5) {\n return \"#\" +\n ('0' + Math.round(parseFloat(rgbm[4], 10) * 255).toString(16).toUpperCase()).slice(-2) +\n (\"0\" + parseInt(rgbm[1], 10).toString(16).toUpperCase()).slice(-2) +\n (\"0\" + parseInt(rgbm[2], 10).toString(16).toUpperCase()).slice(-2) +\n (\"0\" + parseInt(rgbm[3], 10).toString(16).toUpperCase()).slice(-2);\n } else {\n rgbm = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n if (rgbm && rgbm.length === 4) {\n return \"#\" +\n (\"0\" + parseInt(rgbm[1], 10).toString(16).toUpperCase()).slice(-2) +\n (\"0\" + parseInt(rgbm[2], 10).toString(16).toUpperCase()).slice(-2) +\n (\"0\" + parseInt(rgbm[3], 10).toString(16).toUpperCase()).slice(-2);\n } else {\n return '';\n }\n }\n } else {\n return '';\n }\n\n },\n isHex: function( hex ) {\n let regex = new RegExp('^#(?:[A-Fa-f0-9]{3}){1,2}$');\n return regex.test( hex );\n },\n getElementIcon: function ( icon_directory ) {\n let hostName = location.protocol + '//' + location.hostname;\n let img = document.createElement( 'img' );\n img.src = icon_directory;\n return img;\n },\n elementDragEndClear: function() {\n let wptbMovingMode = document.getElementsByClassName( 'wptb-moving-mode' );\n if ( wptbMovingMode.length > 0 ) {\n for( let i = 0; i < wptbMovingMode.length; i++ ) {\n wptbMovingMode[i].classList.remove( 'wptb-moving-mode' );\n }\n }\n\n let wptbDropHandles = document.getElementsByClassName( 'wptb-drop-handle' );\n if ( wptbDropHandles.length > 0 ) {\n for( let i = 0; i < wptbDropHandles.length; i++ ) {\n wptbDropHandles[i].style.display = 'none';\n }\n }\n\n let wptbDropBorderMarkers = document.getElementsByClassName( 'wptb-drop-border-marker' );\n if ( wptbDropBorderMarkers.length > 0 ) {\n for( let i = 0; i < wptbDropBorderMarkers.length; i++ ) {\n wptbDropBorderMarkers[i].style.display = 'none';\n }\n }\n },\n linkHttpCheckChange: function( link, convertToAbs = false ) {\n if ( link ) {\n // even though it is not a best practice and a huge security risk, sometimes our users use javascript tag at href attributes, this check will make sure those tags will not be modified and returned as they are\n if(link.match(/^(javascript:)(.+)$/)){\n return link;\n }\n // relative link checking\n // if link starts with '/', assume it is a relative link to the origin of the current site\n else if( link.match(/^\\/([\\S]+)$/) ){\n if (convertToAbs) {\n const currentLocation = document.location;\n let {origin} = currentLocation;\n\n\n // strip out the '/' at the end of the origin name if there is any\n if (origin.match(/^(.+)\\/$/)) {\n origin = origin.slice(-1);\n }\n\n return `${origin}${link}`;\n }else{\n return link;\n }\n }\n else if ( link.indexOf( 'http://' ) == -1 && link.indexOf( 'https://' ) == -1 ) {\n let linkArr = link.split( '/' ),\n linkClean;\n if ( Array.isArray( linkArr ) && linkArr.length > 0 ) {\n linkClean = linkArr[linkArr.length - 1];\n }\n return document.location.protocol + '//' + linkClean;\n } else {\n return link;\n }\n } else {\n return '';\n }\n },\n dataTitleColumnSet: function( table ) {\n // TODO dataTitleColumnSet\n // let rows = table.rows,\n // rowHead = rows[0];\n // let computedStyleRowHead = getComputedStyle( rowHead );\n //\n // let rowHeadChildren = rowHead.children;\n // let contentsForHeader = {};\n // for( let i = 0; i < rowHeadChildren.length; i++ ) {\n // let tdElements = rowHeadChildren[i].children;\n //\n // for( let j = 0; j < tdElements.length; j++ ) {\n // let element = tdElements[j];\n // if( element.classList.contains( 'wptb-ph-element' ) ) {\n // let infArr = element.className.match( /wptb-element-(.+)-(\\d+)/i );\n // if( infArr[1] == 'text' ) {\n // let p = element.querySelector( 'p' ),\n // textContent = p.textContent,\n // textAlign = p.style.textAlign;\n // contentsForHeader[rowHeadChildren[i].dataset.xIndex] = [textContent, element.style.fontSize,\n // element.style.color, computedStyleRowHead.backgroundColor, textAlign];\n // break;\n // }\n // }\n // }\n // if( ! contentsForHeader[rowHeadChildren[i].dataset.xIndex] ) {\n // contentsForHeader[rowHeadChildren[i].dataset.xIndex] = ['', '',\n // '', computedStyleRowHead.backgroundColor, ''];\n // }\n // }\n // for ( let i = 1; i < rows.length; i++ ) {\n // let thisRow = rows[i],\n // thisRowChildren = thisRow.children;\n // for( let j = 0; j < thisRowChildren.length; j++ ) {\n // if ( contentsForHeader[thisRowChildren[j].dataset.xIndex] ) {\n // thisRowChildren[j].dataset.wptbTitleColumn = contentsForHeader[thisRowChildren[j].dataset.xIndex][0];\n // thisRowChildren[j].dataset.wptbTitleColumnFontSize = contentsForHeader[thisRowChildren[j].dataset.xIndex][1];\n // thisRowChildren[j].dataset.wptbTitleColumnColor = contentsForHeader[thisRowChildren[j].dataset.xIndex][2];\n // thisRowChildren[j].dataset.wptbTitleBackgroundColor = contentsForHeader[thisRowChildren[j].dataset.xIndex][3];\n // thisRowChildren[j].dataset.wptbTitleAlign = contentsForHeader[thisRowChildren[j].dataset.xIndex][4];\n // } else {\n // thisRowChildren[j].dataset.wptbTitleColumn = null;\n // thisRowChildren[j].dataset.wptbTitleColumnFontSize = null;\n // thisRowChildren[j].dataset.wptbTitleColumnColor = null;\n // thisRowChildren[j].dataset.wptbTitleBackgroundColor = null;\n // thisRowChildren[j].dataset.wptbTitleAlign = null;\n // }\n // }\n // }\n },\n findAncestor: function( el, cls ) {\n while ( ( el = el.parentElement ) && !el.classList.contains( cls ) );\n return el;\n },\n rowIsTop: function( row ) {\n var parent = row.parentNode;\n if( parent.children[0] == row ) {\n return true;\n } else {\n return false;\n }\n },\n getSelectionText: function() {\n var txt = '';\n if (txt = window.getSelection) {\n txt = window.getSelection().toString();\n } else {\n txt = document.selection.createRange().text;\n }\n return txt;\n },\n elementOptionsPanelClear: function() {\n let elementOptionsGroup = document.getElementById( 'element-options-group' );\n if( elementOptionsGroup ) {\n elementOptionsGroup.innerHTML = '';\n }\n },\n wpColorPickerCheckChangeForTableStateSaving: function( event ) {\n if( event.originalEvent.type == 'external' ) {\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n } else {\n let wpPickerContainer = WPTB_Helper.findAncestor( event.target, 'wp-picker-container' );\n if( wpPickerContainer ) {\n if( event.originalEvent.type == 'square' || event.originalEvent.type == 'strip' ) {\n let body = document.getElementsByTagName( 'body' )[0];\n body.removeEventListener( 'mouseup', WPTB_Helper.irisStripMouseUpStateSaveManager, false );\n body.addEventListener( 'mouseup', WPTB_Helper.irisStripMouseUpStateSaveManager, false );\n }\n }\n }\n },\n irisStripMouseUpStateSaveManager: function() {\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n\n let body = document.getElementsByTagName( 'body' )[0];\n body.removeEventListener( 'mouseup', WPTB_Helper.irisStripMouseUpStateSaveManager, false );\n },\n wpColorPickerClear: function( attribute, isId ) {\n let input;\n if( isId ) {\n input = [document.getElementById( attribute )];\n input.length = 1;\n } else {\n input = document.getElementsByClassName( attribute );\n }\n for( let i = 0; i < input.length; i++ ) {\n let wpPickerContainer = WPTB_Helper.findAncestor( input[i], 'wp-picker-container' );\n if( wpPickerContainer ) {\n let parent = wpPickerContainer.parentNode;\n parent.removeChild( wpPickerContainer );\n let newInput = document.createElement( 'input' );\n if( isId ) {\n newInput.setAttribute( 'id', attribute );\n } else {\n newInput.classList.add( 'wptb-element-property', attribute );\n }\n newInput.value = \"\";\n parent.appendChild( newInput );\n }\n }\n },\n detectMode: function() {\n var url = window.location.href,\n regex = new RegExp('[?&]table(=([^&#]*)|&|#|$)'),\n results = regex.exec(url);\n if ( ! results ) return false;\n if ( ! results[2] ) return '';\n return decodeURIComponent( results[2].replace(/\\+/g, ' ') );\n },\n getTableId() {\n let tableId = WPTB_Helper.detectMode();\n if (!tableId) {\n tableId = 'startedid-0';\n }\n\n return tableId;\n },\n getColumnWidth: function( table, cell ) {\n let xIndex = cell.dataset.xIndex;\n let xIndexes = table.querySelectorAll( '[data-x-index=\"' + xIndex + '\"]' );\n let cellWidth = cell.getCellDimensions().width;\n for( let i = 0; i < xIndexes.length; i++ ) {\n if( cellWidth > xIndexes[i].getCellDimensions().width ) {\n cellWidth = xIndexes[i].getCellDimensions().width;\n }\n }\n return cellWidth;\n },\n getRowHeight: function( table, cell ) {\n let yIndex = cell.dataset.yIndex;\n let yIndexes = table.querySelectorAll( '[data-y-index=\"' + yIndex + '\"]' );\n let cellHeight = cell.getCellDimensions().height;\n for( let i = 0; i < yIndexes.length; i++ ) {\n if( cellHeight > yIndexes[i].getCellDimensions().height ) {\n cellHeight = yIndexes[i].getCellDimensions().height;\n }\n }\n return cellHeight;\n },\n newElementProxy: function( el ) {\n if( el ) {\n let data = {kind: el};\n return new WPTB_ElementObject( data );\n }\n },\n wpColorPickerChange: function( event, ui ) {\n let uiColor;\n if( ui ) {\n uiColor = ui.color.toString();\n } else {\n uiColor = '';\n }\n\n let parent = WPTB_Helper.findAncestor( event.target, 'wp-picker-input-wrap' ).getElementsByClassName( 'wptb-color-picker' )[0], classe, type, ps, number;\n classe = parent.dataset.element.match(/wptb-options-(.+)-(\\d+)/i);\n type = classe[1];\n number = classe[2];\n let affectedEl = document.getElementsByClassName( 'wptb-element-' + type + '-' + number )[0];\n if ( type == 'button' ) {\n if ( parent.dataset.type == 'button-text-color' ) {\n affectedEl.getElementsByClassName( 'wptb-button' )[0].style.color = uiColor;\n } else {\n affectedEl.getElementsByClassName( 'wptb-button' )[0].style.backgroundColor = uiColor;\n }\n } else if( type == 'list' ) {\n let ps = affectedEl.querySelectorAll( 'p' );\n if( ps.length > 0 ) {\n for ( let i = 0; i < ps.length; i++ ) {\n ps[i].style.color = uiColor;\n }\n }\n } else if( type == 'star_rating' ) {\n if ( parent.dataset.type == 'star-color' ) {\n let ratingStar = affectedEl.querySelectorAll('li');\n for( let i = 0; i < ratingStar.length; i++ ) {\n let span = ratingStar[i].getElementsByTagName( 'span' );\n for( let j = 0; j < span.length; j++ ) {\n span[j].style.fill = uiColor;\n }\n }\n } else if( parent.dataset.type == 'numeral-rating-color' ) {\n let wptbTextMessageSize = affectedEl.querySelector('.wptb-number-rating');\n wptbTextMessageSize.style.color = uiColor;\n }\n\n } else {\n affectedEl.style.color = uiColor;\n }\n },\n numberImputSize: function ( wptbNumberInputs, maxCount, maxValue ) {\n wptbNumberInputs.onkeydown = function() {\n let thisValue = this.value;\n thisValue = String( thisValue );\n if ( thisValue[0] == 0 ) {\n this.value = \"\";\n } else {\n thisValue = thisValue.substring( 0, maxCount );\n this.value = thisValue;\n }\n }\n wptbNumberInputs.onkeyup = function( ) {\n let thisValue = this.value;\n if ( parseInt( thisValue, 10 ) > parseInt( maxValue, 10 ) ) {\n this.value = maxValue;\n }\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n }\n },\n ucfirst: function( str ) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n },\n wptbDocumentEventGenerate: function( eventName, element, details ) {\n if( eventName && element ) {\n if( ! details ) {\n details = true;\n }\n let event = new CustomEvent( eventName, { detail: details, bubbles: true } );\n element.dispatchEvent( event );\n }\n },\n // run script for the pointed element\n elementStartScript: function( element, kind ) {\n //let script = element.getElementsByTagName( 'script' );\n if(!kind) {\n let infArr = element.className.match(/wptb-element-(.+)-(\\d+)/i);\n if( infArr && Array.isArray( infArr ) ) {\n kind = infArr[1];\n }\n }\n\n if( kind ) {\n// let wpTemplateId = 'wptb-' + kind + '-script';\n// let template = wp.template( wpTemplateId );\n// let data = {elemClass: infArr[0]};\n// let elementScriptText = template( data );\n// elementScriptText = elementScriptText.replace(/\\r|\\n|\\t/g, '').trim();\n//\n// let scriptNew = document.createElement( 'script' );\n// scriptNew.setAttribute( 'type', 'text/javascript' );\n// scriptNew.innerHTML = elementScriptText;\n// element.parentNode.appendChild( scriptNew );\n\n// element.parentNode.removeChild( scriptNew );\n if( kind in WPTB_ElementsScriptsLauncher ) {\n WPTB_ElementsScriptsLauncher[kind]( element );\n }\n }\n },\n // deletes event handlers from the pointed option element and from all his daughter elements\n deleteEventHandlers: function( element ) {\n if( element ) {\n jQuery( element ).off();\n let elementChildren = element.children;\n if( elementChildren ) {\n for ( let i = 0; i < elementChildren.length; i++ ) {\n WPTB_Helper.deleteEventHandlers( elementChildren[i] );\n }\n }\n } else {\n return;\n }\n },\n // replace all occurrences in a string\n replaceAll: function( string, search, replace ){\n return string.split( search ).join( replace );\n },\n // clears code from TinyMCE attributes\n elementClearFromTinyMce: function( element ) {\n let mceContentBodys = element.querySelectorAll( '.mce-content-body' );\n if( mceContentBodys.length > 0 ) {\n for ( let k = 0; k < mceContentBodys.length; k++ ) {\n mceContentBodys[k].classList.remove( 'mce-content-body' );\n }\n }\n\n let dataMceStyle = element.querySelectorAll( '[data-mce-style]' );\n if ( dataMceStyle.length > 0 ) {\n for ( let k = 0; k < dataMceStyle.length; k++ ) {\n dataMceStyle[k].removeAttribute( 'data-mce-style' );\n }\n }\n\n let mceEditFocus = element.querySelectorAll( '.mce-edit-focus' );\n if( mceEditFocus.length > 0 ) {\n for ( let k = 0; k < mceEditFocus.length; k++ ) {\n mceEditFocus[k].classList.remove( 'mce-edit-focus' );\n }\n }\n\n let contentEditable = element.querySelectorAll( '[contenteditable]' );\n if ( contentEditable.length > 0 ) {\n for ( let k = 0; k < contentEditable.length; k++ ) {\n contentEditable[k].removeAttribute( 'contenteditable' );\n }\n }\n\n let spellCheck = element.querySelectorAll( '[spellcheck]' );\n if ( spellCheck.length > 0 ) {\n for ( let k = 0; k < spellCheck.length; k++ ) {\n spellCheck[k].removeAttribute( 'spellcheck' );\n }\n }\n\n let mceIds = element.querySelectorAll( '[id^=mce_]' );\n if ( mceIds.length > 0 ) {\n for ( let k = 0; k < mceIds.length; k++ ) {\n mceIds[k].removeAttribute( 'id' );\n }\n }\n\n return element;\n },\n elementOptionContainerCustomClassSet: function( targetInput, customClassForContainer ) {\n if( targetInput && customClassForContainer ) {\n let containerElement = WPTB_Helper.findAncestor( targetInput, 'wptb-element-option' );\n if( containerElement ) {\n containerElement.classList.add( customClassForContainer );\n }\n }\n },\n elementOptionContainerAdditionalStyles: function( targetInput, containerAdditionalStyles ) {\n if( targetInput && containerAdditionalStyles ) {\n let containerElement = WPTB_Helper.findAncestor( targetInput, 'wptb-element-option' );\n let containerStylesArrOne = containerAdditionalStyles.split( ';' );\n\n if( containerElement && containerStylesArrOne ) {\n function containerStylesSet( containerStyleStr, containerElement ) {\n if( containerStyleStr ) {\n containerStyleStrArr = containerStyleStr.split( ':' );\n\n if( containerStyleStrArr && Array.isArray( containerStyleStrArr ) ) {\n containerElement.style[containerStyleStrArr[0]] = containerStyleStrArr[1];\n }\n }\n }\n if( containerStylesArrOne && Array.isArray( containerStylesArrOne ) ) {\n for( let i = 0; i < containerStylesArrOne.length; i++ ) {\n if( containerStylesArrOne[i] ) {\n containerStylesSet( containerStylesArrOne[i], containerElement );\n }\n }\n } else {\n containerStylesSet( containerStylesArrOne, containerElement );\n }\n }\n }\n },\n // function which set handler for event of changes of control\n controlsInclude: function( element, functionHandler, acceptEventValues = false ) {\n if( element && typeof element === 'object' && typeof functionHandler === 'function' ) {\n element.addEventListener( 'element:controls:active', function() {\n if(!element.hasOwnProperty('controlConnectFunctionsName') ||\n !Array.isArray(element.controlConnectFunctionsName) ||\n element.controlConnectFunctionsName.indexOf(functionHandler.name) == -1) {\n let infArr = element.className.match( /wptb-element-(.+)-(\\d+)/i ),\n elementKind;\n\n if( infArr && Array.isArray( infArr ) ) {\n elementKind = infArr[1];\n }\n\n// if( ! element.hasOwnProperty( 'сontrolsConnectIndic' ) || element.сontrolsConnectIndic !== true && elementKind ) {\n// let elementsSettingsTemplateJs = document.getElementsByClassName( 'wptb-element-datas' );\n// if( elementsSettingsTemplateJs.length > 0 ) {\n// elementsSettingsTemplateJs = elementsSettingsTemplateJs[0];\n//\n// let elementsSettings = elementsSettingsTemplateJs.innerHTML;\n// let controlClassesNames = [];\n// if( elementsSettings ) {\n// elementsSettings = elementsSettings.trim();\n// elementsSettings = JSON.parse( elementsSettings );\n// if( elementsSettings && typeof elementsSettings === 'object' ) {\n// if( 'tmpl-wptb-el-datas-' + infArr[1] + '-' + infArr[2] in elementsSettings ) {\n// let elementSettings = elementsSettings['tmpl-wptb-el-datas-' + infArr[1] + '-' + infArr[2]];\n// if( elementSettings && typeof elementSettings === 'object' ) {\n// Object.keys( elementSettings ).forEach( function( key ) {\n// let regularText = new RegExp( 'data-wptb-el-' + elementKind + '-(\\\\d+)-([a-zA-Z0-9_-]+)', \"i\" );\n// let keyInfArr = key.match( regularText );\n// if( keyInfArr && Array.isArray( keyInfArr ) ) {\n// let controlClass = key.replace( 'data-', '' );\n// controlClassesNames.push( [controlClass, keyInfArr[2]] );\n// }\n// });\n// }\n// }\n// }\n// }\n// }\n// }\n if( elementKind ){\n let elementOptionsGroupIds = element.optionsGroupIds;\n if(elementOptionsGroupIds && Array.isArray(elementOptionsGroupIds)) {\n for(let i = 0; i < elementOptionsGroupIds.length; i++) {\n let elementOptionsGroupId = elementOptionsGroupIds[i];\n\n let elementOptionsGroup = document.getElementById(elementOptionsGroupId);\n\n let controlActiveElements = elementOptionsGroup.querySelectorAll('.wptb-element-property');\n controlActiveElements = [...controlActiveElements];\n\n controlActiveElements.map(controlActiveElement => {\n let regularText = new RegExp( 'wptb-el-' + elementKind + '-(\\\\d+)-([a-zA-Z0-9_-]+)', \"i\" );\n let controlInfArr = controlActiveElement.className.match( regularText );\n if( controlInfArr && Array.isArray( controlInfArr ) ) {\n let controlUnicClassName = controlInfArr[0];\n\n element.addEventListener( 'wptb-control:' + controlUnicClassName, function(e) {\n let controls = {};\n let controlName = controlInfArr[2];\n let control = document.getElementsByClassName( controlUnicClassName );\n if( control.length > 0 && controlName ) {\n let targetControlValue = WPTB_Helper.targetControlValueGet( control );\n\n if(acceptEventValues) {\n controls[controlName] = {\n targetValue: targetControlValue,\n eventValue: e.detail.value\n }\n }else {\n controls[controlName] = targetControlValue;\n }\n }\n functionHandler( controls, element );\n }, false );\n }\n });\n }\n }\n //let elementOptionsContainer = document.querySelector( '.wptb-element-options.wptb-options-' + infArr[1] + '-' + infArr[2] );\n\n // from time to time depend on table cells hierarchy, cell td items may catch mouse clicks which are intended for elements. since the active section is not cell management, this will gives and unharmfull error of not found element, simple check for null equality will be sufficient for now.\n // if(!elementOptionsContainer){\n // return;\n // }\n\n // let elementOptions = elementOptionsContainer.querySelectorAll( '.wptb-element-option' );\n // let controlActiveElements = elementOptions[i].querySelector( '.wptb-element-property' );\n //\n //\n // for( let i = 0; i < elementOptions.length; i++ ) {\n // let controlActiveElement = elementOptions[i].querySelector( '.wptb-element-property' );\n // if( controlActiveElement ) {\n //\n // }\n // }\n\n if(!element.controlConnectFunctionsName && !Array.isArray(element.controlConnectFunctionsName)) {\n element.controlConnectFunctionsName = [];\n }\n\n element.controlConnectFunctionsName.push( functionHandler.name );\n }\n }\n }, false );\n }\n },\n oneControlInclude: function( element, functionHandler, controlName ) {\n if( element && typeof element === 'object' && typeof functionHandler === 'function' && typeof controlName === 'string' ) {\n let infArr = element.className.match( /wptb-element-((.+-)\\d+)/i ),\n elementKind;\n\n if( infArr && Array.isArray( infArr ) ) {\n elementKind = infArr[1].split( '-' )[0];\n\n let wptbContrlStacksConfigId = 'wptb-' + elementKind + '-control-stack';\n let tmplControlsConfig = wp.template( wptbContrlStacksConfigId );\n let data = {\n container: '.' + infArr[0]\n };\n let jsonControlsConfigJson = tmplControlsConfig( data );\n let jsonControlsConfig = JSON.parse( jsonControlsConfigJson );\n\n if( jsonControlsConfig && typeof jsonControlsConfig === 'object' && jsonControlsConfig.hasOwnProperty( controlName ) ) {\n let controlClassName = 'wptb-el-' + infArr[1] + '-' + controlName;\n\n element.addEventListener( 'wptb-control:' + controlClassName, function( event ) {\n let control = document.getElementsByClassName( controlClassName );\n if( control.length > 0 ) {\n let targetControlValue = WPTB_Helper.targetControlValueGet( control );\n\n functionHandler( targetControlValue, element );\n }\n }, false );\n }\n }\n } else {\n return false;\n }\n },\n //\n innerElementCopyIncludeHandler: function( element, functionHandler ) {\n if( element && typeof element === 'object' && typeof functionHandler === 'function' ) {\n element.addEventListener( 'wptb-inner-element:copy', function( event ) {\n let innerElement = event.detail;\n if( innerElement ) {\n WPTB_Helper.elementClearFromTinyMce( innerElement );\n functionHandler( innerElement, element );\n }\n }, false );\n }\n },\n /**\n * Sets the control elements when changing which to will restart this control\n * @param {array} dependOnControlName\n * @param {string} targetControlElementClass\n * @param {array} valueDependOnControlCorrect\n * @param {string} kind\n * @param {HTMLElement} element\n */\n valueDependOnControl: function(dependOnControlName, targetControlElementClass, valueDependOnControlCorrect, kind, element) {\n function dependOnControlDataGet(dependOnControlName, targetControlElementClass, valueDependOnControlCorrect) {\n if(typeof dependOnControlName === 'string') {\n dependOnControlName = [dependOnControlName];\n }\n let infArr = targetControlElementClass.match(/wptb-el-((.+-)\\d+)-(.+)/i);\n let valueDependOnControl = {};\n let dependOnControlElementsArr = [];\n if (infArr && Array.isArray(infArr)) {\n let controlName = infArr[3];\n let dependOnControlElements;\n let valueDependOnControlCorrectObj = {};\n if(Array.isArray(valueDependOnControlCorrect)) {\n if(Array.isArray(valueDependOnControlCorrect[0])) {\n valueDependOnControlCorrect.map(s => {\n valueDependOnControlCorrectObj[s[0]] = [s[1], s[2]];\n });\n } else {\n valueDependOnControlCorrectObj[valueDependOnControlCorrect[0]] = [valueDependOnControlCorrect[1], valueDependOnControlCorrect[2]];\n }\n }\n dependOnControlName.map(s => {\n let dependOnControlElementClass = targetControlElementClass.replace(controlName, s);\n if(dependOnControlElementClass) {\n dependOnControlElements = document.getElementsByClassName(dependOnControlElementClass);\n if(dependOnControlElements.length > 0 && dependOnControlElements[0].type) {\n valueDependOnControl[s] = dependOnControlElements[0].value;\n if(s in valueDependOnControlCorrectObj) {\n if(valueDependOnControlCorrectObj[s][1] === 'integer') {\n valueDependOnControl[s] = parseInt(valueDependOnControl[s]) + parseInt(valueDependOnControlCorrectObj[s][0]);\n } else if(valueDependOnControlCorrectObj[s][1] === 'string') {\n valueDependOnControl[s] = valueDependOnControl[s] + valueDependOnControlCorrectObj[s][0];\n }\n }\n dependOnControlElementsArr.push(dependOnControlElements[0]);\n }\n }\n });\n }\n\n return [valueDependOnControl, dependOnControlElementsArr];\n }\n\n let dependOnControlData = dependOnControlDataGet(dependOnControlName, targetControlElementClass, valueDependOnControlCorrect);\n WPTB_Helper.elementOptionsSet(kind, element, dependOnControlData[0], targetControlElementClass);\n\n Object.keys(dependOnControlData[0]).forEach(function (key) {\n let infArr = element.className.match( /wptb-element-((.+-)\\d+)/i );\n let unicClass = 'wptb-el-' + infArr[1] + '-' + [key];\n element.addEventListener(`wptb-control:${unicClass}`, function(event){\n let dependOnControlData = dependOnControlDataGet(dependOnControlName, targetControlElementClass, valueDependOnControlCorrect);\n WPTB_Helper.elementOptionsSet(kind, element, dependOnControlData[0], targetControlElementClass);\n }, false);\n });\n },\n /**\n * Sets the visibility of one control to depend on the state of other controls\n * @param dependOnMain\n * @param targetControlElementClass\n */\n appearDependOnControl: function( dependOnMain, targetControlElementClass ) {\n if( Array.isArray( dependOnMain ) ) {\n if(typeof dependOnMain[0] === 'string') {\n dependOnMain = [dependOnMain];\n } else if(!Array.isArray(dependOnMain[0])) {\n return;\n }\n let dependOnControlElementsValue = {};\n for(let i = 0; i < dependOnMain.length; i++) {\n let dependOn = dependOnMain[i];\n let dependOnControlName = dependOn[0];\n let infArr = targetControlElementClass.match(/wptb-el-((.+-)\\d+)-(.+)/i);\n\n if (infArr && Array.isArray(infArr)) {\n let controlName = infArr[3];\n\n let dependOnControlElementClass = targetControlElementClass.replace(controlName, dependOnControlName);\n if(dependOnControlElementClass) {\n let dependOnControlElements = document.getElementsByClassName(dependOnControlElementClass);\n if(dependOnControlElements.length > 0) {\n dependOnControlElementsValue[dependOn[0]] = [dependOnControlElementValue(dependOnControlElements, dependOn), dependOnControlElements, dependOn];\n }\n }\n }\n }\n\n let targetControlElement = document.getElementsByClassName( targetControlElementClass );\n if( targetControlElement.length > 0 ) {\n targetControlElement = targetControlElement[0];\n let controlContainerElem = WPTB_Helper.findAncestor( targetControlElement, 'wptb-element-option' );\n\n if( controlContainerElem ) {\n showHideTargetControlElement(controlContainerElem, dependOnControlElementsValue);\n\n Object.keys(dependOnControlElementsValue).map(k => {\n if (Object.prototype.hasOwnProperty.call(dependOnControlElementsValue, k)) {\n let dependOnControlElements = dependOnControlElementsValue[k][1];\n let dependOnControlElement = dependOnControlElements[0];\n dependOnControlElement.addEventListener( 'change', dependOnControlElementChangeHandler.bind(null, controlContainerElem, dependOnControlElementsValue, k), false );\n }\n });\n }\n }\n\n function dependOnControlElementChangeHandler(controlContainerElem, dependOnControlElementsValue, k) {\n let dependOn = dependOnControlElementsValue[k][2];\n let dependOnControlElements = dependOnControlElementsValue[k][1];\n dependOnControlElementsValue[dependOn[0]] = [dependOnControlElementValue(dependOnControlElements, dependOn), dependOnControlElements, dependOn];\n showHideTargetControlElement(controlContainerElem, dependOnControlElementsValue)\n }\n\n function showHideTargetControlElement(controlContainerElem, dependOnControlElementsValue) {\n let display = 'block';\n Object.keys(dependOnControlElementsValue).map(k => {\n if (Object.prototype.hasOwnProperty.call(dependOnControlElementsValue, k)) {\n if(dependOnControlElementsValue[k][0] === false){\n display = 'none';\n }\n }\n })\n\n controlContainerElem.style.display = display;\n }\n\n function dependOnControlElementValue(dependOnControlElements, dependOn) {\n let targetControlValue = WPTB_Helper.targetControlValueGet(dependOnControlElements);\n\n let returnBool = false;\n for(let i = 1; i <= 2; i++) {\n if(dependOn[i] && Array.isArray(dependOn[i])) {\n let coincided;\n let hasNumberAnyParams = false;\n for(let j = 0; j < dependOn[i].length; j++) {\n if(typeof dependOn[i][j] === 'string' && dependOn[i][j].indexOf('numberAny >') !== -1) {\n hasNumberAnyParams = true;\n let xNum = parseInt(dependOn[i][j].match(/\\d+/));\n if(targetControlValue > xNum) {\n coincided = true;\n } else {\n coincided = false;\n break;\n }\n } else if(typeof dependOn[i][j] === 'string' && dependOn[i][j].indexOf('numberAny <') !== -1) {\n hasNumberAnyParams = true;\n let xNum = parseInt(dependOn[i][j].match(/\\d+/));\n if(targetControlValue < xNum) {\n coincided = true;\n } else {\n coincided = false;\n break;\n }\n } else if(dependOn[i][j] === targetControlValue) {\n coincided = true;\n if(!hasNumberAnyParams) {\n break;\n }\n }\n }\n\n if(coincided && i === 1) {\n returnBool = true;\n break;\n } else if(coincided && i === 2) {\n returnBool = false;\n break;\n }\n }\n }\n\n return returnBool;\n }\n }\n },\n //\n controlsStateManager: function ( targetControlClass, controlChangeIndic ) {\n let targetControls = document.getElementsByClassName( targetControlClass );\n if( targetControls.length > 0 ) {\n //targetControls = targetControls[0];\n\n let infArr = targetControlClass.match( /wptb-el-((.+-)\\d+)-(.+)/i );\n\n if( infArr && Array.isArray( infArr ) ) {\n let selectorElement;\n selectorElement = document.querySelector( '.wptb-element-' + infArr[1] );\n\n if( selectorElement ) {\n let elementsSettingsTemplatesJs;\n let elementSettings = {};\n let elementsSettings;\n elementsSettingsTemplatesJs = document.getElementsByClassName( 'wptb-element-datas' );\n if( elementsSettingsTemplatesJs.length == 0 || elementsSettingsTemplatesJs[0].innerHTML == '' ) {\n let targetControlValue = WPTB_Helper.targetControlValueGet( targetControls );\n elementSettings['data-' + targetControlClass] = targetControlValue;\n\n elementsSettings = {};\n elementsSettings['tmpl-wptb-el-datas-' + infArr[1]] = elementSettings;\n elementsSettings = JSON.stringify( elementsSettings );\n\n if( elementsSettingsTemplatesJs.length == 0 ) {\n elementsSettingsTemplatesJs = document.createElement( 'script' );\n elementsSettingsTemplatesJs.setAttribute( 'type', 'text/html' );\n elementsSettingsTemplatesJs.setAttribute( 'class', 'wptb-element-datas' );\n } else {\n elementsSettingsTemplatesJs = elementsSettingsTemplatesJs[0];\n }\n\n elementsSettingsTemplatesJs.innerHTML = elementsSettings;\n\n let body = document.getElementsByTagName('body')[0];\n body.appendChild( elementsSettingsTemplatesJs );\n } else {\n elementsSettingsTemplatesJs = elementsSettingsTemplatesJs[0];\n elementsSettings = elementsSettingsTemplatesJs.innerHTML;\n if( elementsSettings ) {\n elementsSettings = elementsSettings.trim();\n elementsSettings = JSON.parse( elementsSettings );\n\n if( elementsSettings && typeof elementsSettings === 'object' ) {\n\n\n if( controlChangeIndic ) {\n let targetControlValue = WPTB_Helper.targetControlValueGet( targetControls );\n if( ! ( ( 'tmpl-wptb-el-datas-' + infArr[1] ) in elementsSettings ) ||\n typeof elementsSettings['tmpl-wptb-el-datas-' + infArr[1]] !== 'object') {\n elementsSettings['tmpl-wptb-el-datas-' + infArr[1]] = {};\n }\n elementsSettings['tmpl-wptb-el-datas-' + infArr[1]]['data-' + targetControlClass] = targetControlValue;\n elementsSettingsTemplatesJs.innerHTML = JSON.stringify( elementsSettings );\n } else if( ! ( ( ( 'tmpl-wptb-el-datas-' + infArr[1] ) in elementsSettings ) &&\n typeof elementsSettings['tmpl-wptb-el-datas-' + infArr[1]] === 'object' &&\n ( 'data-' + targetControlClass ) in elementsSettings['tmpl-wptb-el-datas-' + infArr[1]] ) ) {\n let targetControlValue = WPTB_Helper.targetControlValueGet( targetControls );\n if( ! ( ( 'tmpl-wptb-el-datas-' + infArr[1] ) in elementsSettings ) ||\n typeof elementsSettings['tmpl-wptb-el-datas-' + infArr[1]] !== 'object') {\n elementsSettings['tmpl-wptb-el-datas-' + infArr[1]] = {};\n }\n elementsSettings['tmpl-wptb-el-datas-' + infArr[1]]['data-' + targetControlClass] = targetControlValue;\n elementsSettingsTemplatesJs.innerHTML = JSON.stringify( elementsSettings );\n } else if( ( ( 'tmpl-wptb-el-datas-' + infArr[1] ) in elementsSettings ) &&\n typeof elementsSettings['tmpl-wptb-el-datas-' + infArr[1]] === 'object' &&\n ( 'data-' + targetControlClass ) in elementsSettings['tmpl-wptb-el-datas-' + infArr[1]] ) {\n for( let i = 0; i < targetControls.length; i++ ) {\n if( targetControls[i].type == 'checkbox' ) {\n let targetControlValue;\n if( targetControls[i].name ) {\n targetControlValue = elementsSettings['tmpl-wptb-el-datas-' + infArr[1]]['data-' + targetControlClass][targetControls[i].name];\n } else {\n targetControlValue = elementsSettings['tmpl-wptb-el-datas-' + infArr[1]]['data-' + targetControlClass];\n }\n\n if( targetControlValue == 'checked' ) {\n targetControls[i].checked = true;\n } else if( targetControlValue == 'unchecked' ) {\n targetControls[i].checked = false;\n }\n } else {\n targetControls[i].value = elementsSettings['tmpl-wptb-el-datas-' + infArr[1]]['data-' + targetControlClass];\n }\n }\n }\n }\n }\n }\n }\n }\n }\n },\n //\n targetControlValueGet: function( targetControls ) {\n let targetControlValue;\n for( let i = 0; i < targetControls.length; i++ ) {\n if( targetControls[i].type == 'checkbox' && targetControls[i].name ) {\n if( ! targetControlValue ) targetControlValue = {};\n if( targetControls[i].checked == true ) {\n targetControlValue[targetControls[i].name] = 'checked';\n } else {\n targetControlValue[targetControls[i].name] = 'unchecked';\n }\n } else if( targetControls[i].type == 'checkbox' ) {\n if( targetControls[i].checked == true ) {\n targetControlValue = 'checked';\n } else {\n targetControlValue = 'unchecked';\n }\n } else if( targetControls[i].type ) {\n targetControlValue = targetControls[i].value;\n } else if( targetControls[i].dataset.alignmentValue && targetControls[i].classList.contains( 'selected' ) ){\n targetControlValue = targetControls[i].dataset.alignmentValue;\n }\n }\n return targetControlValue;\n },\n //\n elementControlsStateCopy: function( elementProt, copyElem ) {\n if( elementProt && copyElem ) {\n let infArrProt = elementProt.className.match( /wptb-element-((.+-)\\d+)/i );\n let infArrCopy = copyElem.className.match( /wptb-element-((.+-)\\d+)/i );\n if( infArrProt && Array.isArray( infArrProt ) &&\n infArrCopy && Array.isArray( infArrCopy )) {\n let elemProtKind = infArrProt[1];\n let elemCopyKind = infArrCopy[1];\n let elementsSettingsTemplateJs = document.getElementsByClassName( 'wptb-element-datas' );\n if( elementsSettingsTemplateJs.length > 0 ) {\n elementsSettingsTemplateJs = elementsSettingsTemplateJs[0];\n\n let elementsSettings = elementsSettingsTemplateJs.innerHTML;\n if( elementsSettings ) {\n elementsSettings = elementsSettings.trim();\n elementsSettings = JSON.parse( elementsSettings );\n\n if( elementsSettings && typeof elementsSettings === 'object' ) {\n let elementSettingsProt = elementsSettings['tmpl-wptb-el-datas-' + elemProtKind];\n if( elementSettingsProt && typeof elementSettingsProt === 'object' ) {\n let elementSettingsCopy = {};\n\n Object.keys( elementSettingsProt ).forEach( function( key ) {\n let elementSettingValue = elementSettingsProt[key];\n let elementSettingKeyCopy = key.replace( elemProtKind, elemCopyKind );\n elementSettingsCopy[elementSettingKeyCopy] = elementSettingValue;\n });\n\n if( Object.keys( elementSettingsCopy ).length > 0 ) {\n elementsSettings['tmpl-wptb-el-datas-' + elemCopyKind] = elementSettingsCopy;\n\n elementsSettings = JSON.stringify( elementsSettings );\n elementsSettingsTemplateJs.innerHTML = elementsSettings;\n }\n }\n }\n }\n }\n }\n }\n },\n //\n elementControlsStateDelete: function( element, nameControl ) {\n let infArr = element.className.match( /wptb-element-(.+)-(\\d+)/i );\n let body = document.getElementsByTagName( 'body' )[0];\n let wptbElementDatas = body.getElementsByClassName( 'wptb-element-datas' );\n if( infArr && Array.isArray( infArr ) && wptbElementDatas.length > 0 ) {\n wptbElementDatas = wptbElementDatas[0];\n let elementsSettings = wptbElementDatas.innerHTML;\n if( elementsSettings ) {\n elementsSettings = elementsSettings.trim();\n elementsSettings = JSON.parse( elementsSettings );\n if( elementsSettings && typeof elementsSettings === 'object' &&\n ( ( 'tmpl-wptb-el-datas-' + infArr[1] + '-' + infArr[2] ) in elementsSettings ) ) {\n if( ! nameControl ) {\n delete elementsSettings['tmpl-wptb-el-datas-' + infArr[1] + '-' + infArr[2]];\n } else {\n if( elementsSettings['tmpl-wptb-el-datas-' + infArr[1] + '-' + infArr[2]] &&\n typeof elementsSettings['tmpl-wptb-el-datas-' + infArr[1] + '-' + infArr[2]] === 'object' &&\n ( 'data-wptb-el-' + infArr[1] + '-' + infArr[2] + '-' + nameControl ) in elementsSettings['tmpl-wptb-el-datas-' + infArr[1] + '-' + infArr[2]] ) {\n delete elementsSettings['tmpl-wptb-el-datas-' + infArr[1] + '-' + infArr[2]]['data-wptb-el-' + infArr[1] + '-' + infArr[2] + '-' + nameControl];\n }\n }\n\n if( Object.keys( elementsSettings ).length == 0 ) {\n body.removeChild( wptbElementDatas );\n } else {\n elementsSettings = JSON.stringify( elementsSettings );\n wptbElementDatas.innerHTML = elementsSettings;\n }\n }\n }\n }\n },\n //\n elementOptionsSet: function( kind, element, valueDependOnControl, targetControlElementClass ) {\n // get controls config for this element\n let wptbContrlStacksConfigId = 'wptb-' + kind + '-control-stack';\n let tmplControlsConfig = wp.template( wptbContrlStacksConfigId );\n let data;\n let elementContainerClass;\n let elementOptionClassIndic;\n let elementOptionsGroup;\n\n let controlElementParent;\n let elementOptionsScriptsContainer;\n\n let infArr = element.className.match( /wptb-element-((.+-)\\d+)/i );\n if( ! infArr ) {\n let table_id = WPTB_Helper.detectMode();\n if (!table_id) {\n table_id = 'startedid-0';\n }\n if( element.classList.contains( 'wptb-preview-table' ) ) {\n element.classList.add( 'wptb-element-main-table_setting-' + table_id );\n } else if( element.classList.contains( 'wptb-cell' ) ) {\n let cellEditActiveClass = document.querySelector('.wptb-element-table_cell_setting-' + element.dataset.xIndex + '-' + element.dataset.yIndex);\n if( ! cellEditActiveClass ) element.classList.add('wptb-element-table_cell_setting-' + element.dataset.xIndex + '-' + element.dataset.yIndex);\n }else if (element.classList.contains('wptb-responsive')){\n // if table id parsed from url is starting with 'wptb-team', it means it is team built prebuilt table with a unique id that doesn't fit infArr match regex, in that case, use default id for elements options\n if(table_id.startsWith('wptb_team')){\n table_id = 'startedid-0';\n }\n element.classList.add('wptb-element-table_responsive_setting-' + table_id);\n }\n\n infArr = element.className.match( /wptb-element-((.+-)\\d+)/i );\n } else {\n WPTB_Helper.editActionClassRemove();\n element.classList.add('edit-active');\n }\n\n data = {\n container: '.' + infArr[0]\n };\n let controlName;\n data.valueDependOnControl = {};\n if(valueDependOnControl) {\n Object.keys(valueDependOnControl).forEach(function (key) {\n data.valueDependOnControl[key] = valueDependOnControl[key];\n });\n }\n if(targetControlElementClass) {\n let infArr = targetControlElementClass.match(/wptb-el-((.+-)\\d+)-(.+)/i);\n\n if (infArr && Array.isArray(infArr)) {\n controlName = infArr[3];\n }\n }\n\n elementContainerClass = infArr[0];\n elementOptionClassIndic = infArr[1];\n\n if( element.classList.contains( 'wptb-preview-table' ) ) {\n\n } else if( element.classList.contains( 'wptb-cell' ) ) {\n this.activateSection('cell_settings');\n }else if (element.classList.contains('wptb-responsive')){\n elementOptionsGroupId = 'table-responsive-group';\n wptbelementOptionClass = 'wptb-element-option';\n }\n else {\n let children = document.getElementById( 'element-options-group' ).childNodes;\n for ( let i = 0; i < children.length; i++) {\n if ( children[i].style )\n children[i].style.display = 'none';\n }\n this.activateSection('options_group');\n }\n\n let controlsConfigJson = tmplControlsConfig( data );\n let controlsConfig = JSON.parse( controlsConfigJson );\n\n let elementOptionsGroupIdsInvolved = [],\n elementOptionsGroupInvolved = {},\n elementOptionsContainerInvolved = {};\n\n // object for save all scrips for each controls\n let controlScriptsObj = {};\n\n // array for keep \"appear depend on\" params\n let controlappearDependOnControl = [];\n\n // array for keep \"value depend on\" params\n let controlValueDependOnControl = [];\n\n // create controls\n let elementOptionsScriptsContainerIndic = false;\n if(controlName) {\n let controlsConfigNew = {};\n controlsConfigNew[controlName] = controlsConfig[controlName];\n controlsConfig = controlsConfigNew;\n }\n let i = 0;\n Object.keys( controlsConfig ).forEach( function( key ) {\n let data = controlsConfig[key];\n data.controlKey = key;\n\n // get necessary wp js template\n let tmplControlTemplate = wp.template( 'wptb-' + data.type + '-control' );\n\n data.elemContainer = elementContainerClass;\n data.elementControlTargetUnicClass = 'wptb-el-' + elementOptionClassIndic + '-' + data.controlKey;\n Object.keys(data).map(k => {\n if (Object.prototype.hasOwnProperty.call(data, k) && data[k] === 'control_param_calculate_value') {\n data[k] = WPTB_Helper.controlParamCalculateValue(data.elementControlTargetUnicClass, k);\n }\n });\n let controlTemplate = tmplControlTemplate( data );\n if( 'appearDependOnControl' in data ) {\n if( Array.isArray( data.appearDependOnControl ) ) {\n controlappearDependOnControl.push( [data.appearDependOnControl, data.elementControlTargetUnicClass] );\n }\n }\n\n if('valueDependOnControl' in data && !valueDependOnControl && !targetControlElementClass) {\n let valueDependOnControlCorrect = '';\n if(data.valueDependOnControlCorrect) valueDependOnControlCorrect = data.valueDependOnControlCorrect;\n controlValueDependOnControl.push([data.valueDependOnControl, data.elementControlTargetUnicClass, valueDependOnControlCorrect]);\n }\n\n function elementOptionsContainerInvolvedGet(elementOptionsGroupId, elementOptionsContainerInvolved) {\n if(!elementOptionsContainerInvolved[elementOptionsGroupId]){\n let elementOptionsContainer = document.createElement( 'div' );\n elementOptionsContainer.classList.add( 'wptb-element-options', 'wptb-options-' + infArr[1] );\n document.getElementById( elementOptionsGroupId ).appendChild(elementOptionsContainer);\n elementOptionsContainerInvolved[elementOptionsGroupId] = elementOptionsContainer;\n }\n\n return elementOptionsContainerInvolved[elementOptionsGroupId];\n }\n\n if(elementOptionsGroupIdsInvolved.indexOf(data.elementOptionsGroupId) == -1 && !controlName) {\n elementOptionsGroupIdsInvolved.push(data.elementOptionsGroupId);\n // clear elements from options group\n //document.getElementById( 'element-options-group' ).innerHTML = '';\n elementOptionsGroup = document.getElementById(data.elementOptionsGroupId);\n let elementOptionsGroupChildren = [...elementOptionsGroup.children];\n for( let i = 0; i < elementOptionsGroupChildren.length; i++ ) {\n elementOptionsGroup.removeChild( elementOptionsGroupChildren[i] );\n }\n elementOptionsGroupInvolved[data.elementOptionsGroupId] = elementOptionsGroup;\n }\n\n controlElementParent = elementOptionsGroupInvolved[data.elementOptionsGroupId];\n\n if(data.elementOptionsContainerOn === 'true' && !controlName) {\n controlElementParent = elementOptionsContainerInvolvedGet(data.elementOptionsGroupId, elementOptionsContainerInvolved);\n }\n\n\n if(data.elementOptionContainerOn === 'true') {\n let elementOptionContainer = document.createElement( 'div' );\n elementOptionContainer.classList.add( data.elementOptionClass, 'wptb-settings-items' );\n\n if( data.customClassForContainer ) {\n elementOptionContainer.classList.add( data.customClassForContainer );\n }\n\n if( data.containerAdditionalStyles ) {\n elementOptionContainer.setAttribute( 'style', data.containerAdditionalStyles );\n }\n\n if(targetControlElementClass) {\n let targetControlElement = document.getElementsByClassName( targetControlElementClass );\n if( targetControlElement.length > 0 ) {\n targetControlElement = targetControlElement[0];\n let controlContainerElem = WPTB_Helper.findAncestor(targetControlElement, 'wptb-element-option');\n\n if (controlContainerElem) {\n let controlContainerElemParent = controlContainerElem.parentNode;\n controlContainerElemParent.insertBefore(elementOptionContainer, controlContainerElem);\n controlContainerElemParent.removeChild(controlContainerElem);\n }\n }\n } else {\n controlElementParent.appendChild( elementOptionContainer );\n }\n controlElementParent = elementOptionContainer;\n }\n controlElementParent.innerHTML = controlElementParent.innerHTML + controlTemplate;\n\n let helperJavascriptElem = controlElementParent.getElementsByTagName( 'wptb-template-script' );\n if( helperJavascriptElem.length > 0 ) {\n helperJavascriptElem = helperJavascriptElem[0];\n let helperJavascriptCode = helperJavascriptElem.innerText;\n controlElementParent.removeChild( helperJavascriptElem );\n let script = document.createElement( 'script' );\n script.setAttribute( 'type', 'text/javascript' );\n script.setAttribute('id', kind + '-' + data.controlKey);\n script.innerHTML = helperJavascriptCode.replace(/\\r|\\n|\\t/g, '').trim();\n if(!controlScriptsObj[data.elementOptionsGroupId] || !Array.isArray(controlScriptsObj[data.elementOptionsGroupId])) {\n controlScriptsObj[data.elementOptionsGroupId] = [];\n }\n controlScriptsObj[data.elementOptionsGroupId].push( script );\n }\n\n i++;\n });\n\n element.optionsGroupIds = elementOptionsGroupIdsInvolved;\n\n Object.keys( controlScriptsObj ).forEach( function( elementOptionsGroupId ) {\n if(!targetControlElementClass) {\n elementOptionsScriptsContainer = document.createElement( 'div' );\n elementOptionsScriptsContainer.classList.add( 'wptb-element-options-scripts', 'wptb-options-' + infArr[1] );\n elementOptionsGroupInvolved[elementOptionsGroupId].appendChild(elementOptionsScriptsContainer);\n }\n\n let controlScriptsArr = controlScriptsObj[elementOptionsGroupId];\n if( controlScriptsArr.length > 0 ) {\n for( let i = 0; i < controlScriptsArr.length; i++ ) {\n if(targetControlElementClass) {\n let id = kind + '-' + controlName;\n let script = document.getElementById(id);\n elementOptionsScriptsContainer = script.parentNode;\n elementOptionsScriptsContainer.insertBefore(controlScriptsArr[i], script);\n elementOptionsScriptsContainer.removeChild(script);\n } else {\n elementOptionsScriptsContainer.appendChild(controlScriptsArr[i]);\n }\n }\n }\n });\n\n // run the scripts of controls\n\n // run appearDependOnControl function\n for ( let i = 0; i < controlappearDependOnControl.length; i++ ) {\n WPTB_Helper.appearDependOnControl( controlappearDependOnControl[i][0], controlappearDependOnControl[i][1] );\n }\n\n WPTB_Helper.wptbDocumentEventGenerate( 'element:controls:active', element );\n // run valueDependOnControl function\n for (let i = 0; i < controlValueDependOnControl.length; i++) {\n WPTB_Helper.valueDependOnControl(controlValueDependOnControl[i][0], controlValueDependOnControl[i][1], controlValueDependOnControl[i][2], kind, element);\n }\n\n },\n\n /**\n * remove edit-action classes from wptb-ph-element elements\n */\n editActionClassRemove: function () {\n let editActiveElems = document.querySelectorAll('.edit-active');\n for (let i = 0; i < editActiveElems.length; i++) {\n editActiveElems[i].classList.remove('edit-active');\n }\n },\n\n /**\n *\n * @param unicClass\n * @param controlKey\n * @param key\n * @returns {*}\n */\n controlParamCalculateValue: function(unicClass, key) {\n let unicClassP = WPTB_Helper.replaceAll(unicClass, '-', '_');\n if (window['paramCalculateValue_' + unicClassP + '_' + key] && typeof (window['paramCalculateValue_' + unicClassP + '_' + key]) === \"function\") {\n return window['paramCalculateValue_' + unicClassP + '_' + key]();\n }\n },\n\n controlParamCalculateValueCreateFunction: function(element, controlKey, key, handlerFunction) {\n const infArr = element.className.match( /wptb-element-((.+-)\\d+)/i );\n const unicClass = 'wptb-el-' + infArr[1] + '-' + controlKey;\n let unicClassP = WPTB_Helper.replaceAll(unicClass, '-', '_');\n window['paramCalculateValue_' + unicClassP + '_' + key] = function () {\n return handlerFunction(element);\n };\n },\n\n /**\n * function for create, update css for element\n *\n * @param elementContainer\n * @param selector\n * @param cssName\n * @param cssValue\n */\n managerExternalCssStyles: function( elementContainer, selector, cssName, cssValue ) {\n let infArr = elementContainer.match( /wptb-element-main(.+)-(\\d+)/i );\n if( ! infArr || ! Array.isArray( infArr ) ) {\n let table = document.getElementsByClassName( 'wptb-preview-table' );\n\n if( table.length > 0 ) {\n table = table[0];\n\n let infArr = table.className.match( /wptb-element-main(.+)-(\\d+)/i );\n if( infArr && Array.isArray( infArr ) ) {\n selector = '.' + infArr[0] + ' ' + selector;\n }\n }\n }\n\n let head = document.head;\n if( head ) {\n let cssForThisElement = head.querySelector( '#styles-' + elementContainer );\n if( cssForThisElement ) {\n let cssText = cssForThisElement.innerHTML;\n if( cssText ) {\n let cssTextArrFirst = cssText.split( '}' );\n cssTextArrFirst.pop();\n let selectorExists = false;\n for( let i = 0; i < cssTextArrFirst.length; i++ ) {\n let cssTextArrSecond = cssTextArrFirst[i].split( '{' );\n if( cssTextArrSecond[0] === selector ) {\n let cssTextArrThird = cssTextArrSecond[1].split( ';' );\n cssTextArrThird.pop();\n let cssNameExists = false;\n for( let j = 0; j < cssTextArrThird.length; j++ ) {\n let cssTextArrFourth = cssTextArrThird[j].split( ':' );\n if( cssTextArrFourth[0] === cssName ) {\n if( cssValue ) {\n cssTextArrThird[j] = cssName + ':' + cssValue;\n } else {\n cssTextArrThird.splice( j, 1 );\n }\n\n cssTextArrSecond[1] = cssTextArrThird.join( ';' ) ? cssTextArrThird.join( ';' ) + ';' : '';\n cssNameExists = true;\n break;\n }\n }\n if( ! cssNameExists ) {\n if( cssValue ) {\n cssTextArrSecond[1] += cssName + ':' + cssValue + ';';\n }\n }\n if( cssTextArrSecond[1] ) {\n cssTextArrFirst[i] = cssTextArrSecond[0] + '{' + cssTextArrSecond[1]\n } else {\n cssTextArrFirst.splice( i, 1 );\n }\n if( cssTextArrFirst.join( '}' ) ) {\n cssForThisElement.innerHTML = cssTextArrFirst.join( '}' ) + '}';\n } else {\n head.removeChild( cssForThisElement );\n }\n\n selectorExists = true;\n break;\n }\n }\n\n if( ! selectorExists ) {\n if( cssValue ) {\n cssForThisElement.innerHTML = cssText + selector + '{' + cssName + ':' + cssValue + ';}';\n } else {\n cssForThisElement.innerHTML = cssText;\n }\n }\n } else {\n if( cssValue ) {\n cssForThisElement.innerHTML = selector + '{' + cssName + ':' + cssValue + ';}';\n } else {\n head.removeChild( cssForThisElement );\n }\n }\n } else {\n if( cssValue ) {\n let cssForThisElement = document.createElement( 'style' );\n cssForThisElement.setAttribute( 'id', 'styles-' + elementContainer );\n cssForThisElement.classList.add( 'styles-wptb-elements' );\n cssForThisElement.innerHTML = selector + '{' + cssName + ':' + cssValue + ';}';\n head.appendChild( cssForThisElement );\n }\n }\n }\n },\n /**\n *\n * Register section parts for sidebar\n *\n * @param {array} sections an array of section names\n */\n registerSections(sections) {\n this.sections = {};\n this.currentSection = '';\n if (!Array.isArray(sections)) {\n sections = [sections];\n }\n\n sections.map(s => {\n const sectionElement = document.querySelector(`[data-wptb-section=${s}]`);\n if (sectionElement) {\n this.sections[s] = sectionElement;\n }\n })\n },\n /**\n * Activate a registered section and deactivates others\n *\n * @param {string} sectionDataId section name to be activated\n * @param {string} displayType display type override for section to be used in its display style property\n */\n activateSection(sectionDataId, displayType = 'block') {\n this.currentSection=sectionDataId;\n this.triggerSectionEvent(sectionDataId);\n Object.keys(this.sections).map(k => {\n if (Object.prototype.hasOwnProperty.call(this.sections, k)) {\n const visibility = sectionDataId === k ? displayType : 'none';\n this.sections[k].style = `display: ${visibility} !important`;\n }\n })\n },\n /**\n * Get id of current active section\n *\n * @returns {string} active section i\n */\n getCurrentSection(){\n return this.currentSection;\n },\n /**\n * Get current section from search parameter 'wptb-builder-section' of window location\n */\n getSectionFromUrl(){\n const parsedUrl = new URL(window.location.href);\n const urlSection = parsedUrl.searchParams.get('wptb-builder-section');\n if(urlSection){\n if(Object.keys(this.sections).some(key => key===urlSection)){\n this.activateSection(urlSection);\n }\n }\n },\n /**\n * Set up related buttons and links to trigger certain elements\n */\n setupSectionButtons() {\n const sectionButtons = Array.from( document.querySelectorAll('[data-wptb-section-button'));\n const vm = this;\n\n sectionButtons.map(s => {\n const sectionName = s.dataset.wptbSectionButton;\n s.addEventListener('click', function() {\n const displayType = s.dataset.wptbSectionDisplayType;\n vm.activateSection(sectionName, displayType);\n WPTB_Helper.editActionClassRemove();\n })\n\n document.addEventListener('wptbSectionChanged', (e)=> {\n if(e.detail === sectionName){\n s.classList.remove('disabled');\n s.classList.add('active');\n }else{\n s.classList.remove('active');\n s.classList.add('disabled');\n }\n })\n })\n },\n setupPanelToggleButtons(){\n const $ = jQuery;\n\n $('.wptb-panel-toggle-group').each(function(){\n const vm = $(this);\n $(this).find('.toggle-icon').click(() => {\n vm.find('.wptb-panel-toggle-target').slideToggle();\n vm.toggleClass('wptb-panel-toggle-content');\n })\n })\n },\n /**\n * Trigger a section change event\n *\n * @param {string} sectionName section name\n */\n triggerSectionEvent(sectionName){\n const sectionEvent = new CustomEvent('wptbSectionChanged', {detail: sectionName});\n\n document.dispatchEvent(sectionEvent);\n },\n /**\n * Setup sidebar toggle element\n *\n * @param {string} toggleSelector query selector for drawer toggle element\n */\n setupSidebarToggle(toggleSelector){\n const toggleButton = document.querySelector(toggleSelector);\n if(toggleButton){\n toggleButton.addEventListener('click', (e)=>{\n e.preventDefault();\n document.body.classList.toggle('collapsed');\n })\n }\n },\n // function for deleting all external CSS for the element\n externalCssStylesDelete: function( elementContainerClass ) {\n let head = document.head;\n if( head ) {\n let cssForThisElement = head.querySelector( '#styles-' + elementContainerClass );\n\n if( cssForThisElement ) {\n head.removeChild( cssForThisElement );\n }\n }\n },\n // function for copy all external CSS for the element\n externalCssStylesCopy: function( activeElement, copyElement ) {\n if( activeElement ) {\n let infArr = activeElement.className.match( /wptb-element-(.+)-(\\d+)/i );\n if( infArr && Array.isArray( infArr ) ) {\n let activeElemClass = infArr[0];\n\n let head = document.head;\n if( head ) {\n let cssForActiveElement = head.querySelector( '#styles-' + activeElemClass );\n\n if( cssForActiveElement ) {\n let cssForNewElement = cssForActiveElement.cloneNode( true );\n\n cssForNewElement.removeAttribute( 'id', 'styles-' + activeElemClass );\n\n let infArrCopyEl = copyElement.className.match( /wptb-element-(.+)-(\\d+)/i );\n if( infArrCopyEl && Array.isArray( infArrCopyEl ) ) {\n cssForNewElement.setAttribute( 'id', 'styles-' + infArrCopyEl[0] );\n let cssForActiveElementInnerHTML = cssForActiveElement.innerHTML;\n let cssForNewElementInnerHTML = WPTB_Helper.replaceAll( cssForActiveElementInnerHTML, activeElemClass, infArrCopyEl[0] );\n cssForNewElement.innerHTML = cssForNewElementInnerHTML;\n head.appendChild( cssForNewElement );\n }\n }\n }\n }\n }\n },\n // function for convertation elements stiles in json\n elementsStylesConvertToObject: function() {\n let head = document.head;\n let stylesElements = head.querySelectorAll( '.styles-wptb-elements' );\n let stylesObj = {};\n for( let i = 0; i < stylesElements.length; i++ ) {\n let styleElemId = stylesElements[i].getAttribute( 'id' );\n if( styleElemId && stylesElements[i].innerHTML ) {\n stylesObj[styleElemId] = stylesElements[i].innerHTML;\n }\n }\n\n if( Object.keys( stylesObj ).length != 0 ) {\n return JSON.stringify( stylesObj );\n }\n return '';\n },\n // function for set scc styles tags to head\n elementsStylesSetFromObject: function( jsonObject ) {\n let head = document.head;\n if( head ) {\n let stylesElements = head.querySelectorAll( '.styles-wptb-elements' );\n if( stylesElements.length > 0 ) {\n stylesElements = [...stylesElements];\n for( let i = 0; i < stylesElements.length; i++ ) {\n head.removeChild( stylesElements[i] );\n }\n }\n if( jsonObject ) {\n let stylesObj = JSON.parse( jsonObject );\n if( Object.keys( stylesObj ).length != 0 ) {\n Object.keys( stylesObj ).forEach( function( key ) {\n let cssText = stylesObj[key];\n let styleCss = document.createElement( 'style' );\n styleCss.setAttribute( 'id', key );\n styleCss.classList.add( 'styles-wptb-elements' );\n styleCss.innerHTML = cssText;\n head.appendChild( styleCss );\n });\n }\n }\n }\n },\n // function for table saving\n saveTable: function( event, startSaving, previewSaving ) {\n if( ! previewSaving && ! startSaving ) {\n if( ( ! event.target.dataset.wptbTableStateNumberSave && window.wptbTableStateNumberShow == 0 ) ||\n window.wptbTableStateNumberShow == event.target.dataset.wptbTableStateNumberSave ) {\n //return;\n }\n }\n\n if( ! previewSaving ) {\n let bar = document.querySelector( '.wptb-edit-bar' );\n if ( bar && bar.classList.contains( 'visible' ) ) {\n let table = document.getElementsByClassName( 'wptb-preview-table' )[0];\n WPTB_Helper.toggleTableEditMode();\n }\n }\n\n // before save event trigger\n WPTB_Helper.wptbDocumentEventGenerate('wptb:save:before', document);\n\n let http = new XMLHttpRequest(),\n url = ( wptb_admin_object ? wptb_admin_object.ajaxurl : ajaxurl ) + \"?action=save_table\",\n t = document.getElementById( 'wptb-setup-name' ).value.trim(),\n messagingArea,\n code,\n datas;\n\n code = document.getElementsByClassName( 'wptb-preview-table' );\n\n let postId;\n if (( rs = WPTB_Helper.detectMode() ) || ( rs = document.wptbId )) {\n postId = rs;\n }\n let paramIdsNecessaryChange = false;\n if( code.length > 0 ) {\n code = code[0];\n let codeClone = code.cloneNode( true );\n if( postId ) {\n if( codeClone.classList.contains( 'wptb-element-main-table_setting-startedid-0' ) ) {\n codeClone.classList.remove( 'wptb-element-main-table_setting-startedid-0' );\n codeClone.classList.add( 'wptb-element-main-table_setting-' + postId );\n let wptbTableSetup = document.querySelector('.wptb-table-setup');\n if(wptbTableSetup) {\n wptbTableSetup.innerHTML = '';\n wptbTableSetup.appendChild(codeClone);\n WPTB_Table();\n }\n paramIdsNecessaryChange = true;\n }\n }\n codeClone.columns = code.columns;\n code = WPTB_Stringifier( codeClone );\n code = code.outerHTML;\n } else {\n code = '';\n }\n\n if( ! previewSaving ) {\n datas = '';\n let datas_containers = document.getElementsByClassName( 'wptb-element-datas' );\n\n if( datas_containers.length > 0 ) {\n if( datas_containers[0].innerHTML ) {\n datas = datas_containers[0].innerHTML;\n\n if( paramIdsNecessaryChange ) {\n datas = WPTB_Helper.replaceAll( datas, 'tmpl-wptb-el-datas-main-table_setting-startedid-0',\n 'tmpl-wptb-el-datas-main-table_setting-' + postId );\n\n datas = WPTB_Helper.replaceAll( datas, 'data-wptb-el-main-table_setting-startedid-0',\n 'data-wptb-el-main-table_setting-' + postId );\n }\n }\n }\n }\n\n let styleObjJson = WPTB_Helper.elementsStylesConvertToObject();\n if( paramIdsNecessaryChange ) {\n styleObjJson = WPTB_Helper.replaceAll( styleObjJson, '.wptb-element-main-table_setting-startedid-0',\n '.wptb-element-main-table_setting-' + postId );\n }\n\n if ( t === '' && code === '' ) {\n let messagingAreaText = '';\n if( t === '' ) messagingAreaText += 'You must assign a name to the table before saving it.</br>';\n if( code === '' ) messagingAreaText += 'Table wasn\\'t created';\n messagingArea = document.getElementById( 'wptb-messaging-area' );\n messagingArea.innerHTML = '<div class=\"wptb-error wptb-message\">Error: ' + messagingAreaText + '</div>';\n messagingArea.classList.add( 'wptb-warning' );\n setTimeout(function () {\n messagingArea.removeChild( messagingArea.firstChild );\n }, 4000 );\n return;\n }\n\n let params = {\n title: t,\n content: code,\n elements_datas: datas,\n elements_styles: styleObjJson,\n security_code: wptb_admin_object.security_code\n };\n\n\n if( previewSaving ) {\n params.preview_saving = previewSaving;\n }\n\n if ( postId ) {\n params.id = postId;\n }\n\n // wptb save before event\n WPTB_Helper.wptbDocumentEventGenerate('wptb:save:before', document, params);\n\n params = JSON.stringify( params );\n\n http.open('POST', url, true);\n\n http.setRequestHeader( 'Content-type', 'application/json; charset=utf-8' );\n\n http.onreadystatechange = function ( action ) {\n if ( this.readyState == 4 && this.status == 200 ) {\n var data = JSON.parse( http.responseText );\n messagingArea = document.getElementById( 'wptb-messaging-area' );\n\n if ( data[0] == 'saved' ) {\n let builderPageUrl = document.location.href.replace( '#', '' );\n let regex = new RegExp( '&table=(.+)', \"i\" );\n builderPageUrl = builderPageUrl.replace( regex, '' );\n window.history.pushState( null, null, builderPageUrl + '&table=' + data[1] );\n\n document.wptbId = data[1];\n messagingArea.innerHTML = '<div class=\"wptb-success wptb-message\">Table \"' + t + '\" was successfully saved.</div>';\n document.getElementsByClassName( 'wptb-embed-btn' )[0].classList.remove( 'wptb-button-disable' );\n document.getElementById( 'wptb-embed-shortcode' ).value = '[wptb id=' + data[1] + ']';\n let wptbPreviewTable = document.querySelector( '.wptb-preview-table' );\n let wptbPreviewBtn = document.getElementsByClassName( 'wptb-preview-btn' );\n if( wptbPreviewBtn.length > 0 ) {\n wptbPreviewBtn = wptbPreviewBtn[0];\n wptbPreviewBtn.classList.remove( 'wptb-button-disable' );\n let wptbPreviewBtnHref = wptbPreviewBtn.dataset.previewHref;\n wptbPreviewBtnHref = wptbPreviewBtnHref.replace( 'empty', data[1] );\n wptbPreviewBtn.setAttribute( 'href', wptbPreviewBtnHref );\n }\n\n event.target.dataset.wptbTableStateNumberSave = window.wptbTableStateNumberShow;\n let wptbSaveBtn = document.getElementsByClassName( 'wptb-save-btn' );\n if( wptbSaveBtn.length > 0 ) {\n wptbSaveBtn = wptbSaveBtn[0];\n wptbSaveBtn.classList.add( 'wptb-save-disabled' );\n wptbSaveBtn.classList.remove('active');\n }\n // WPTB_Helper.saveTable( event, true );\n return;\n } else if( data[0] == 'edited' && startSaving ) {\n document.wptbId = data[1];\n messagingArea.innerHTML = '<div class=\"wptb-success wptb-message\">Table \"' + t + '\" was successfully saved.</div>';\n document.getElementsByClassName( 'wptb-embed-btn' )[0].classList.remove( 'wptb-button-disable' );\n document.getElementById( 'wptb-embed-shortcode' ).value = '[wptb id=' + data[1] + ']';\n let wptbPreviewTable = document.querySelector( '.wptb-preview-table' );\n let wptbPreviewBtn = document.getElementsByClassName( 'wptb-preview-btn' );\n if( wptbPreviewBtn.length > 0 ) {\n wptbPreviewBtn = wptbPreviewBtn[0];\n wptbPreviewBtn.classList.remove( 'wptb-button-disable' );\n let wptbPreviewBtnHref = wptbPreviewBtn.dataset.previewHref;\n wptbPreviewBtnHref = wptbPreviewBtnHref.replace( 'empty', data[1] );\n wptbPreviewBtn.setAttribute( 'href', wptbPreviewBtnHref );\n }\n\n event.target.dataset.wptbTableStateNumberSave = window.wptbTableStateNumberShow;\n let wptbSaveBtn = document.getElementsByClassName( 'wptb-save-btn' );\n if( wptbSaveBtn.length > 0 ) {\n wptbSaveBtn = wptbSaveBtn[0];\n wptbSaveBtn.classList.add( 'wptb-save-disabled' );\n wptbSaveBtn.classList.remove('active');\n }\n } else if( data[0] == 'edited' ) {\n messagingArea.innerHTML = '<div class=\"wptb-success wptb-message\">Table \"' + t + '\" was successfully updated.</div>';\n event.target.dataset.wptbTableStateNumberSave = window.wptbTableStateNumberShow;\n\n let wptbSaveBtn = document.getElementsByClassName( 'wptb-save-btn' );\n if( wptbSaveBtn.length > 0 ) {\n wptbSaveBtn = wptbSaveBtn[0];\n wptbSaveBtn.classList.add( 'wptb-save-disabled' );\n wptbSaveBtn.classList.remove('active');\n }\n } else if( data[0] == 'preview_edited' ) {\n return;\n } else {\n messagingArea.innerHTML = '<div class=\"wptb-error wptb-message\">Safety problems</div>';\n }\n messagingArea.classList.add( 'wptb-success' );\n setTimeout( function () {\n messagingArea.removeChild( messagingArea.firstChild );\n }, 4000 );\n }\n }\n http.send( params );\n },\n //\n clickOnFreeSpace: function() {\n WPTB_Helper.editActionClassRemove();\n // if current active section is responsive menu, ignore this functionality\n if(this.getCurrentSection() === 'table_responsive_menu'){\n return;\n }\n\n let cellModeBackground = document.querySelector( '#wptb-cell_mode_background' );\n if( cellModeBackground && cellModeBackground.classList.contains( 'visible' ) ) {\n return;\n }\n // document.getElementsByClassName( 'wptb-elements-container' )[0].style.display = 'table';\n // document.getElementsByClassName( 'wptb-settings-section' )[0].style.display = 'block';\n // document.getElementById( 'element-options-group' ).style.display = 'none';\n this.activateSection('elements');\n\n let wpcdFixedToolbar = document.getElementById( 'wpcd_fixed_toolbar' );\n if( wpcdFixedToolbar.hasAttribute( 'data-toolbar-active-id' ) ) {\n document.getElementById( wpcdFixedToolbar.getAttribute( 'data-toolbar-active-id' ) ).classList.remove( 'toolbar-active' );\n }\n let element = document.querySelector( '.wptb-preview-table' );\n if( element ) {\n WPTB_Helper.elementOptionsSet( 'table_setting', element );\n }\n },\n\n /*\n * function for sending of element ajax request\n */\n elementAjax: function( dataAjaxData, element ) {\n let http = new XMLHttpRequest(),\n url = ( wptb_admin_object ? wptb_admin_object.ajaxurl : ajaxurl ) + \"?action=wptb_element_ajax\";\n let element_name;\n let infArr = element.className.match( /wptb-element-(.+)-(\\d+)/i );\n if( infArr && Array.isArray( infArr ) ) {\n element_name = infArr[1];\n }\n\n let params = {\n element_ajax_data: dataAjaxData,\n element_name: element_name,\n security_code: wptb_admin_object.security_code\n };\n params = JSON.stringify( params );\n\n http.open( 'POST', url, true );\n http.setRequestHeader( 'Content-type', 'application/json; charset=utf-8' );\n\n http.onreadystatechange = function ( action ) {\n if ( this.readyState == 4 && this.status == 200 ) {\n var data = JSON.parse( http.responseText );\n let detail;\n if ( data && Array.isArray( data ) && data[0] == 'element_ajax_responce' ) {\n detail = {value: data[1]};\n } else {\n detail = '';\n }\n WPTB_Helper.wptbDocumentEventGenerate( 'wptb-element:ajax-response', element, detail );\n }\n }\n http.send( params );\n },\n\n /*\n * This just toggles visibility of cell edit bar, and toggles\n * cell selecting mode.\n */\n toggleTableEditMode: function ( close = false ) {\n let bar = document.getElementsByClassName('wptb-edit-bar'),\n cellModeBackground = document.getElementById('wptb-cell_mode_background'),\n leftScrollPanelCurtain = document.getElementById('wptb-left-scroll-panel-curtain'),\n leftScrollPanelCellSettings = document.getElementById( 'wptb-left-scroll-panel-cell-settings' ),\n wptbPreviewTable = document.getElementsByClassName('wptb-preview-table');\n if (wptbPreviewTable.length > 0) {\n wptbPreviewTable = wptbPreviewTable[0];\n }\n\n if ( bar.length > 0 ) {\n let toggleEditMode = '';\n for ( let i = 0; i < bar.length; i++ ) {\n if ( bar[i].classList.contains( 'visible' ) ) {\n document.select.deactivateMultipleSelectMode();\n bar[i].classList.remove( 'visible' );\n cellModeBackground.classList.remove( 'visible' );\n leftScrollPanelCurtain.classList.remove( 'visible' );\n leftScrollPanelCellSettings.classList.remove( 'visible' );\n wptbPreviewTable.parentNode.classList.remove( 'wptb-preview-table-manage-cells' );\n let wptbPreviewTableTds = wptbPreviewTable.getElementsByTagName( 'td' );\n if ( wptbPreviewTableTds.length > 0 ) {\n for ( let i = 0; i < wptbPreviewTableTds.length; i++ ) {\n wptbPreviewTableTds[i].classList.remove( 'wptb-highlighted' );\n }\n }\n toggleEditMode = 'closed';\n WPTB_Helper.activateSection('elements')\n\n } else if( ! close ) {\n document.select.activateMultipleSelectMode();\n bar[i].classList.add( 'visible' );\n cellModeBackground.classList.add( 'visible' );\n leftScrollPanelCurtain.classList.add( 'visible' );\n wptbPreviewTable.parentNode.classList.add( 'wptb-preview-table-manage-cells' );\n\n toggleEditMode = 'opened';\n }\n }\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-edit-mode/' + toggleEditMode, wptbPreviewTable)\n }\n },\n\n /*\n * checking of dimension of value\n */\n checkingDimensionValue: function ( value, dimension ) {\n value = String( value );\n dimension = String( dimension );\n if( value && dimension ) {\n let searchIndex = value.indexOf( dimension );\n if ( searchIndex != -1 && searchIndex == ( value.length - dimension.length ) ) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n },\n\n /*\n * if dimension is included - checking and if it necessary setting value\n * without dimension - return value\n */\n checkSetGetStyleSizeValue: function( element, styleName, computedStyleName, dimension ) {\n let elemStyleValue = element.style[styleName];\n elemStyleValue = String( elemStyleValue );\n\n if( ! elemStyleValue || dimension ? ! ( WPTB_Helper.checkingDimensionValue( elemStyleValue, dimension ) ) : false ){\n let elementStyles = window.getComputedStyle( element );\n if( computedStyleName && elementStyles.getPropertyValue( computedStyleName ) && dimension ? WPTB_Helper.checkingDimensionValue( elementStyles.getPropertyValue( computedStyleName ), dimension ) : true ) {\n if( ! dimension ) {\n return elementStyles.getPropertyValue( computedStyleName );\n } else {\n element.style[styleName] = elementStyles.getPropertyValue( computedStyleName );\n }\n } else {\n if( ! dimension ) {\n return false;\n } else {\n element.style[styleName] = null;\n }\n }\n } else if( ! dimension ) {\n return elemStyleValue;\n }\n\n return element.style[styleName];\n },\n\n /*\n * function checking that element has the style\n * if this style is present - checking the format color\n * if param set is true - setting style for element (consider hex format of color)\n * if param set is false - getting style from element\n */\n checkSetGetStyleColorValue: function ( element, styleName, computedStyleName, set = false ) {\n let elemStyleColorValue = element.style[styleName];\n\n if( ! elemStyleColorValue ) {\n let elementStyles = window.getComputedStyle( element, null );\n\n if( elementStyles && elementStyles.getPropertyValue( computedStyleName ) ) {\n\n if( set ) {\n elemStyleColorValue = WPTB_Helper.rgbToHex( elementStyles.getPropertyValue( computedStyleName ) );\n if( WPTB_Helper.isHex( elemStyleColorValue ) ) {\n element.style[styleName] = elemStyleColorValue;\n } else {\n element.style[styleName] = '';\n }\n } else {\n return elementStyles.getPropertyValue( computedStyleName );\n }\n\n } else {\n if( set ) {\n element.style[styleName] = '';\n } else {\n return '';\n }\n }\n } else if( ! set ) {\n return elemStyleColorValue;\n }\n },\n\n /*\n * function checking that element has the style\n * if this style is present - checking the format color\n * if param set is true - setting style for element (consider hex format of color)\n * if param set is false - getting style from element\n */\n checkSetGetStyleValue: function ( element, styleName, computedStyleName, set = false ) {\n let elemStyleColorValue = element.style[styleName];\n\n if( ! elemStyleColorValue ) {\n let elementStyles = window.getComputedStyle( element, null );\n\n if( elementStyles && elementStyles.getPropertyValue( computedStyleName ) ) {\n\n if( set ) {\n element.style[styleName] = elementStyles.getPropertyValue( computedStyleName );\n } else {\n return elementStyles.getPropertyValue( computedStyleName );\n }\n\n } else if( ! set ) {\n return '';\n }\n } else if( ! set ) {\n return elemStyleColorValue;\n }\n },\n\n /*\n * get the value of the same elements that have the most count\n */\n getValueMaxCountSameElementsInArray: function ( arr ) {\n if( arr && Array.isArray( arr ) ) {\n let check = {};\n let countEmpty = 0;\n for( let i = 0; i < arr.length; i++ ) {\n if(arr[i]) {\n if( check[arr[i]] ) {\n check[arr[i]]++;\n } else {\n check[arr[i]] = 1;\n }\n } else {\n countEmpty++;\n }\n }\n\n let maxPropName;\n for ( let key in check ) {\n if( ! maxPropName ) {\n maxPropName = key;\n continue;\n } else {\n if( check[maxPropName] < check[key] ) {\n maxPropName = key;\n }\n }\n }\n\n return check[maxPropName] >= countEmpty ? maxPropName : '';\n }\n },\n\n /*\n * For assigning to each cell xIndex and y Index attributes,\n * these are the column number and row number of cell in table.\n */\n recalculateIndexes: function ( table ) {\n WPTB_RecalculateIndexes(table);\n },\n\n /**\n * Table Rows colors reinstall\n */\n tableRowsColorsReinstall: function ( table ) {\n let infArr = table.className.match( /wptb-element-main(.+)-(\\d+)/i );\n if( infArr && Array.isArray( infArr ) ) {\n let tableIndex = '';\n if( infArr[infArr.length -1] == '0' ) {\n tableIndex = 'startedid-0';\n } else {\n tableIndex = infArr[infArr.length -1];\n }\n\n let tableHeaderBackground = document.querySelector('.wptb-el-main-table_setting-' + tableIndex + '-tableHeaderBackground' );\n if( tableHeaderBackground ) {\n let details = {value: tableHeaderBackground.value};\n WPTB_Helper.wptbDocumentEventGenerate( 'controlColor:change', tableHeaderBackground, details );\n }\n\n let tableEvenRowBackground = document.querySelector('.wptb-el-main-table_setting-' + tableIndex + '-tableEvenRowBackground' );\n if( tableEvenRowBackground ) {\n let details = {value: tableEvenRowBackground.value};\n WPTB_Helper.wptbDocumentEventGenerate( 'controlColor:change', tableEvenRowBackground, details );\n }\n\n let tableOddRowBackground = document.querySelector('.wptb-el-main-table_setting-' + tableIndex + '-tableOddRowBackground' );\n if( tableOddRowBackground ) {\n let details = {value: tableOddRowBackground.value};\n WPTB_Helper.wptbDocumentEventGenerate( 'controlColor:change', tableOddRowBackground, details );\n }\n }\n },\n /**\n * Get parent html element of given type\n *\n * @param {string} parentType type of parent element\n * @param {HTMLElement} el current element\n * @returns {*} html element of type\n */\n getParentOfType: (parentType, el) => {\n if(el.nodeName === parentType.toUpperCase()) {\n return el;\n }\n\n return WPTB_Helper.getParentOfType(parentType , el.parentElement);\n },\n // current relative type of drag element\n // this type is used on differentiating certain elements based on their positioning on table\n dragRelativeType : '',\n /**\n *\n * @param {string} val drag relative type\n */\n setDragRelativeType: function (val){\n this.dragRelativeType = val;\n },\n // get drag relative type\n getDragRelativeType : function(){\n return this.dragRelativeType;\n },\n /**\n *\n * @param {HTMLElement} element\n * @param {string} styleName\n */\n getElementColorStylesHex: function (element, styleName) {\n let color = element.style[styleName];\n color = WPTB_Helper.rgbToHex( color );\n if( ! WPTB_Helper.isHex( color ) ) {\n color = '';\n }\n return color;\n },\n /**\n * Show element controls on adding them to table.\n */\n showControlsOnElementMount(){\n document.addEventListener('element:mounted:dom', function(e){\n e.target.click();\n });\n },\n /**\n * Show elements list menu on left panel on removing element from table\n */\n showElementsListOnRemove(){\n document.addEventListener('element:removed:dom', function(){\n WPTB_Helper.activateSection('elements');\n })\n },\n blockTinyMCEManageCells: function (){\n const addBlocker = (parent) => {\n const blockerElement = document.createElement('div');\n blockerElement.classList.add('wptb-plugin-blocker-element');\n\n const haveChild = parent.childNodes.length > 0;\n parent.appendChild(blockerElement);\n\n // if don't have any children, then add before/after css element states to blocker in order to reflect table builder menu visuals\n if(!haveChild){\n parent.classList.add('wptb-plugin-blocker-element-empty');\n }\n }\n\n const removeBlocker = (parent) => {\n const blockerElement = parent.querySelector('.wptb-plugin-blocker-element');\n if(blockerElement){\n blockerElement.remove();\n }\n\n parent.classList.remove('wptb-plugin-blocker-element-empty');\n }\n document.addEventListener('wptbSectionChanged' , ({detail}) => {\n const table = document.querySelector('.wptb-table-setup table.wptb-preview-table');\n if (table) {\n const cells = Array.from(table.querySelectorAll('td'));\n\n cells.map(removeBlocker);\n\n if (detail === 'manage_cells' || detail === 'cell_settings') {\n cells.map(addBlocker);\n }\n }\n })\n\n document.addEventListener('wptb:save:before' , () => {\n const table = document.querySelector('.wptb-table-setup table.wptb-preview-table');\n const cells = Array.from(table.querySelectorAll('td'));\n\n cells.map(removeBlocker);\n })\n },\n /**\n * Setup for builder if called by gutenberg block.\n */\n calledByBlock(){\n const parsedUrl = new URL(window.location.href);\n const isCalledByBlock = parsedUrl.searchParams.get('gutenberg');\n if(isCalledByBlock){\n const closeButton = document.querySelector('.wptb-plugin-header-close a');\n\n closeButton.addEventListener('click', (e)=> {\n e.preventDefault();\n e.stopPropagation();\n\n const isTableClean = document.querySelector('.wptb-save-disabled');\n\n const tableId = new URL(window.location.href).searchParams.get('table');\n\n if(!isTableClean){\n const confirmResult = window.confirm(wptb_admin_object.strings.dirtyConfirmation);\n if(confirmResult){\n WPTB_Helper.wptbDocumentEventGenerate('gutenbergClose', document , tableId);\n }\n }else {\n WPTB_Helper.wptbDocumentEventGenerate('gutenbergClose', document , tableId);\n }\n\n },{capture: true});\n }\n\n }\n}\n","var WPTB_Initializer = function () {\n\n const MIN_COLUMNS = 1,\n MIN_ROWS = 1,\n MAX_COLUMNS = 30,\n MAX_ROWS = 30;\n\n var tableGenerator = document.body;\n columnsDecrementButton = tableGenerator.getElementsByClassName('wptb-input-number-decrement')[0],\n columnsIncrementButton = tableGenerator.getElementsByClassName('wptb-input-number-increment')[0],\n rowsDecrementButton = tableGenerator.getElementsByClassName('wptb-input-number-decrement')[1],\n rowsIncrementButton = tableGenerator.getElementsByClassName('wptb-input-number-increment')[1],\n columnsInput = document.getElementById('wptb-columns-number'),\n rowsInput = document.getElementById('wptb-rows-number');\n \n // columnsDecrementButton.onclick = function () {\n // if (columnsInput.value > MIN_COLUMNS) {\n // columnsInput.value--;\n // }\n // };\n //\n // columnsIncrementButton.onclick = function () {\n // if (columnsInput.value < MAX_COLUMNS) {\n // columnsInput.value++;\n // }\n // };\n //\n // rowsDecrementButton.onclick = function () {\n // if (rowsInput.value > MIN_ROWS) {\n // rowsInput.value--;\n // }\n // };\n //\n // rowsIncrementButton.onclick = function () {\n // if (rowsInput.value < MAX_ROWS) {\n // rowsInput.value++;\n // }\n // };\n\n // document.getElementById( 'wptb-generate-table' ).onclick = function ( ) {\n // var columns = document.getElementById('wptb-columns-number').value,\n // rows = document.getElementById('wptb-rows-number').value;\n //\n // //wptbTableStateSaveManager.tableStateClear();\n //\n // WPTB_Table(columns, rows);\n //\n // let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n // wptbTableStateSaveManager.tableStateSet();\n // }\n\n // register and setup section buttons\n WPTB_Helper.registerSections(['elements', 'table_settings', 'cell_settings', 'options_group' , 'table_responsive_menu', 'manage_cells']);\n WPTB_Helper.setupSectionButtons();\n\n // activate elements section for startup\n WPTB_Helper.activateSection('elements');\n\n // side bar toggle setup\n WPTB_Helper.setupSidebarToggle('.wptb-panel-toggle-section .wptb-panel-drawer-icon');\n\n // setup panel sections that have the ability to be toggled on/off\n WPTB_Helper.setupPanelToggleButtons();\n\n // setup responsive menu both at left and builder panel\n new WptbResponsive('table_responsive_menu', 'wptbResponsiveApp', '.wptb-builder-content');\n\n // get builder section from url parameter for easy switch at page load\n WPTB_Helper.getSectionFromUrl();\n\n // automatically show element controls when dropped to table\n WPTB_Helper.showControlsOnElementMount();\n\n // show elements list menu on left panel on removing elements from table\n WPTB_Helper.showElementsListOnRemove();\n\n // block tinyMCE from activation at manage cells menu\n WPTB_Helper.blockTinyMCEManageCells();\n // initialize header toolbox\n new WPTB_HeaderToolbox('.wptb-plugin-header-toolbar').init();\n\n // redirect active menu to elements after closing manage cells menu\n document.addEventListener('wp-table-builder/table-edit-mode/closed', () => {\n WPTB_Helper.activateSection('elements');\n })\n\n\n WPTB_Helper.calledByBlock();\n};\n","var WPTB_LeftPanel = function () {\r\n\r\n let table = document.getElementsByClassName('wptb-preview-table')[0],\r\n wptbElementButtons = document.getElementsByClassName('wptb-element');\r\n\r\n for (var i = 0; i < wptbElementButtons.length; i++) {\r\n wptbElementButtons[i].ondragstart = function (e) {\r\n e.dataTransfer.setData('wptbElement', this.dataset.wptbElement);\r\n e.dataTransfer.setData( 'wptbElIndic-' + this.dataset.wptbElement, 'wptbElIndic-' + this.dataset.wptbElement );\r\n }\r\n };\r\n \r\n if( table ) {\r\n let wptbTablesEditModeCloseButton = document.getElementsByClassName( 'wptb-table-edit-mode-close' );\r\n for ( let i = 0; i < wptbTablesEditModeCloseButton.length; i++ ) {\r\n wptbTablesEditModeCloseButton[i].onclick = WPTB_Helper.toggleTableEditMode;\r\n }\r\n };\r\n\r\n // this code hides the \"element parameters\" area\r\n // when clicked outside this element and its \"tinymce\" toolbar \r\n let wptbBuilderPanel = document.getElementsByClassName( 'wptb-builder-panel' )[0];\r\n wptbBuilderPanel.onclick = function( e ) {\r\n if( ! e.target.classList.contains( 'wptb-ph-element' ) && ! WPTB_Helper.findAncestor( e.target, 'wptb-ph-element' ) && \r\n ! e.target.classList.contains( 'wptb-fixed-toolbar' ) && ! WPTB_Helper.findAncestor( e.target, 'wptb-fixed-toolbar' ) ) {\r\n WPTB_Helper.clickOnFreeSpace();\r\n } \r\n };\r\n \r\n let wptbHeader = document.getElementsByClassName( 'wptb-header' );\r\n if( wptbHeader.length > 0 ) wptbHeader = wptbHeader[0];\r\n wptbHeader.onclick = function() {\r\n WPTB_Helper.clickOnFreeSpace();\r\n };\r\n};","var MultipleSelect = function () {\n\n\tvar selectedCells = [],\n\t\tmultipleCellMode = false;\n\n\tthis.activateMultipleSelectMode = function () {\n\t\tselectedCells = [];\n\t\tvar tds = document.getElementsByClassName('wptb-preview-table')[0].getElementsByTagName('td');\n\t\tfor (var i = 0; i < tds.length; i++) {\n\t\t\ttds[i].classList.remove('wptb-highlighted');\n\t\t}\n\t\tmultipleCellMode = true;\n\t}\n\n\tthis.deactivateMultipleSelectMode = function () {\n\t\tmultipleCellMode = false;\n\t}\n\n\tthis.isActivated = function () {\n\t\treturn multipleCellMode;\n\t}\n\n\tthis.pushSelectedCell = function (cell) {\n\t\tif (!multipleCellMode) {\n\t\t\treturn;\n\t\t}\n\t\tselectedCells.push(cell);\n\t\tcell.classList.add('wptb-highlighted');\n\t};\n\n\tthis.selectedCells = function () {\n\t\treturn selectedCells;\n\t}\n\n\tthis.flushSelectedCells = function () {\n\t\tselectedCells = [];\n\t}\n\n\tthis.getFirst = function () {\n\t\tvar minXIndex = 1000, minYIndex = 1000, first;\n\t\tfor (var i = selectedCells.length - 1; i >= 0; i--) {\n\t\t\tif (minXIndex >= selectedCells[i].dataset.xIndex\n\t\t\t\t&& minYIndex >= selectedCells[i].dataset.yIndex) {\n\t\t\t\tfirst = selectedCells[i];\n\t\t\t\tminXIndex = selectedCells[i].dataset.xIndex;\n\t\t\t\tminYIndex = selectedCells[i].dataset.yIndex;\n\t\t\t}\n\t\t}\n\t\treturn first;\n\t}\n\n\tthis.getLast = function () {\n\t\tvar maxXIndex = -1, maxYIndex = -1, last;\n\t\tfor (var i = selectedCells.length - 1; i >= 0; i--) {\n\t\t\tif (maxXIndex <= selectedCells[i].dataset.xIndex\n\t\t\t\t&& maxYIndex <= selectedCells[i].dataset.yIndex) {\n\t\t\t\tlast = selectedCells[i];\n\t\t\t\tmaxXIndex = selectedCells[i].dataset.xIndex;\n\t\t\t\tmaxYIndex = selectedCells[i].dataset.yIndex;\n\t\t\t}\n\t\t}\n\t\treturn last;\n\t}\n\n\tthis.removeAllButFirst = function () {\n\t\tvar td = this.getFirst();\n\t\tfor (var i = 1; i < selectedCells.length; i++) {\n\t\t\tselectedCells[i].classList.add('wptb-fused-cell-' + td.dataset.xIndex + '-' + td.dataset.yIndex);\n\t\t}\n\t}\n\n\treturn this;\n\n};","var WPTB_Parser = function ( code ) {\n let div = document.createElement( 'div' );\n div.innerHTML = code;\n \n let table = div.children[0];\n let columnTitleMobile = [...table.querySelectorAll( '.wptb-column-title-mobile-container' )];\n \n for( let i = 0; i < columnTitleMobile.length; i++ ) {\n let parent = columnTitleMobile[i].parentNode;\n parent.removeChild( columnTitleMobile[i] );\n }\n \n let tds = table.querySelectorAll( 'td' );\n for ( let i = 0; i < tds.length; i++ ) {\n tds[i].classList.add( 'wptb-droppable' );\n tds[i].classList.remove( 'wptb-column-title-mobile-not-elements' );\n }\n \n return table;\n}","// From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys\nif (!Object.keys) {\n Object.keys = (function () {\n 'use strict';\n var hasOwnProperty = Object.prototype.hasOwnProperty,\n hasDontEnumBug = !({toString: null}).propertyIsEnumerable('toString'),\n dontEnums = [\n 'toString',\n 'toLocaleString',\n 'valueOf',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'constructor'\n ],\n dontEnumsLength = dontEnums.length;\n\n return function (obj) {\n if (typeof obj !== 'object' && (typeof obj !== 'function' || obj === null)) {\n throw new TypeError('Object.keys called on non-object');\n }\n\n var result = [], prop, i;\n\n for (prop in obj) {\n if (hasOwnProperty.call(obj, prop)) {\n result.push(prop);\n }\n }\n\n if (hasDontEnumBug) {\n for (i = 0; i < dontEnumsLength; i++) {\n if (hasOwnProperty.call(obj, dontEnums[i])) {\n result.push(dontEnums[i]);\n }\n }\n }\n return result;\n };\n }());\n}","const WPTB_RecalculateIndexes = function (table) {\n let trs = table.getElementsByTagName( 'tr' ),\n tds, maxCols = 0, maxColsFull = 0, tdsArr = [];\n\n for ( let i = 0; i < trs.length; i++ ) {\n tds = trs[i].getElementsByTagName( 'td' );\n\n if ( tdsArr[i] == undefined ) {\n tdsArr[i] = [];\n }\n\n let jMainIter = 0;\n for ( let j = 0; j < tds.length; j++ ) {\n if ( tdsArr[i][j] != undefined ) {\n for ( let y = 0; y < 100; y++ ) {\n if ( tdsArr[i][jMainIter] != undefined ) {\n jMainIter++;\n continue;\n }\n tdsArr[i][jMainIter] = tds[j];\n tds[j].dataset.xIndex = jMainIter;\n break;\n }\n } else {\n tdsArr[i][j] = tds[j];\n tds[j].dataset.xIndex = jMainIter;\n }\n tds[j].dataset.yIndex = i;\n\n if ( tds[j].colSpan > 1 ) {\n for ( let k = 1; k < tds[j].colSpan; k++ ) {\n jMainIter++;\n tdsArr[i][jMainIter] = 'tdDummy';\n }\n }\n\n if ( tds[j].rowSpan > 1 ) {\n for ( let x = 1; x < tds[j].rowSpan; x++ ) {\n if ( tdsArr[i + x] == undefined ) {\n tdsArr[i + x] = [];\n }\n for ( let z = 0; z < tds[j].colSpan; z++ ) {\n tdsArr[i + x][jMainIter - tds[j].colSpan + 1 + z ] = 'tdDummy';\n }\n }\n }\n jMainIter++;\n }\n\n if ( tds.length > maxCols ) {\n maxCols = tds.length;\n }\n\n if( i == 0 ) {\n maxColsFull = jMainIter;\n }\n }\n table.columns = maxCols;\n table.maxCols = maxColsFull;\n}\n","/**\n * Responsive menu and options class.\n *\n * This class will be called and instanced at table builder menu to add it the responsive menu and its controls.\n *\n * @param {string} sectionName section name\n * @param {string} responsiveWrapperId id for mount point\n * @param {string} mainContainerQuery query to find parent container for responsive menu\n * @throws {Error} will throw an error if mainContainerQuery failed to find any element\n * @constructor\n */\n// eslint-disable-next-line no-unused-vars\nfunction WptbResponsive(sectionName, responsiveWrapperId, mainContainerQuery) {\n\tthis.sectionName = sectionName;\n\tthis.responsiveWrapperId = responsiveWrapperId;\n\tthis.responsiveTable = null;\n\tthis.loaded = false;\n\n\t/**\n\t * Add responsive container to dom.\n\t */\n\tthis.addContainerToDom = () => {\n\t\tconst responsiveContainer = document.querySelector(`#${this.responsiveWrapperId}`);\n\t\tif (!responsiveContainer) {\n\t\t\tconst mainContainer = document.querySelector(mainContainerQuery);\n\n\t\t\t// parent container not found, throw error\n\t\t\tif (!mainContainer) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`[WPTB_Responsive]: no parent container is found with the given query of [${mainContainerQuery}]`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst range = document.createRange();\n\t\t\trange.setStart(mainContainer, 0);\n\n\t\t\tconst responsiveElement = range.createContextualFragment(\n\t\t\t\t`<div class=\"wptb-responsive\" id=\"${this.responsiveWrapperId}\">responsive element</div>`\n\t\t\t);\n\t\t\tmainContainer.appendChild(responsiveElement);\n\t\t\tthis.loaded = true;\n\t\t}\n\n\t\tthis.responsiveTable = document.querySelector(`#${this.responsiveWrapperId}`);\n\t};\n\n\t/**\n\t * Load and make necessary mount preparations for component.\n\t */\n\tthis.load = () => {\n\t\tif (!this.loaded) {\n\t\t\tthis.addContainerToDom();\n\n\t\t\tWPTB_Helper.elementStartScript(this.responsiveTable, 'table_responsive_menu');\n\t\t\tWPTB_Helper.elementOptionsSet('table_responsive_menu', this.responsiveTable);\n\t\t\tWPTB_ControlsManager.callControlScript('ResponsiveTable', this.responsiveWrapperId);\n\t\t}\n\t};\n\n\t/**\n\t * Startup hook for the component.\n\t */\n\tthis.startUp = () => {\n\t\t// event listener for section change events\n\t\tdocument.addEventListener('wptbSectionChanged', (e) => {\n\t\t\tconst tablePreview = document.querySelector('.wptb-table-setup .wptb-preview-table');\n\n\t\t\t// check if activated section is related to responsive and there is a main table already in the view\n\t\t\tif (e.detail === this.sectionName && tablePreview) {\n\t\t\t\tthis.load();\n\t\t\t}\n\t\t});\n\n\t\t// event listener for table ready signal\n\t\tdocument.addEventListener('wptb:table:generated', () => {\n\t\t\t// check current section to be sure that responsive menu is the active one before calling load related scripts\n\t\t\tif (WPTB_Helper.getCurrentSection() === 'table_responsive_menu') {\n\t\t\t\tthis.load();\n\t\t\t}\n\t\t});\n\t};\n\n\tthis.startUp();\n}\n","var WPTB_Settings = function () {\n var elems = document.getElementsByClassName('wptb-element');\n\n for ( var i = 0; i < elems.length; i++ ) {\n elems[i].ondragstart = function ( event ) {\n event.dataTransfer.effectAllowed = 'move';\n event.dataTransfer.setData( 'wptbElement', event.target.dataset.wptbElement );\n event.dataTransfer.setData( 'wptbElIndic-' + event.target.dataset.wptbElement, 'wptbElIndic-' + event.target.dataset.wptbElement );\n\n // set drag relative helper field for future use\n WPTB_Helper.setDragRelativeType(this.dataset.wptbRelativeElements || '');\n }\n elems[i].ondragend = function () {\n WPTB_Helper.elementDragEndClear();\n }\n };\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n let wptbUndo = document.getElementsByClassName( 'wptb-undo' );\n if( wptbUndo.length > 0 ) {\n wptbUndo = wptbUndo[0];\n \n wptbUndo.onclick = function( event ) {\n if( ! this.classList.contains( 'wptb-undoredo-disabled' ) ) {\n wptbTableStateSaveManager.tableStateGet( this.dataset.wptbUndoredo );\n let wptbUndoRedoContainer = document.getElementsByClassName( 'wptb-undo-redo-container' );\n if(wptbUndoRedoContainer.length > 0) {\n wptbUndoRedoContainer = wptbUndoRedoContainer[0];\n wptbUndoRedoContainer.onmouseleave = function( event ) {\n event.target.onmouseleave = '';\n let table = document.querySelector( '.wptb-preview-table' );\n WPTB_Table();\n }\n }\n }\n }\n }\n \n let wptbRedo = document.getElementsByClassName( 'wptb-redo' );\n if( wptbRedo.length > 0 ) {\n wptbRedo = wptbRedo[0];\n \n wptbRedo.onclick = function( event ) {\n if( ! this.classList.contains( 'wptb-undoredo-disabled' ) ) {\n wptbTableStateSaveManager.tableStateGet( this.dataset.wptbUndoredo );\n let wptbUndoRedoContainer = document.getElementsByClassName( 'wptb-undo-redo-container' );\n if(wptbUndoRedoContainer.length > 0) {\n wptbUndoRedoContainer = wptbUndoRedoContainer[0];\n wptbUndoRedoContainer.onmouseleave = function( event ) {\n event.target.onmouseleave = '';\n let table = document.querySelector( '.wptb-preview-table' );\n WPTB_Table();\n }\n }\n }\n \n }\n }\n \n let shortcodePopupWindow = document.getElementsByClassName( 'wptb-popup-window-modal' )[0];\n document.getElementsByClassName( 'wptb-embed-btn' )[0].onclick = function () {\n if( ! this.classList.contains( 'wptb-button-disable' ) ) {\n shortcodePopupWindow.classList.add( 'wptb-popup-show' );\n }\n }\n \n window.onbeforeunload = function(e) {\n let wptbSaveDisabled = document.getElementsByClassName( 'wptb-save-disabled' );\n if( wptbSaveDisabled.length == 0 ) {\n return true;\n } else {\n return null;\n }\n };\n \n \n document.getElementsByClassName( 'wptb-popup-dark-area' )[0].onclick = function () {\n shortcodePopupWindow.classList.remove( 'wptb-popup-show' );\n }\n \n document.getElementsByClassName( 'wptb-popup-window-close-icon' )[0].onclick = function () {\n shortcodePopupWindow.classList.remove( 'wptb-popup-show' );\n }\n \n document.getElementsByClassName( 'wptb-preview-btn' )[0].onclick = function ( event ) {\n if( this.classList.contains( 'wptb-button-disable' ) ) {\n return;\n } \n \n let previewId = Math.floor( Math.random() * 10000 );\n \n var newHref = new URL( event.target.href );\n newHref.searchParams.set( 'preview_id', previewId );\n event.target.href = newHref.toString();\n WPTB_Helper.saveTable( event, false, previewId );\n }\n\n document.getElementsByClassName( 'wptb-save-btn' )[0].onclick = function ( event ) {\n if( ! this.classList.contains( 'wptb-save-disabled' ) ) {\n WPTB_Helper.saveTable( event );\n }\n }\n\n let tableTitleField = document.querySelector( '#wptb-setup-name' );\n if( tableTitleField ) {\n tableTitleField.onchange = function () {\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n }\n }\n};\n","/**\n * Responsive class assignment for frontend operations.\n *\n * This file can be used as an UMD.\n */\n(function assignToGlobal(key, context, factory) {\n\tif (typeof exports === 'object' && typeof module !== 'undefined') {\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tcontext[key] = factory();\n\t}\n\t// eslint-disable-next-line no-restricted-globals\n})('WPTB_SortableTable', self || global, () => {\n\tfunction WPTB_SortTable(options = {}) {\n\t\tconst table = (this.table = options.table);\n\t\tWPTB_RecalculateIndexes(table);\n\t\tconst thisObject = this;\n\t\tthis.itemsPerHeader = 0;\n\t\tthis.tableMaxCols = table.maxCols;\n\t\tthis.cellsStylesScheme = {};\n\t\tthis.rowsStylesScheme = {};\n\n\t\t/**\n\t\t * sets the table to sort mode\n\t\t *\n\t\t * @param {string} type\n\t\t * @param {boolean} active\n\t\t * @param {number} number\n\t\t */\n\t\tthis.sortModeSwitcher = function (type, active) {\n\t\t\tif(active) {\n\t\t\t\tthis.sortModeSwitcher('horizontal', false);\n\t\t\t\tthis.sortModeSwitcher('vertical', false);\n\t\t\t}\n\n\t\t\tif (type === 'vertical') {\n\t\t\t\tthis.table.removeEventListener('click', this.sortableTableVerticalStart, false);\n\n\t\t\t\tif (active) {\n\t\t\t\t\tthis.sortingCellMouseMoveSwitcher('vertical', true);\n\t\t\t\t\tthis.table.addEventListener('click', this.sortableTableVerticalStart, false);\n\t\t\t\t\tthis.table.dataset.wptbSortableTableVertical = '1';\n\t\t\t\t\tthis.createTableElementsStylesScheme('td');\n\t\t\t\t\tthis.createTableElementsStylesScheme('tr');\n\t\t\t\t} else {\n\t\t\t\t\tthis.sortingCellMouseMoveSwitcher('vertical', false);\n\t\t\t\t\tdelete this.table.dataset.wptbSortableTableVertical;\n\t\t\t\t}\n\t\t\t} else if (type === 'horizontal') {\n\t\t\t\tthis.table.removeEventListener('click', this.sortableTableHorizontalStart, false);\n\n\t\t\t\tif (active) {\n\t\t\t\t\tthis.sortingCellMouseMoveSwitcher('horizontal', true);\n\t\t\t\t\tthis.table.addEventListener('click', this.sortableTableHorizontalStart, false);\n\t\t\t\t\tthis.table.dataset.wptbSortableTableHorizontal = '1';\n\t\t\t\t\tthis.createTableElementsStylesScheme('td');\n\t\t\t\t\tthis.createTableElementsStylesScheme('tr');\n\t\t\t\t} else {\n\t\t\t\t\tthis.sortingCellMouseMoveSwitcher('horizontal', false);\n\t\t\t\t\tdelete this.table.dataset.wptbSortableTableHorizontal;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * changes table object for old reconstruction table type\n\t\t *\n\t\t * @param {boolean}start\n\t\t * @returns {*}\n\t\t */\n\t\tthis.tableObjectChange = function (start = true) {\n\t\t\tif(this.table.classList.contains('wptb-mobile-view-active') && start) {\n\t\t\t\tthis.table = table.parentNode.parentNode.querySelector('.wptb-preview-table-mobile');\n\t\t\t} else if(this.table.classList.contains('wptb-preview-table-mobile') && !start) {\n\t\t\t\tthis.table = table.parentNode.querySelector('.wptb-preview-table');\n\t\t\t}\n\t\t\treturn this.table;\n\t\t}\n\n\t\t/**\n\t\t * fills the object with data about cell styles for all locations (create scheme)\n\t\t *\n\t\t * @param elemSelector\n\t\t */\n\t\tthis.createTableElementsStylesScheme = function (elemSelector) {\n\t\t\tthis.tableObjectChange();\n\t\t\tlet elements = this.table.querySelectorAll(elemSelector);\n\t\t\tif(elements.length) {\n\t\t\t\tfor(let i = 0; i < elements.length; i++) {\n\t\t\t\t\tlet elem = elements[i];\n\t\t\t\t\tlet cellFullStyleObj = window.getComputedStyle(elem, null);\n\t\t\t\t\tlet backgroundColor = cellFullStyleObj.getPropertyValue( 'background-color' );\n\t\t\t\t\tlet objectKey = '';\n\t\t\t\t\tif(elemSelector === 'td') {\n\t\t\t\t\t\tobjectKey = elem.dataset.xIndex + '-' + elem.dataset.yIndex;\n\t\t\t\t\t\tthis.cellsStylesScheme[objectKey] = {backgroundColor};\n\t\t\t\t\t} else if(elemSelector === 'tr') {\n\t\t\t\t\t\tobjectKey = String(i);\n\t\t\t\t\t\tthis.rowsStylesScheme[objectKey] = {backgroundColor};\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.tableObjectChange(false);\n\t\t}\n\n\t\t/**\n\t\t * applies saved cell styles data to all cells\n\t\t *\n\t\t * @param elemSelector\n\t\t */\n\t\tthis.reassignElementsStyles = function (elemSelector) {\n\t\t\tthis.tableObjectChange();\n\t\t\tlet elements = this.table.querySelectorAll(elemSelector);\n\t\t\tlet elementsStylesScheme;\n\t\t\tif(elemSelector === 'td') {\n\t\t\t\telementsStylesScheme = this.cellsStylesScheme;\n\t\t\t} else if(elemSelector === 'tr') {\n\t\t\t\telementsStylesScheme = this.rowsStylesScheme;\n\t\t\t}\n\t\t\tif(elements.length) {\n\t\t\t\tfor(let i = 0; i < elements.length; i++) {\n\t\t\t\t\tlet elem = elements[i];\n\t\t\t\t\tlet objectKey = '';\n\t\t\t\t\tif(elemSelector === 'td') {\n\t\t\t\t\t\tobjectKey = elem.dataset.xIndex + '-' + elem.dataset.yIndex;\n\t\t\t\t\t} else if(elemSelector === 'tr') {\n\t\t\t\t\t\tobjectKey = i;\n\t\t\t\t\t}\n\t\t\t\t\tif(elementsStylesScheme.hasOwnProperty(objectKey)) {\n\t\t\t\t\t\tlet elemStyles = elementsStylesScheme[objectKey];\n\t\t\t\t\t\tfor(let key in elemStyles) {\n\t\t\t\t\t\t\telem.style[key] = elemStyles[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.tableObjectChange(false);\n\t\t}\n\n\t\t/**\n\t\t * checks whether the table should be in the sort state\n\t\t * and connects the necessary handlers\n\t\t *\n\t\t * @param {object} responsiveFront\n\t\t */\n\t\tthis.sortableTableInitialization = function (responsiveFront) {\n\t\t\tlet type = '';\n\t\t\tlet typeFirst;\n\t\t\tlet typeSecond;\n\t\t\tif (this.table.dataset.wptbSortableTableVertical && this.table.dataset.wptbSortableTableVertical === '1') {\n\t\t\t\ttypeFirst = 'vertical';\n\t\t\t\ttypeSecond = 'horizontal';\n\t\t\t} else if (\n\t\t\t\tthis.table.dataset.wptbSortableTableHorizontal &&\n\t\t\t\tthis.table.dataset.wptbSortableTableHorizontal === '1'\n\t\t\t) {\n\t\t\t\ttypeFirst = 'horizontal';\n\t\t\t\ttypeSecond = 'vertical';\n\t\t\t}\n\n\t\t\tconst switchMode = {};\n\t\t\tif (responsiveFront && responsiveFront.getDirective(this.table)) {\n\t\t\t\tswitchMode.switch = function (e) {\n\t\t\t\t\tconst directives = responsiveFront.getDirective(this.table)\n\n\t\t\t\t\tlet sizeRangeId = 'desktop';\n\t\t\t\t\tif (e && e.detail) {\n\t\t\t\t\t\tsizeRangeId = e.detail.sizeRangeId;\n\t\t\t\t\t}\n\t\t\t\t\ttype = typeFirst;\n\t\t\t\t\tif (sizeRangeId !== 'desktop') {\n\t\t\t\t\t\tif (directives.hasOwnProperty('modeOptions')) {\n\t\t\t\t\t\t\tconst mode = directives.responsiveMode;\n\t\t\t\t\t\t\tconst modeOptions = directives.modeOptions[mode];\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmodeOptions.hasOwnProperty('topRowAsHeader') &&\n\t\t\t\t\t\t\t\tmodeOptions.topRowAsHeader.hasOwnProperty(sizeRangeId) &&\n\t\t\t\t\t\t\t\tmodeOptions.topRowAsHeader[sizeRangeId]\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tmodeOptions.hasOwnProperty('cellStackDirection') &&\n\t\t\t\t\t\t\t\t\tmodeOptions.cellStackDirection.hasOwnProperty(sizeRangeId)\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tif (modeOptions.cellStackDirection[sizeRangeId] === 'row') {\n\t\t\t\t\t\t\t\t\t\ttype = typeSecond;\n\t\t\t\t\t\t\t\t\t\tthis.itemsPerHeader = this.tableMaxCols - 1;\n\t\t\t\t\t\t\t\t\t} else if (modeOptions.cellStackDirection[sizeRangeId] === 'column') {\n\t\t\t\t\t\t\t\t\t\tif (modeOptions.hasOwnProperty('cellsPerRow')) {\n\t\t\t\t\t\t\t\t\t\t\tthis.itemsPerHeader = modeOptions.cellsPerRow[sizeRangeId];\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.itemsPerHeader = 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.itemsPerHeader = 0;\n\t\t\t\t\t}\n\t\t\t\t\tthis.sortModeSwitcher(type, true);\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tswitchMode.switch = function (e) {\n\t\t\t\t\tlet type = typeFirst;\n\t\t\t\t\tif (this.table.classList.contains('wptb-mobile-view-active')) {\n\t\t\t\t\t\tif (this.table.classList.contains('wptb-table-preview-head')) {\n\t\t\t\t\t\t\ttype = typeSecond;\n\t\t\t\t\t\t\tif(type === 'vertical') {\n\t\t\t\t\t\t\t\tthis.itemsPerHeader = this.tableMaxCols - 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst { table } = this;\n\t\t\t\t\t\tthis.table = table.parentNode.parentNode.querySelector('.wptb-preview-table-mobile');\n\t\t\t\t\t\tthis.sortModeSwitcher(type, true);\n\t\t\t\t\t\tthis.table = table;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.sortModeSwitcher(type, true);\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tswitchMode.switch.call(thisObject);\n\t\t\tthis.table.addEventListener(\n\t\t\t\t'table:rebuilt',\n\t\t\t\tfunction (e) {\n\t\t\t\t\tswitchMode.switch.call(thisObject, e);\n\t\t\t\t},\n\t\t\t\tfalse\n\t\t\t);\n\t\t};\n\n\t\t/**\n\t\t * adds and deletes mousemove and mouseleave events handlers when happens switch sorting mode\n\t\t * and also can add necessary attributes\n\t\t *\n\t\t * @param {string} type\n\t\t * @param {boolean} active\n\t\t */\n\t\tthis.sortingCellMouseMoveSwitcher = function (type, active) {\n\t\t\t/**\n\t\t\t * removes and adds mousemove and mouseleave events handlers\n\t\t\t *\n\t\t\t * @param {HTMLElement} td\n\t\t\t * @param {func} sCMM\n\t\t\t * @param {boolean} active\n\t\t\t */\n\t\t\tfunction s(td, sCMM, active) {\n\t\t\t\ttd.removeEventListener('mousemove', sCMM, false);\n\t\t\t\ttd.removeEventListener('mouseleave', tdMouseLeave, false);\n\t\t\t\tif (active) {\n\t\t\t\t\ttd.addEventListener('mousemove', sCMM, false);\n\t\t\t\t\ttd.addEventListener('mouseleave', tdMouseLeave, false);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * removes and adds data sorted attributes\n\t\t\t *\n\t\t\t * @param {HTMLElement} td\n\t\t\t * @param {string} dataAttr\n\t\t\t * @param {boolean} active\n\t\t\t */\n\t\t\tfunction dataAttrSortChange(td, dataAttr, active) {\n\t\t\t\tif (active) {\n\t\t\t\t\tif (!td.dataset[dataAttr] || td.dataset[dataAttr] !== 'desk-disabled') {\n\t\t\t\t\t\ttd.dataset[dataAttr] = 'ask';\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttd.dataset[dataAttr] = 'desk';\n\t\t\t\t\t}\n\t\t\t\t} else if (td.dataset[dataAttr] === 'ask') {\n\t\t\t\t\ttd.dataset[dataAttr] = 'ask-disabled';\n\t\t\t\t} else if (td.dataset[dataAttr] === 'desk') {\n\t\t\t\t\ttd.dataset[dataAttr] = 'desk-disabled';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// removes all mousemove and mouseleave events handlers\n\t\t\t// and also removes all data sorted attributes from all cells\n\t\t\tlet tds = this.table.querySelectorAll('td');\n\t\t\tif (tds.length) {\n\t\t\t\ttds = [...tds];\n\t\t\t\ttds.map((td) => {\n\t\t\t\t\ts(td, sortingCellMouseMoveVertical, false);\n\t\t\t\t\tdataAttrSortChange(td, 'sortedVertical', false);\n\t\t\t\t\ts(td, sortingCellMouseMoveHorizontal, false);\n\t\t\t\t\tdataAttrSortChange(td, 'sortedHorizontal', false);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// if active === true sets sorted events handlers\n\t\t\t// and data sorted attributes for all cells\n\t\t\tif (active) {\n\t\t\t\tif (type === 'vertical') {\n\t\t\t\t\tlet rowsLength = this.table.rows.length;\n\t\t\t\t\tlet dataYIndexStart = 0;\n\t\t\t\t\twhile (rowsLength > 0) {\n\t\t\t\t\t\tlet tds = this.table.querySelectorAll(`[data-y-index=\"${dataYIndexStart}\"]`);\n\t\t\t\t\t\ttds = [...tds];\n\t\t\t\t\t\ttds.map((td) => {\n\t\t\t\t\t\t\ts(td, sortingCellMouseMoveVertical, active);\n\t\t\t\t\t\t\tdataAttrSortChange(td, 'sortedVertical', active);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (this.itemsPerHeader) {\n\t\t\t\t\t\t\trowsLength -= this.itemsPerHeader + 1;\n\t\t\t\t\t\t\tdataYIndexStart += this.itemsPerHeader + 1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trowsLength = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (type === 'horizontal') {\n\t\t\t\t\tlet tds = this.table.querySelectorAll('[data-x-index=\"0\"]');\n\t\t\t\t\ttds = [...tds];\n\t\t\t\t\ttds.map((td) => {\n\t\t\t\t\t\tlet tdsPerAfter = this.table.querySelectorAll(`[data-y-index=\"${td.dataset.yIndex}\"]`);\n\t\t\t\t\t\tif(tdsPerAfter.length > 2) {\n\t\t\t\t\t\t\ts(td, sortingCellMouseMoveHorizontal, active);\n\t\t\t\t\t\t\tdataAttrSortChange(td, 'sortedHorizontal', active);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * adds a sortable-hover class for a cell when the cursor is over the sort icon (arrow)\n\t\t *\n\t\t * @param {event} e\n\t\t * @param {string} type\n\t\t * @param {HTMLElement} element td\n\t\t */\n\t\tfunction sortingCellMouseMov(e, type, element) {\n\t\t\tif (e.target.tagName === 'TD') {\n\t\t\t\tconst x = e.offsetX == undefined ? e.layerX : e.offsetX;\n\t\t\t\tconst y = e.offsetY == undefined ? e.layerY : e.offsetY;\n\t\t\t\tlet xMatch = false;\n\t\t\t\tif ((type === 'vertical' && e.target.clientWidth - x <= 35) || (type === 'horizontal' && x <= 35)) {\n\t\t\t\t\txMatch = true;\n\t\t\t\t}\n\t\t\t\tif (xMatch && (e.target.clientHeight - 35) / 2 < y && (e.target.clientHeight + 35) / 2 > y) {\n\t\t\t\t\telement.classList.add('sortable-hover');\n\t\t\t\t} else {\n\t\t\t\t\telement.classList.remove('sortable-hover');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\telement.classList.remove('sortable-hover');\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * calls sortingCellMouseMov with the type parameter set to vertical\n\t\t *\n\t\t * @param {event} e\n\t\t */\n\t\tfunction sortingCellMouseMoveVertical(e) {\n\t\t\tsortingCellMouseMov(e, 'vertical', this);\n\t\t}\n\n\t\t/**\n\t\t * calls sortingCellMouseMov with the type parameter set to horizontal\n\t\t *\n\t\t * @param {event} e\n\t\t */\n\t\tfunction sortingCellMouseMoveHorizontal(e) {\n\t\t\tsortingCellMouseMov(e, 'horizontal', this);\n\t\t}\n\n\t\t/**\n\t\t * remove sortable-hover class from cell when cursor leave cell\n\t\t */\n\t\tfunction tdMouseLeave() {\n\t\t\tthis.classList.remove('sortable-hover');\n\t\t}\n\n\t\t/**\n\t\t * function for sorting the table vertically by the numeric content of cells\n\t\t *\n\t\t * @param {event} e\n\t\t * @param {HTMLElement} table\n\t\t * @param {string} type\n\t\t */\n\t\tfunction sortableTable(e, type) {\n\t\t\tif (\n\t\t\t\te.target &&\n\t\t\t\te.target.tagName === 'TD' &&\n\t\t\t\t!table.parentNode.classList.contains('wptb-preview-table-manage-cells')\n\t\t\t) {\n\t\t\t\tconst table = e.currentTarget;\n\t\t\t\tlet tableWasSorted = false;\n\t\t\t\tif (type === 'vertical' && e.target.dataset.hasOwnProperty('sortedVertical')) {\n\t\t\t\t\t/**\n\t\t\t\t\t * if table have enabled param topRowAsHeader and sellsStackDirection is column\n\t\t\t\t\t * the top and bottom rows that will not be sorted are temporarily removed from the table\n\t\t\t\t\t */\n\t\t\t\t\tconst tableRowsBefore = [];\n\t\t\t\t\tconst tableRowsAfter = [];\n\t\t\t\t\tif (this.itemsPerHeader && this.itemsPerHeader < table.rows.length) {\n\t\t\t\t\t\tWPTB_RecalculateIndexes(table);\n\t\t\t\t\t\tconst tableRowsArr = [...table.rows];\n\t\t\t\t\t\tconst tableLastCont = table.querySelector('tbody') ? table.querySelector('tbody') : table;\n\t\t\t\t\t\tfor (let i = 0; i < tableRowsArr.length; i++) {\n\t\t\t\t\t\t\tif (i < e.target.dataset.yIndex) {\n\t\t\t\t\t\t\t\ttableRowsBefore.push(tableRowsArr[i]);\n\t\t\t\t\t\t\t\ttableLastCont.removeChild(tableRowsArr[i]);\n\t\t\t\t\t\t\t} else if (i > parseInt(e.target.dataset.yIndex, 10) + this.itemsPerHeader) {\n\t\t\t\t\t\t\t\ttableRowsAfter.push(tableRowsArr[i]);\n\t\t\t\t\t\t\t\ttableLastCont.removeChild(tableRowsArr[i]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tWPTB_RecalculateIndexes(table);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet tds = table.querySelectorAll(`[data-x-index=\"${e.target.dataset.xIndex}\"]`);\n\t\t\t\t\ttds = [...tds];\n\n\t\t\t\t\t/**\n\t\t\t\t\t * preparing table for sorting\n\t\t\t\t\t */\n\t\t\t\t\tlet rowspan;\n\t\t\t\t\tlet rowNum;\n\t\t\t\t\ttds.map((td) => {\n\t\t\t\t\t\tif (!(rowspan = parseInt(td.rowSpan, 10))) {\n\t\t\t\t\t\t\trowspan = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\trowNum = td.dataset.yIndex;\n\t\t\t\t\t\tWPTB_CutGlueTable.cutTableHorizontally(rowNum, table);\n\t\t\t\t\t\trowNum += rowspan;\n\t\t\t\t\t\tWPTB_CutGlueTable.cutTableHorizontally(rowNum, table);\n\t\t\t\t\t});\n\n\t\t\t\t\tconst rowsValuesArr = [];\n\t\t\t\t\tlet rowsTdFirst;\n\t\t\t\t\tlet tdYCoordsRowSpanPrevious = 0;\n\t\t\t\t\tconst tableRowsPushed = [];\n\t\t\t\t\tfor (let i = 0; i < tds.length; i++) {\n\t\t\t\t\t\tconst tdsChanged = changeSortingTdsCollection(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\ttable,\n\t\t\t\t\t\t\ttds,\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\ttdYCoordsRowSpanPrevious,\n\t\t\t\t\t\t\t'vertical'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (tdsChanged && tdsChanged.hasOwnProperty('i')) {\n\t\t\t\t\t\t\ttds = tdsChanged.tds;\n\t\t\t\t\t\t\ti = tdsChanged.i;\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t} else if (tdsChanged) {\n\t\t\t\t\t\t\ttds = tdsChanged.tds;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst td = tds[i];\n\n\t\t\t\t\t\tlet tdRowspan = parseInt(td.rowSpan, 10);\n\t\t\t\t\t\tif (!tdRowspan) tdRowspan = 1;\n\n\t\t\t\t\t\ttdYCoordsRowSpanPrevious = parseInt(td.dataset.yIndex, 10) + tdRowspan;\n\n\t\t\t\t\t\tconst textElementsValues = textElementsValuesGet(td);\n\n\t\t\t\t\t\tconst rowsTd = [];\n\t\t\t\t\t\tfor (let j = 0; j < tdRowspan; j++) {\n\t\t\t\t\t\t\trowsTd.push(table.rows[parseInt(td.dataset.yIndex, 10) + j]);\n\t\t\t\t\t\t\ttableRowsPushed.push(parseInt(td.dataset.yIndex, 10) + j);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (td.dataset.yIndex > 0) {\n\t\t\t\t\t\t\trowsValuesArr.push({\n\t\t\t\t\t\t\t\trowsTd,\n\t\t\t\t\t\t\t\tvalue: textElementsValues,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trowsTdFirst = rowsTd;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst orderBy = setSortedAscDataAttr(e, 'sortedVertical');\n\t\t\t\t\tif (!orderBy) return;\n\n\t\t\t\t\tif (rowsValuesArr.length) rowsValuesArr.sort((prev, next) => sortOrder(orderBy, prev, next));\n\n\t\t\t\t\trowsValuesArr.unshift({ rowsTd: rowsTdFirst });\n\n\t\t\t\t\tif (rowsValuesArr.length < table.rows.length) {\n\t\t\t\t\t\tfor (let i = 0; i < table.rows.length; i++) {\n\t\t\t\t\t\t\tif (tableRowsPushed.indexOf(i) > -1) continue;\n\t\t\t\t\t\t\tconst rowsTd = [];\n\t\t\t\t\t\t\trowsTd.push(table.rows[i]);\n\n\t\t\t\t\t\t\trowsValuesArr.push({\n\t\t\t\t\t\t\t\trowsTd,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst tBody = table.querySelector('tbody');\n\t\t\t\t\ttBody.innerHTML = '';\n\n\t\t\t\t\trowsValuesArr.map((rowsValObj) => {\n\t\t\t\t\t\trowsValObj.rowsTd.map((row) => {\n\t\t\t\t\t\t\ttBody.appendChild(row);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t\t\t\t/**\n\t\t\t\t\t * returning previously deleted rows\n\t\t\t\t\t */\n\t\t\t\t\tif (tableRowsBefore.length) {\n\t\t\t\t\t\tconst tableLastCont = table.querySelector('tbody') ? table.querySelector('tbody') : table;\n\t\t\t\t\t\tif (tableLastCont) {\n\t\t\t\t\t\t\tconst trRef = tableLastCont.querySelector('tr');\n\t\t\t\t\t\t\ttableRowsBefore.map((tr) => {\n\t\t\t\t\t\t\t\ttableLastCont.insertBefore(tr, trRef);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (tableRowsAfter.length) {\n\t\t\t\t\t\tconst tableLastCont = table.querySelector('tbody') ? table.querySelector('tbody') : table;\n\t\t\t\t\t\tif (tBody) {\n\t\t\t\t\t\t\ttableRowsAfter.map((tr) => {\n\t\t\t\t\t\t\t\ttableLastCont.appendChild(tr);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tWPTB_RecalculateIndexes(table);\n\n\t\t\t\t\tWPTB_CutGlueTable.glueTableHorizontally(table);\n\n\t\t\t\t\ttableWasSorted = true;\n\t\t\t\t} else if (type === 'horizontal' && e.target.dataset.xIndex === '0') {\n\t\t\t\t\tlet tds = table.querySelectorAll(`[data-y-index=\"${e.target.dataset.yIndex}\"]`);\n\t\t\t\t\ttds = [...tds];\n\n\t\t\t\t\t// preparing table for sorting\n\t\t\t\t\tlet colspan;\n\t\t\t\t\tlet colNum;\n\t\t\t\t\ttds.map((td) => {\n\t\t\t\t\t\tif (!(colspan = parseInt(td.colSpan, 10))) {\n\t\t\t\t\t\t\tcolspan = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcolNum = td.dataset.xIndex;\n\t\t\t\t\t\tWPTB_CutGlueTable.cutTableVertically(colNum, table);\n\t\t\t\t\t\tcolNum += colspan;\n\t\t\t\t\t\tWPTB_CutGlueTable.cutTableVertically(colNum, table);\n\t\t\t\t\t});\n\n\t\t\t\t\tconst columnsValuesArr = [];\n\t\t\t\t\tlet columnsTdFirst;\n\n\t\t\t\t\tlet tdXCoordsColSpanPrevious = 0;\n\t\t\t\t\tfor (let i = 0; i < tds.length; i++) {\n\t\t\t\t\t\tconst tdsChanged = changeSortingTdsCollection(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\ttable,\n\t\t\t\t\t\t\ttds,\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\ttdXCoordsColSpanPrevious,\n\t\t\t\t\t\t\t'horizontal'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (tdsChanged && tdsChanged.hasOwnProperty('i')) {\n\t\t\t\t\t\t\ttds = tdsChanged.tds;\n\t\t\t\t\t\t\ti = tdsChanged.i;\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t} else if (tdsChanged) {\n\t\t\t\t\t\t\ttds = tdsChanged.tds;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst td = tds[i];\n\t\t\t\t\t\tlet tdColspan = parseInt(td.colSpan, 10);\n\t\t\t\t\t\tif (!tdColspan) tdColspan = 1;\n\n\t\t\t\t\t\ttdXCoordsColSpanPrevious = parseInt(td.dataset.xIndex, 10) + tdColspan;\n\n\t\t\t\t\t\tconst textElementsValues = textElementsValuesGet(td);\n\t\t\t\t\t\tconst columnsTd = [];\n\t\t\t\t\t\tfor (let j = 0; j < tdColspan; j++) {\n\t\t\t\t\t\t\tconst tdsColumn = [\n\t\t\t\t\t\t\t\t...table.querySelectorAll(`[data-x-index=\"${parseInt(td.dataset.xIndex, 10) + j}\"]`),\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tcolumnsTd.push(tdsColumn);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (td.dataset.xIndex > 0) {\n\t\t\t\t\t\t\tcolumnsValuesArr.push({\n\t\t\t\t\t\t\t\tcolumnsTd,\n\t\t\t\t\t\t\t\tvalue: textElementsValues,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcolumnsTdFirst = columnsTd;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst orderBy = setSortedAscDataAttr(e, 'sortedHorizontal');\n\t\t\t\t\tif (!orderBy) return;\n\n\t\t\t\t\tif (columnsValuesArr.length) columnsValuesArr.sort((prev, next) => sortOrder(orderBy, prev, next));\n\n\t\t\t\t\tcolumnsValuesArr.unshift({ columnsTd: columnsTdFirst });\n\n\t\t\t\t\tif (columnsValuesArr.length < table.maxCols) {\n\t\t\t\t\t\tconst difference = table.maxCols - columnsValuesArr.length;\n\t\t\t\t\t\tfor (let i = 0; i < difference; i++) {\n\t\t\t\t\t\t\tconst tdsColumn = [\n\t\t\t\t\t\t\t\t...table.querySelectorAll(\n\t\t\t\t\t\t\t\t\t`[data-x-index=\"${parseInt(table.maxCols, 10) - parseInt(difference, 10) + i}\"]`\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t];\n\n\t\t\t\t\t\t\tcolumnsValuesArr.push({\n\t\t\t\t\t\t\t\tcolumnsTd: [tdsColumn],\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (let i = 0; i < table.rows.length; i++) {\n\t\t\t\t\t\ttable.rows[i].innerHTML = '';\n\t\t\t\t\t}\n\n\t\t\t\t\tcolumnsValuesArr.map((columnsValObj) => {\n\t\t\t\t\t\tcolumnsValObj.columnsTd.map((tdsColumn) => {\n\t\t\t\t\t\t\ttdsColumn.map((td) => {\n\t\t\t\t\t\t\t\ttable.rows[td.dataset.yIndex].appendChild(td);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t\t\t\tWPTB_RecalculateIndexes(table);\n\n\t\t\t\t\tWPTB_CutGlueTable.glueTableVertically(table);\n\n\t\t\t\t\ttableWasSorted = true;\n\t\t\t\t}\n\n\t\t\t\tif (tableWasSorted) {\n\t\t\t\t\tremoveCellsAttrAfterDivision(table);\n\n\t\t\t\t\tif (table.hasOwnProperty('tableSM')) {\n\t\t\t\t\t\tconst tableSM = table.tableSM();\n\t\t\t\t\t\tnew tableSM().tableStateSet();\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.reassignElementsStyles('td');\n\t\t\t\t\tthis.reassignElementsStyles('tr');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Function that sets the data-attribute with the number of the row or column\n\t\t * that the table was sorted by. Returns the number of a row or column\n\t\t *\n\t\t * @param {event} e\n\t\t * @param {string} dataAttr\n\t\t * @returns {null|boolean}\n\t\t */\n\t\tfunction setSortedAscDataAttr(e, dataAttr) {\n\t\t\tif (\n\t\t\t\te.currentTarget &&\n\t\t\t\t(e.currentTarget.classList.contains('wptb-preview-table') ||\n\t\t\t\t\te.currentTarget.classList.contains('wptb-preview-table-mobile'))\n\t\t\t) {\n\t\t\t\tif (!e.target.dataset[dataAttr] || e.target.dataset[dataAttr] === 'ask') {\n\t\t\t\t\te.target.dataset[dataAttr] = 'desk';\n\t\t\t\t} else {\n\t\t\t\t\te.target.dataset[dataAttr] = 'ask';\n\t\t\t\t}\n\n\t\t\t\treturn e.target.dataset[dataAttr];\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\t/**\n\t\t * defines the sorting order\n\t\t *\n\t\t * @param {string} orderBy\n\t\t * @param prev\n\t\t * @param next\n\t\t * @returns {number}\n\t\t */\n\t\tfunction sortOrder(orderBy = 'ask', prev, next) {\n\t\t\tlet prevValue = prev.value;\n\t\t\tlet nextValue = next.value;\n\t\t\tif (parseInt(prevValue) && parseInt(nextValue)) {\n\t\t\t\tprevValue = parseInt(prevValue);\n\t\t\t\tnextValue = parseInt(nextValue);\n\t\t\t}\n\n\t\t\tif (orderBy === 'ask') {\n\t\t\t\tif (prevValue < nextValue) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\tif (prevValue === nextValue) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif (prevValue < nextValue) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif (prevValue === nextValue) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn -1;\n\t\t}\n\n\t\t/**\n\t\t * return cell text elements values\n\t\t *\n\t\t * @param cell {HTMLElement}\n\t\t * @returns {string}\n\t\t */\n\t\tfunction textElementsValuesGet(cell) {\n\t\t\tlet textElements = cell.querySelectorAll('.wptb-text-container');\n\t\t\ttextElements = [...textElements];\n\t\t\tlet value = '';\n\t\t\tfor (let j = 0; j < textElements.length; j++) {\n\t\t\t\tconst p = textElements[j].querySelector('p');\n\t\t\t\tvalue += p.innerText;\n\t\t\t\tif (j !== textElements.length - 1) value += ' ';\n\t\t\t}\n\n\t\t\treturn value;\n\t\t}\n\n\t\t/**\n\t\t * adds cells to the collection of cells in the row or column that the table is sorted by.\n\t\t * These added cells are not originally were added in the collection,\n\t\t * because they are combined with cells from higher rows or left-side columns\n\t\t *\n\t\t * @param {event} e\n\t\t * @param {HTMLElement} table\n\t\t * @param {array} tds\n\t\t * @param {number} i\n\t\t * @param {number} tdIndexSpanPrev\n\t\t * @param {string} type\n\t\t * @returns {{tds: *}|boolean|{tds: *, i: *}}\n\t\t */\n\t\tfunction changeSortingTdsCollection(e, table, tds, i, tdIndexSpanPrev, type) {\n\t\t\tconst td = tds[i];\n\t\t\tlet tdsCollectionChanged = false;\n\t\t\tlet collectionTds;\n\t\t\tlet collectionTdsJSpan;\n\t\t\tlet collectionTdsJSpanProperty;\n\t\t\tlet indexName;\n\t\t\tlet indexNameCamelCase;\n\t\t\tlet indexNamePerpendicularCamelCase;\n\t\t\tlet tdSpanProperty;\n\t\t\t// max rows or columns column\n\t\t\tlet tableGroupCount;\n\n\t\t\tif (type === 'vertical') {\n\t\t\t\tcollectionTdsJSpanProperty = 'colSpan';\n\t\t\t\tindexName = 'data-y-index';\n\t\t\t\tindexNameCamelCase = 'yIndex';\n\t\t\t\tindexNamePerpendicularCamelCase = 'xIndex';\n\t\t\t\ttdSpanProperty = 'rowSpan';\n\t\t\t\ttableGroupCount = table.rows.length;\n\t\t\t} else if (type === 'horizontal') {\n\t\t\t\tcollectionTdsJSpanProperty = 'rowSpan';\n\t\t\t\tindexName = 'data-x-index';\n\t\t\t\tindexNameCamelCase = 'xIndex';\n\t\t\t\tindexNamePerpendicularCamelCase = 'yIndex';\n\t\t\t\ttdSpanProperty = 'colSpan';\n\t\t\t\ttableGroupCount = table.maxCols;\n\t\t\t}\n\n\t\t\tif (td.dataset[indexNameCamelCase] - tdIndexSpanPrev > 0) {\n\t\t\t\tcollectionTds = table.querySelectorAll(`[${indexName}=\"${tdIndexSpanPrev}\"]`);\n\n\t\t\t\tfor (let j = 0; j < collectionTds.length; j++) {\n\t\t\t\t\tcollectionTdsJSpan = collectionTds[j][collectionTdsJSpanProperty];\n\t\t\t\t\tif (!collectionTdsJSpan) collectionTdsJSpan = 1;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tcollectionTds[j].dataset[indexNamePerpendicularCamelCase] <\n\t\t\t\t\t\t\te.target.dataset[indexNamePerpendicularCamelCase] &&\n\t\t\t\t\t\tparseInt(collectionTds[j].dataset[indexNamePerpendicularCamelCase], 10) +\n\t\t\t\t\t\t\tparseInt(collectionTdsJSpan, 10) >\n\t\t\t\t\t\t\te.target.dataset[indexNamePerpendicularCamelCase]\n\t\t\t\t\t) {\n\t\t\t\t\t\ttds.splice(i, 0, collectionTds[j]);\n\t\t\t\t\t\ttdsCollectionChanged = true;\n\t\t\t\t\t\ti--;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (tdsCollectionChanged) return { tds, i };\n\n\t\t\tlet tdSpan = parseInt(td[tdSpanProperty], 10);\n\t\t\tif (!tdSpan) tdSpan = 1;\n\t\t\tif (i == tds.length - 1 && parseInt(td.dataset[indexNameCamelCase], 10) + tdSpan < tableGroupCount) {\n\t\t\t\tcollectionTds = table.querySelectorAll(\n\t\t\t\t\t`[${indexName}=\"${parseInt(td.dataset[indexNameCamelCase], 10) + tdSpan}\"]`\n\t\t\t\t);\n\t\t\t\tfor (let j = 0; j < collectionTds.length; j++) {\n\t\t\t\t\tcollectionTdsJSpan = collectionTds[j][collectionTdsJSpanProperty];\n\t\t\t\t\tif (!collectionTdsJSpan) collectionTdsJSpan = 1;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tcollectionTds[j].dataset[indexNamePerpendicularCamelCase] <\n\t\t\t\t\t\t\te.target.dataset[indexNamePerpendicularCamelCase] &&\n\t\t\t\t\t\tparseInt(collectionTds[j].dataset[indexNamePerpendicularCamelCase], 10) +\n\t\t\t\t\t\t\tparseInt(collectionTdsJSpan, 10) >\n\t\t\t\t\t\t\te.target.dataset[indexNamePerpendicularCamelCase]\n\t\t\t\t\t) {\n\t\t\t\t\t\ttds.push(collectionTds[j]);\n\t\t\t\t\t\ttdsCollectionChanged = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (tdsCollectionChanged) return { tds };\n\t\t\treturn false;\n\t\t}\n\n\t\t/**\n\t\t * remove cells attributes which were used for division table\n\t\t *\n\t\t * @param {HTMLElement} table\n\t\t */\n\t\tfunction removeCellsAttrAfterDivision(table) {\n\t\t\tconst tdsAll = [...table.getElementsByTagName('td')];\n\t\t\tfor (let i = 0; i < tdsAll.length; i++) {\n\t\t\t\tif (tdsAll[i].hasAttribute('data-same-cell-before-division')) {\n\t\t\t\t\ttdsAll[i].removeAttribute('data-same-cell-before-division');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * function for run sorting table vertically\n\t\t *\n\t\t * @param {event} e\n\t\t */\n\t\tthis.sortableTableVerticalStart = function (e) {\n\t\t\tsortableTable.call(thisObject, e, 'vertical');\n\t\t};\n\n\t\t/**\n\t\t * function for run sorting table horizontally\n\t\t *\n\t\t * @param {event} e\n\t\t */\n\t\tthis.sortableTableHorizontalStart = function (e) {\n\t\t\tsortableTable.call(thisObject, e, 'horizontal');\n\t\t};\n\n\t\treturn this;\n\t}\n\n\treturn WPTB_SortTable;\n});\n","var WPTB_Stringifier = function ( codeMain ) {\n if ( codeMain ) {\n let code = codeMain.cloneNode( true );\n code.dataset.tableColumns = codeMain.columns;\n code.style.width = null;\n code.style.minWidth = null;\n code.style.maxWidth = null;\n\n let tds = code.getElementsByTagName( 'td' );\n if ( tds.length > 0 ) {\n for ( let i = 0; i < tds.length; i++ ) {\n\n // tds[i].removeAttribute( 'data-x-index' );\n // tds[i].removeAttribute( 'data-y-index' );\n tds[i].removeAttribute( 'draggable' );\n tds[i].classList.remove( 'wptb-droppable' );\n let infArr = tds[i].className.match( /wptb-element-((.+-)\\d+)/i );\n if(infArr) tds[i].classList.remove(infArr[0]);\n let innerElements = tds[i].getElementsByClassName( 'wptb-ph-element' );\n\n if ( innerElements.length > 0 ) {\n for ( let j = 0; j < innerElements.length; j++ ) {\n\n let mceContentBodys = innerElements[j].querySelectorAll( '.mce-content-body' );\n if( mceContentBodys.length > 0 ) {\n for ( let k = 0; k < mceContentBodys.length; k++ ) {\n mceContentBodys[k].classList.remove( 'mce-content-body' );\n }\n }\n\n let dataMceStyle = innerElements[j].querySelectorAll( '[data-mce-style]' );\n if ( dataMceStyle.length > 0 ) {\n for ( let k = 0; k < dataMceStyle.length; k++ ) {\n dataMceStyle[k].removeAttribute( 'data-mce-style' );\n }\n }\n\n let contentEditable = innerElements[j].querySelectorAll( '[contenteditable]' );\n if ( contentEditable.length > 0 ) {\n for ( let k = 0; k < contentEditable.length; k++ ) {\n contentEditable[k].removeAttribute( 'contenteditable' );\n }\n }\n\n let spellCheck = innerElements[j].querySelectorAll( '[spellcheck]' );\n if ( spellCheck.length > 0 ) {\n for ( let k = 0; k < spellCheck.length; k++ ) {\n spellCheck[k].removeAttribute( 'spellcheck' );\n }\n }\n\n let mceIds = innerElements[j].querySelectorAll( '[id^=mce_]' );\n if ( mceIds.length > 0 ) {\n for ( let k = 0; k < mceIds.length; k++ ) {\n mceIds[k].removeAttribute( 'id' );\n }\n }\n\n let wptbActions = innerElements[j].querySelectorAll( '.wptb-actions' );\n let wptbActionsLength = wptbActions.length;\n while ( wptbActionsLength > 0 ) {\n if( wptbActions[0] && wptbActions[0].parentNode ) {\n wptbActions[0].parentNode.removeChild( wptbActions[0] );\n wptbActionsLength--;\n } else {\n break;\n }\n\n }\n\n let dataMceBogus = innerElements[j].querySelectorAll( '[data-mce-bogus]' );\n if( dataMceBogus.length > 0 ) {\n dataMceBogus = [...dataMceBogus];\n for( let k = 0; k < dataMceBogus.length; k++ ) {\n if( dataMceBogus[k] && dataMceBogus[k].parentNode ) {\n dataMceBogus[k].parentNode.removeChild( dataMceBogus[k] );\n }\n }\n }\n }\n }\n\n // TODO dataTitleColumnSet\n // if( tds[i].hasAttribute( 'data-wptb-title-column' ) ) {\n // let columnNameDivContainer = document.createElement( 'div' ),\n // columnNameDiv = document.createElement( 'div' );\n // columnNameDivContainer.classList.add( 'wptb-column-title-mobile-container' );\n // columnNameDiv.classList.add( 'wptb-column-title-mobile' );\n // columnNameDiv.dataset.wptbTitleColumn = tds[i].dataset.wptbTitleColumn;\n // columnNameDiv.setAttribute( 'style', 'font-size:' + tds[i].dataset.wptbTitleColumnFontSize + '; \\n\\\n // color:' + tds[i].dataset.wptbTitleColumnColor + '; background-color:' + tds[i].dataset.wptbTitleBackgroundColor + '; text-align:' + tds[i].dataset.wptbTitleAlign + ';' );\n // columnNameDiv.style.padding = tds[i].style.padding;\n // if( tds[i].children.length == 0 ) {\n // tds[i].classList.add( 'wptb-column-title-mobile-not-elements' );\n // }\n // columnNameDivContainer.appendChild( columnNameDiv );\n // tds[i].insertBefore( columnNameDivContainer, tds[i].firstChild );\n // }\n }\n }\n\n return code;\n }\n}\n","var array = [], WPTB_Table = function ( columns, rows, wptb_preview_table ) {\n\n /* The members of the class */\n var settings = document.getElementsByClassName('wptb-settings-items'),\n wptbTableSetup = document.getElementsByClassName(\"wptb-table-setup\")[0],\n table, row, cell,\n maxAmountOfCells,\n maxAmountOfRows;\n\n //HERE ARE THE PRIVATE FUNCTIONS\n /*\n * This function toggles buttons visibility in cell edit mode\n * (according to the amount of currently selected cells), and\n * highlights visually the clicked cell if it is not highlighted, or\n * removes highlight if clicked cell is already highlighted.\n * It too toggles the bits of our abstract representation.\n * @param Event this is the event instance of the click performed over a cell.\n */\n var mark = function ( event ) {\n let thisElem = event.currentTarget;\n let rs = thisElem.rowSpan,\n cs = thisElem.colSpan,\n noCells = document.getElementsByClassName('wptb-no-cell-action'),\n singleCells = document.getElementsByClassName('wptb-single-action'),\n multipleCells = document.getElementsByClassName('wptb-multiple-select-action'),\n cellSettings = document.getElementById( 'wptb-left-scroll-panel-cell-settings' ),\n position = getCoords(thisElem),\n row = position[0],\n column = position[1];\n if ( ! document.select.isActivated() ) {\n return;\n }\n if (thisElem.className.match(/wptb-highlighted/)) {\n thisElem.classList.remove('wptb-highlighted');\n for (var i = 0; i < rs; i++) {\n for (var j = 0; j < cs; j++) {\n array[row + i][column + j] = 0;\n }\n }\n } else {\n thisElem.classList.add('wptb-highlighted');\n for (var i = 0; i < rs; i++) {\n for (var j = 0; j < cs; j++) {\n array[row + i][column + j] = 1;\n }\n }\n }\n\n let cellHighlighted = document.getElementsByClassName('wptb-highlighted'),\n markedCells = cellHighlighted.length;\n if (markedCells === 0) {\n for (var i = 0; i < multipleCells.length; i++) {\n multipleCells[i].classList.remove('visible');\n multipleCells[i].setAttribute('disabled', 'disabled');\n }\n for (var i = 0; i < noCells.length; i++) {\n noCells[i].classList.add('visible');\n noCells[i].removeAttribute('disabled');\n }\n for (var i = 0; i < singleCells.length; i++) {\n singleCells[i].classList.remove('visible');\n singleCells[i].setAttribute('disabled', 'disabled');\n }\n cellSettings.classList.remove( 'visible' );\n } else if (markedCells === 1) {\n for (var i = 0; i < multipleCells.length; i++) {\n multipleCells[i].classList.remove('visible');\n multipleCells[i].setAttribute('disabled', 'disabled');\n }\n for (var i = 0; i < noCells.length; i++) {\n noCells[i].classList.remove('visible');\n noCells[i].setAttribute('disabled', 'disabled');\n }\n for (var i = 0; i < singleCells.length; i++) {\n singleCells[i].classList.add('visible');\n singleCells[i].removeAttribute('disabled');\n }\n\n cellHighlighted = cellHighlighted[0];\n WPTB_Helper.elementOptionsSet( 'table_cell_setting', cellHighlighted );\n\n let infArr = cellHighlighted.className.match( /wptb-element-((.+-)\\d+)/i );\n\n const controlElemIds = ['cellWidth', 'cellHeight'];\n\n controlElemIds.map(s => {\n let elementControlSizeUnicClass = `wptb-el-${infArr[1]}-${s}`,\n elementControlSizeFixedUnicClass = `wptb-el-${infArr[1]}-${s}Fixed`;\n if(s === 'cellWidth' || s === 'cellHeight') {\n let sizeName = '',\n getSizeFunctionName = '';\n if(s === 'cellWidth') {\n sizeName = 'width';\n getSizeFunctionName = 'getColumnWidth';\n } else if(s === 'cellHeight') {\n sizeName = 'height';\n getSizeFunctionName = 'getRowHeight';\n }\n let size = cellHighlighted.style[sizeName],\n cellSizeInputs = document.querySelectorAll( '.' + elementControlSizeUnicClass ),\n cellSizeFixedInput = document.querySelector( '.' + elementControlSizeFixedUnicClass );\n cellSizeInputs = [...cellSizeInputs];\n\n if(!size && !cellHighlighted.dataset[`wptbFixed${sizeName.toUpperCase()}`]) {\n size = WPTB_Helper[getSizeFunctionName](table, cellHighlighted);\n cellSizeInputs.map(s => {\n s.value = size;\n });\n\n cellSizeFixedInput.checked = false;\n } else {\n cellSizeInputs.map(s => {\n if( size ) {\n s.value = parseFloat( size, 10 );\n } else if( cellHighlighted.dataset[`wptbFixed${sizeName.toUpperCase()}`] ) {\n s.value = cellHighlighted.dataset[`wptbFixed${sizeName.toUpperCase()}`];\n }\n });\n\n cellSizeFixedInput.checked = true;\n }\n }\n });\n\n cellSettings.classList.add( 'visible' );\n } else {\n for (var i = 0; i < multipleCells.length; i++) {\n if (table.isSquare(array)) {\n multipleCells[i].classList.add('visible');\n multipleCells[i].removeAttribute('disabled');\n } else {\n multipleCells[i].classList.remove('visible');\n multipleCells[i].setAttribute('disabled', 'disabled');\n }\n }\n for (var i = 0; i < noCells.length; i++) {\n noCells[i].classList.remove('visible');\n noCells[i].setAttribute('disabled', 'disabled');\n }\n for (var i = 0; i < singleCells.length; i++) {\n singleCells[i].classList.remove('visible');\n singleCells[i].setAttribute('disabled', 'disabled');\n }\n cellSettings.classList.remove( 'visible' );\n }\n\n /**\n * empty cell setting\n */\n // let emptySetting = document.\n const infArr = thisElem.className.match(/wptb-element-table_cell_setting-((.+-)\\d+)/i);\n if (infArr && infArr.length > 1) {\n const controlKey = 'emptyCell';\n const settingId = `wptb-el-table_cell_setting-${infArr[1]}-${controlKey}`;\n const settingElem = document.getElementById(settingId);\n if (settingElem) {\n settingElem.querySelector('input[type=\"checkbox\"]').checked = thisElem.classList.contains('wptb-empty')\n }\n }\n\n\n let details = {countMarkedCells:markedCells};\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/cell/mark', thisElem, details);\n };\n\n /*\n * This function fills an array with 1's according to the actual design\n * of HTML table.\n * @returns an array of arrays containing an abstract representation\n * of HTML table.\n * @deprecated\n * */\n\n var realTimeArray = function () {\n var carried = [], tds, cols, matriz = [];\n\n for (var i = 0; i < maxAmountOfCells; i++) {\n carried[i] = 0;\n }\n\n for (var i = 0; i < table.rows.length; i++) {\n cols = [];\n\n var tds = table.rows[i].getElementsByTagName('td');\n\n for (items = 0; items < tds.length; items++) {\n\n for (var k = 0; k < tds[items].colSpan; k++) {\n cols.push(1);\n }\n\n if (tds[items].rowSpan > 1) {\n for (var k = 0; k < tds[items].colSpan; k++) {\n carried[items + k] = {\n justAssigned: true,\n amount: tds[items].rowSpan\n };\n }\n }\n }\n\n for (var k = 0; k < maxAmountOfCells; k++) {\n if (typeof carried[k] == 'object' && carried[k].amount > 0) {\n carried[k].amount--;\n if (carried[k].justAssigned) {\n carried[k].justAssigned = false;\n } else {\n cols.push(1);\n }\n }\n }\n\n matriz.push(cols);\n\n }\n return matriz;\n };\n\n /*\n * This function gets the number and position of cell spaces in current row that are occuped\n * by upper rowspanned cells.\n * @param number the number of row where we wish to calculate the carried rowspans up to.\n * @return an array with the remaining rowspans in each column.\n */\n var carriedRowspans = function (row) {\n var carried = [], tds, cols;\n\n for (var i = 0; i < maxAmountOfCells; i++) {\n carried[i] = 0;\n }\n\n if (row == -1) {\n return carried;\n }\n\n for (var i = 0; i <= row; i++) {\n cellsBuffer = table.rows[i].getElementsByTagName('td');\n cellPointer = 0;\n\n for (var xPosition = 0; xPosition < maxAmountOfCells; xPosition += stepsToMove) {\n stepsToMove = 1;\n\n if (carried[xPosition]) {\n carried[xPosition]--;\n } else {\n celda = cellsBuffer[cellPointer++];\n if (celda.rowSpan > 1) {\n for (k = 0; k < celda.colSpan; k++) {\n carried[xPosition + k] = celda.rowSpan - 1;\n }\n stepsToMove = celda.colSpan;\n } else if (celda.colSpan > 1) {\n stepsToMove = celda.colSpan;\n }\n }\n }\n\n }\n return carried;\n };\n\n /*\n * A helpful function for showing\n * the abstract table in console.\n * @param Array our abstract table.\n */\n var drawTable = function (a) {\n var string = 'DRAWING TABLE:\\n';\n for (var i = 0; i < a.length; i++) {\n\n for (var j = 0; j < a[i].length; j++) {\n string += ' ' + a[i][j];\n }\n string += '\\n';\n }\n table.isSquare(a);\n };\n\n /*\n * It resets all the bits of our abstract representation\n * to 0 and removes the highlighting class of all cells.\n */\n\n var undoSelect = function () {\n let noCells = document.getElementsByClassName('wptb-no-cell-action'),\n singleCells = document.getElementsByClassName('wptb-single-action'),\n multipleCells = document.getElementsByClassName('wptb-multiple-select-action'),\n cellSettings = document.getElementById( 'wptb-left-scroll-panel-cell-settings' ),\n tds = table.getElementsByClassName('wptb-highlighted');\n while (tds.length) {\n tds[0].classList.remove('wptb-highlighted');\n }\n cellSettings.classList.remove( 'visible' );\n for (let i = 0; i < array.length; i++) {\n for (let j = 0; j < array[i].length; j++) {\n array[i][j] = 0;\n }\n }\n for (let i = 0; i < multipleCells.length; i++) {\n multipleCells[i].classList.remove('visible');\n multipleCells[i].setAttribute('disabled', 'disabled');\n }\n for (let i = 0; i < noCells.length; i++) {\n noCells[i].classList.add('visible');\n noCells[i].removeAttribute('disabled');\n }\n for (let i = 0; i < singleCells.length; i++) {\n singleCells[i].classList.remove('visible');\n singleCells[i].setAttribute('disabled', 'disabled');\n }\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/undo-select/active', table);\n };\n\n /*\n * This fills the abstract representation of our table with\n * zeros, at the start. the max amount of cells is the greatest sum\n * of all colspans for row.\n */\n\n var fillTableArray = function () {\n var colspansSums = [], a = [];\n\n //calculate max amount of cells inside a row\n for (var i = 0; i < table.rows.length; i++) {\n var cells = table.rows[i].getElementsByTagName('td'),\n colspanSumInRow = 0;\n for (var j = 0; j < cells.length; j++) {\n colspanSumInRow += cells[j].colSpan;\n }\n colspansSums.push(colspanSumInRow);\n }\n\n maxAmountOfCells = Math.max.apply(null, colspansSums);\n //calculate max rows\n var maxAmountOfRows = table.rows.length;\n\n // fill with zeros from both values\n for (var i = 0; i < maxAmountOfRows; i++) {\n a[i] = [];\n for (var j = 0; j < maxAmountOfCells; j++) {\n a[i].push(0);\n }\n }\n drawTable(a);\n return a;\n };\n\n /*\n * This function gets the sum of all colspans in a row.\n * @param number the number of row to be used as reference.\n */\n var getActualPointsInRow = function (row) {\n var tds = table.rows[row].getElementsByTagName('td'),\n points = 0;\n for (var i = 0; i < tds.length; i++) {\n points += tds[i].colSpan;\n }\n return points;\n }\n\n /*\n * This function gets us the exact coordinates of\n * an exact cell, in a more reliable way than xIndex and yIndex,\n * these last ones were meant to be used for getting the cell trough them.\n * @param DOMElement the cell to get the coordinates.\n */\n var getCoords = function (search) {\n var skipInCols = [], cell;\n\n for (var i = 0; i < maxAmountOfCells; i++) {\n skipInCols[i] = 0;\n }\n\n for (var i = 0; i < table.rows.length; i++) {\n var cellsBuffer = table.rows[i].getElementsByTagName('td');\n cellPointer = 0;\n for (var xPosition = 0; xPosition < maxAmountOfCells; xPosition += stepsToMove) {\n stepsToMove = 1;\n\n if (skipInCols[xPosition]) {\n skipInCols[xPosition]--;\n } else {\n var td = cellsBuffer[cellPointer++];\n if (td == search) {\n return [i, xPosition];\n }\n if (td.rowSpan > 1) {\n for ( let k = 0; k < td.colSpan; k++ ) {\n skipInCols[xPosition + k] = td.rowSpan - 1;\n }\n stepsToMove = td.colSpan;\n } else if (td.colSpan > 1) {\n stepsToMove = td.colSpan;\n }\n }\n }\n }\n };\n\n jQuery('#wptb-table-border-color').val('');\n jQuery('#wptb-table-padding-number,#wptb-table-padding-slider').val('15');\n\n if ( columns || rows ) {\n //END OF PRIVATE FUNCTIONS\n for (var i = 0; i < settings.length; i++) {\n if (settings[i].id !== 'wptb-apply-inner-border') {\n settings[i].classList.add('visible');\n }\n }\n\n //Create a HTML Table element.\n table = document.createElement( 'table' );\n table.classList.add( 'wptb-preview-table', 'wptb-element-main-table_setting-startedid-0' );\n table.style.border = '0px solid';\n table.dataset.reconstraction = 1;\n //table.dataset.wptbAdaptiveTable = 1;\n //Add the data rows.\n for (var i = 0; i < rows; i++) {\n\n row = table.insertRow(-1);\n row.classList.add( 'wptb-row' );\n\n for (var j = 0; j < columns; j++) {\n cell = new WPTB_Cell(mark);\n cell.setCoords(i, j);\n cell.getDOMElement().style.borderWidth = '1px';\n row.appendChild(cell.getDOMElement());\n }\n }\n } else {\n if( ! wptb_preview_table ) wptb_preview_table = document.querySelector( '.wptb-preview-table' );\n\n if ( wptb_preview_table ) {\n table = wptb_preview_table;\n\n let cells = table.getElementsByTagName('td');\n\n if (cells.length > 0) {\n for (let i = 0; i < cells.length; i++) {\n WPTB_Cell(mark, cells[i]);\n }\n }\n } else {\n return;\n }\n }\n\n /**\n * this method run \"mark\" method of WPTB_Table object\n * @param event\n */\n table.mark = (event) => {\n mark(event);\n }\n\n table.wptbCell = (callback, DOMElement) => {\n return WPTB_Cell(callback, DOMElement);\n }\n\n table.tableSM = () => {\n return WPTB_TableStateSaveManager;\n }\n\n /**\n * this method run \"undoSelect\" method of WPTB_Table object\n * @param event\n */\n table.undoSelect = () => {\n undoSelect();\n }\n\n /**\n * method for set value for maxAmountOfCells\n * @param value\n */\n table.setMaxAmountOfCells = (value) => {\n maxAmountOfCells = value;\n }\n\n /**\n * this method return maxAmountOfCells value\n * @returns {*}\n */\n table.getMaxAmountOfCells = () => {\n return maxAmountOfCells;\n }\n\n /**\n * this method run \"fillTableArray\" method of WPTB_Table object\n * @returns {[]}\n */\n table.fillTableArray = () => {\n return fillTableArray();\n }\n /*\n * For assigning to each cell xIndex and y Index attributes,\n * these are the column number and row number of cell in table.\n */\n\n table.recalculateIndexes = function () {\n WPTB_Helper.recalculateIndexes( this );\n }\n\n table.addColumnWidth = function( value, cleaner ) {\n let highlighted = table.getElementsByClassName( 'wptb-highlighted' );\n if( highlighted.length > 0 ) {\n for( let k = 0; k < highlighted.length; k++ ) {\n let dataXIndex = highlighted[k].dataset.xIndex;\n if( dataXIndex ) {\n function tableTdsFor( dataXIndex, colspan ) {\n let tableRows = table.rows;\n let widthIsSet = false;\n let arrayTdsFromPreviousRow = [];\n for( let i = 0; i < tableRows.length; i++ ) {\n let row = tableRows[i];\n let tds = row.children;\n for( let j = 0; j < tds.length; j++ ) {\n let td = tds[j];\n if( td.dataset.xIndex == dataXIndex ) {\n if( value ) {\n if( td.colSpan == colspan ) {\n td.style.width = value + 'px';\n td.removeAttribute( 'data-wptb-fixed-width' );\n widthIsSet = true;\n } else {\n td.style.width = null;\n td.dataset.wptbFixedWidth = value;\n if( i == tableRows.length - 1 && ! widthIsSet ) {\n tableTdsFor( dataXIndex, colspan + 1 );\n }\n }\n } else if( cleaner ) {\n td.style.width = null;\n td.removeAttribute( 'data-wptb-fixed-width' );\n } else {\n if( td.dataset.wptbFixedWidth ) {\n if( td.colSpan == colspan ) {\n td.style.width = td.dataset.wptbFixedWidth + 'px';\n td.removeAttribute( 'data-wptb-fixed-width' );\n }\n } else if( td.style.width ) {\n for( let z = 0; z < arrayTdsFromPreviousRow.length; z++ ) {\n arrayTdsFromPreviousRow[z].style.width = td.style.width;\n }\n arrayTdsFromPreviousRow = [];\n } else {\n arrayTdsFromPreviousRow.push( td );\n }\n }\n break;\n }\n }\n }\n }\n\n tableTdsFor( dataXIndex, 1 );\n }\n }\n\n table.tdDefaultWidth();\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-changed/after', table);\n }\n }\n\n table.tdDefaultWidth = function() {\n let rows = table.rows;\n\n let tableTdsSumMaxWidth = 0;\n let tableTdsSumMaxWidthFixed = 0;\n let tableTdsSumMaxWidthAuto = 0;\n\n let wptbTableSetup = document.getElementsByClassName( 'wptb-table-setup' )[0];\n let wptbTableSetupWidth = wptbTableSetup.offsetWidth;\n\n let arrayCellsWidthFixedHelper = [];\n let arrayCellsWidthAutoHelper = [];\n let tdPaddingCommon = 0;\n let tableTdBorderCommonWidth = 0;\n let cssForTdsWidthAuto = '';\n\n\n let tableFullStyleObj = window.getComputedStyle( table, null );\n let borderLeftWidth = tableFullStyleObj.getPropertyValue( 'border-left-width' );\n let borderRightWidth = tableFullStyleObj.getPropertyValue( 'border-right-width' );\n let tableBorderCommon = parseFloat( borderLeftWidth, 10 ) + parseFloat( borderRightWidth, 10 );\n\n for( let i = 0; i < rows.length; i++ ) {\n let tds = rows[i].children;\n for( let j = 0; j < tds.length; j++ ) {\n let td = tds[j];\n\n if( ! arrayCellsWidthFixedHelper[parseFloat( td.dataset.xIndex )] && ! arrayCellsWidthAutoHelper[parseFloat( td.dataset.xIndex )] ) {\n if( td.style.width ) {\n arrayCellsWidthFixedHelper[parseFloat( td.dataset.xIndex )] = parseFloat( td.style.width );\n td.removeAttribute( 'data-wptb-css-td-auto-width' );\n } else {\n if( ! td.dataset.wptbFixedWidth ) {\n arrayCellsWidthAutoHelper[parseFloat( td.dataset.xIndex )] = table.dataset.wptbTdWidthAuto ? parseFloat( table.dataset.wptbTdWidthAuto, 10 ) : 100;\n td.dataset.wptbCssTdAutoWidth = true;\n }\n }\n\n if( window.getComputedStyle( td, null ) ) {\n let tdStyleObj = window.getComputedStyle( td, null );\n let tdPaddingLeft = tdStyleObj.getPropertyValue( 'padding-left' );\n let tdPaddingRight = tdStyleObj.getPropertyValue( 'padding-right' );\n tdPaddingCommon = parseFloat( tdPaddingLeft, 10 ) + parseFloat( tdPaddingRight, 10 );\n\n let tableTdBorderLeftWidth = tdStyleObj.getPropertyValue( 'border-left-width' );\n let tableTdBorderRightWidth = tdStyleObj.getPropertyValue( 'border-right-width' );\n tableTdBorderCommonWidth = parseFloat( tableTdBorderLeftWidth, 10 ) + parseFloat( tableTdBorderRightWidth, 10 );\n tableTdBorderCommonWidth = tableTdBorderCommonWidth / 2;\n\n if( arrayCellsWidthFixedHelper[parseFloat( td.dataset.xIndex )] ) {\n arrayCellsWidthFixedHelper[parseFloat( td.dataset.xIndex )] += tdPaddingCommon;\n arrayCellsWidthFixedHelper[parseFloat( td.dataset.xIndex )] += tableTdBorderCommonWidth;\n\n if( j == 0 && ( tableBorderCommon / 2 ) <= parseFloat( tableTdBorderLeftWidth, 10 ) ) {\n arrayCellsWidthFixedHelper[parseFloat( td.dataset.xIndex )] += parseFloat( tableTdBorderLeftWidth, 10 ) / 2;\n } else if( j == 0 && ( tableBorderCommon / 2 ) > parseFloat( tableTdBorderLeftWidth, 10 ) ) {\n arrayCellsWidthFixedHelper[parseFloat( td.dataset.xIndex )] += ( ( tableBorderCommon / 2 ) - ( parseFloat( tableTdBorderRightWidth, 10 ) / 2 ) );\n }\n\n if( j == tds.length - 1 && ( tableBorderCommon / 2 ) <= parseFloat( tableTdBorderRightWidth, 10 ) ) {\n arrayCellsWidthFixedHelper[parseFloat( td.dataset.xIndex )] += parseFloat( tableTdBorderRightWidth, 10 ) / 2;\n } else if( j == tds.length - 1 && ( tableBorderCommon / 2 ) > parseFloat( tableTdBorderRightWidth, 10 ) ) {\n arrayCellsWidthFixedHelper[parseFloat( td.dataset.xIndex )] += ( ( tableBorderCommon / 2 ) - ( parseFloat( tableTdBorderRightWidth, 10 ) / 2 ) );\n }\n } else if( arrayCellsWidthAutoHelper[parseFloat( td.dataset.xIndex )] ) {\n arrayCellsWidthAutoHelper[parseFloat( td.dataset.xIndex )] += tdPaddingCommon;\n arrayCellsWidthAutoHelper[parseFloat( td.dataset.xIndex )] += tableTdBorderCommonWidth;\n\n if( j == 0 && ( tableBorderCommon / 2 ) <= parseFloat( tableTdBorderLeftWidth, 10 ) ) {\n arrayCellsWidthAutoHelper[parseFloat( td.dataset.xIndex )] += parseFloat( tableTdBorderLeftWidth, 10 ) / 2;\n } else if( j == 0 && ( tableBorderCommon / 2 ) > parseFloat( tableTdBorderLeftWidth, 10 ) ) {\n arrayCellsWidthAutoHelper[parseFloat( td.dataset.xIndex )] += ( ( tableBorderCommon / 2 ) - ( parseFloat( tableTdBorderLeftWidth, 10 ) / 2 ) );\n }\n\n if( j == tds.length - 1 && ( tableBorderCommon / 2 ) <= parseFloat( tableTdBorderRightWidth, 10 ) ) {\n arrayCellsWidthAutoHelper[parseFloat( td.dataset.xIndex )] += parseFloat( tableTdBorderRightWidth, 10 ) / 2;\n } else if( j == tds.length - 1 && ( tableBorderCommon / 2 ) > parseFloat( tableTdBorderRightWidth, 10 ) ) {\n arrayCellsWidthAutoHelper[parseFloat( td.dataset.xIndex )] += ( ( tableBorderCommon / 2 ) - ( parseFloat( tableTdBorderLeftWidth, 10 ) / 2 ) );\n }\n }\n }\n } else if( arrayCellsWidthAutoHelper[parseFloat( td.dataset.xIndex )] ) {\n if( ! td.dataset.wptbFixedWidth ) {\n td.dataset.wptbCssTdAutoWidth = true;\n }\n } else if( arrayCellsWidthFixedHelper[parseFloat( td.dataset.xIndex )] ) {\n td.removeAttribute( 'data-wptb-css-td-auto-width' );\n }\n }\n }\n\n for( let i = 0; i < arrayCellsWidthFixedHelper.length; i++ ) {\n if( arrayCellsWidthFixedHelper[i] ) {\n tableTdsSumMaxWidthFixed += arrayCellsWidthFixedHelper[i];\n }\n }\n\n let CellsWidthAutoCount = 0;\n for( let i = 0; i < arrayCellsWidthAutoHelper.length; i++ ) {\n if( arrayCellsWidthAutoHelper[i] ) {\n tableTdsSumMaxWidthAuto += arrayCellsWidthAutoHelper[i];\n CellsWidthAutoCount++;\n }\n }\n\n tableTdsSumMaxWidth = tableTdsSumMaxWidthFixed + tableTdsSumMaxWidthAuto;\n\n table.dataset.wptbTableTdsSumMaxWidth = tableTdsSumMaxWidth;\n if( CellsWidthAutoCount ) {\n table.dataset.wptbCellsWidthAutoCount = CellsWidthAutoCount;\n if( table.mergingСellsHorizontally ) {\n table.dataset.wptbFixedWidthSize = tableTdsSumMaxWidthFixed;\n } else {\n table.removeAttribute( 'data-wptb-fixed-width-size' );\n }\n } else {\n table.removeAttribute( 'data-wptb-fixed-width-size' );\n table.removeAttribute( 'data-wptb-cells-width-auto-count' );\n }\n\n let styleElementCreate = false;\n let tableTdWidthAuto;\n if( tableTdsSumMaxWidth < wptbTableSetupWidth ) {\n if( CellsWidthAutoCount ) {\n table.style.minWidth = '100%';\n if( table.mergingСellsHorizontally ) {\n table.style.width = 'auto';\n let tableTdsWidthAutoCommon = wptbTableSetupWidth - tableTdsSumMaxWidthFixed;\n tableTdWidthAuto = tableTdsWidthAutoCommon / CellsWidthAutoCount;\n tableTdWidthAuto = tableTdWidthAuto - tdPaddingCommon - tableTdBorderCommonWidth;\n styleElementCreate = true;\n } else {\n table.style.width = '100%';\n }\n } else {\n table.style.width = 'auto';\n table.style.minWidth = null;\n table.style.maxWidth = null;\n }\n } else {\n table.style.maxWidth = null;\n table.style.minWidth = tableTdsSumMaxWidth + 'px';\n table.style.width = 'auto';\n tableTdWidthAuto = table.dataset.wptbTdWidthAuto ? table.dataset.wptbTdWidthAuto : '100';\n styleElementCreate = true;\n }\n\n let head = document.head;\n if( head ) {\n let cssForTdsWidthAutoOld = head.querySelector( 'style[data-wptb-td-auto-width=\"true\"]' );\n if( cssForTdsWidthAutoOld ) {\n head.removeChild( cssForTdsWidthAutoOld );\n }\n }\n\n if( styleElementCreate ) {\n cssForTdsWidthAuto = document.createElement( 'style' );\n cssForTdsWidthAuto.setAttribute( 'data-wptb-td-auto-width', true );\n cssForTdsWidthAuto.innerHTML = '[data-wptb-css-td-auto-width=true]{width:' + tableTdWidthAuto + 'px}';\n if( head ) {\n head.appendChild( cssForTdsWidthAuto );\n }\n }\n\n if( table.dataset.wptbTableAlignment ) {\n let wptbTableAlignment = table.dataset.wptbTableAlignment;\n\n let wptbTableSetupWidth = wptbTableSetup.offsetWidth;\n if( wptbTableSetupWidth < table.offsetWidth ) {\n table.style.float = null;\n } else {\n if( wptbTableAlignment == 'center' ) {\n table.style.float = null;\n } else {\n table.style.float = wptbTableAlignment;\n }\n }\n\n if( wptbTableAlignment == 'center' ) {\n wptbTableSetup.style.float = null;\n } else {\n wptbTableSetup.style.float = wptbTableAlignment;\n }\n\n if( tableTdWidthAuto && table.dataset.wptbTableContainerMaxWidth && table.offsetWidth < table.dataset.wptbTableContainerMaxWidth ) {\n table.style.width = '100%';\n }\n } else {\n table.style.float = null;\n }\n }\n\n table.addRowHeight = function( value, cleaner ) {\n let highlighted = table.getElementsByClassName( 'wptb-highlighted' );\n if( highlighted.length > 0 ) {\n for( let k = 0; k < highlighted.length; k++ ) {\n let dataYIndex = highlighted[k].dataset.yIndex;\n if( dataYIndex ) {\n function tableTdsFor( dataYIndex, rowspan ) {\n let tableRows = table.rows;\n let heightIsSet = false;\n let arrayTdsPrevious = [];\n for( let i = 0; i < tableRows.length; i++ ) {\n let row = tableRows[i];\n let tds = row.children;\n for( let j = 0; j < tds.length; j++ ) {\n let td = tds[j];\n if( td.dataset.yIndex == dataYIndex ) {\n if( value ) {\n if( td.rowSpan == rowspan ) {\n td.style.height = value + 'px';\n td.removeAttribute( 'data-wptb-fixed-heidht' );\n heightIsSet = true;\n continue;\n } else {\n td.style.height = null;\n td.dataset.wptbFixedHeight = value;\n if( j == tds.length - 1 && ! heightIsSet ) {\n tableTdsFor( dataYIndex , rowspan + 1 );\n }\n }\n } else if( cleaner ) {\n td.style.height = null;\n td.removeAttribute( 'data-wptb-fixed-heidht' );\n } else {\n if( td.dataset.wptbFixedHeight ) {\n if( td.rowSpan = rowspan ) {\n td.style.height = td.dataset.wptbFixedHeight + 'px';\n td.removeAttribute( 'data-wptb-fixed-width' );\n }\n } else if( td.style.height ) {\n for( let z = 0; z < arrayTdsPrevious.length; z++ ) {\n arrayTdsPrevious[z].style.height = td.style.height;\n }\n arrayTdsPrevious = [];\n } else {\n arrayTdsPrevious.push( td );\n }\n }\n }\n }\n }\n }\n\n tableTdsFor( dataYIndex, 1 );\n }\n }\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-changed/after', table);\n }\n }\n\n table.reconstraction = function() {\n let tds = table.getElementsByTagName( 'td' );\n table.mergingСellsHorizontally = false;\n table.mergingCellsVertically = false;\n table.dataset.reconstraction = 1;\n let forBreak = 0;\n for( let i = 0; i < tds.length; i++ ) {\n if( tds[i].colSpan > 1 ) {\n table.dataset.reconstraction = 0;\n table.mergingСellsHorizontally = true;\n forBreak++;\n }\n\n if( tds[i].rowSpan > 1 ) {\n table.dataset.reconstraction = 0;\n table.mergingCellsVertically = true;\n forBreak++;\n }\n\n if( forBreak == 2 ) {\n break;\n }\n }\n }\n\n /*\n * As simple as it is: adds a column to the end of table.\n */\n table.addColumnEnd = function () {\n let td,\n currentTable = document.getElementsByClassName('wptb-preview-table'),\n currentTableTd,\n currentTdStyle;\n if (currentTable.length > 0) {\n currentTableTd = currentTable[0].querySelector('td');\n }\n\n if (currentTableTd) {\n currentTdStyle = currentTableTd.getAttribute('style');\n }\n\n for (var i = 0; i < table.rows.length; i++) {\n td = new WPTB_Cell(mark);\n\n if (currentTdStyle) {\n td.getDOMElement().setAttribute('style', currentTdStyle);\n td.getDOMElement().style.width = null;\n td.getDOMElement().style.height = null;\n td.getDOMElement().style.borderColor = WPTB_TableSettingsData.getTableSetting('borderColor');\n }\n\n table.rows[i].appendChild(td.getDOMElement());\n array[i].push(0);\n }\n\n maxAmountOfCells++;\n table.recalculateIndexes();\n table.tdDefaultWidth();\n table.addRowHeight();\n WPTB_Helper.dataTitleColumnSet( table );\n undoSelect();\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-changed/after', table);\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n };\n\n /*\n * As simple as it looks: adds a column to the start of table.\n */\n\n table.addColumnStart = function () {\n let td,\n firstCell,\n currentTable = document.getElementsByClassName('wptb-preview-table'),\n currentTableTd,\n currentTdStyle;\n if ( currentTable.length > 0 ) {\n currentTableTd = currentTable[0].querySelector('td');\n }\n\n if ( currentTableTd ) {\n currentTdStyle = currentTableTd.getAttribute('style');\n }\n\n for (var i = 0; i < table.rows.length; i++) {\n td = new WPTB_Cell(mark);\n if (currentTdStyle) {\n td.getDOMElement().setAttribute('style', currentTdStyle);\n td.getDOMElement().style.width = null;\n td.getDOMElement().style.height = null;\n td.getDOMElement().style.borderColor = WPTB_TableSettingsData.getTableSetting('borderColor');\n }\n firstCell = table.rows[i].getElementsByTagName('td')[0];\n if (firstCell) {\n table.rows[i].insertBefore(td.getDOMElement(), firstCell);\n } else {\n table.rows[i].appendChild(td.getDOMElement());\n }\n array[i].push(0);\n }\n\n maxAmountOfCells++;\n table.recalculateIndexes();\n table.tdDefaultWidth();\n table.addRowHeight();\n WPTB_Helper.dataTitleColumnSet( table );\n undoSelect();\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-changed/after', table);\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n };\n\n /*\n * Well, not so simple as previous functions.\n * It adds a column after a certain column of reference.\n * @param integer the column number to be used as reference.\n *\tIf empty, then the first highlighted cell is used as reference.\n */\n\n table.addColumnAfter = function (c_pos) {\n let rows = table.rows,\n cell,\n cellStyle,\n pos;\n\n if(c_pos != undefined && typeof c_pos === 'number') {\n pos = c_pos;\n cell = document.querySelector('[data-x-index=\"' + pos + '\"]');\n } else {\n cell = document.querySelector('.wptb-highlighted');\n pos = getCoords(cell)[1];\n }\n\n if(cell) {\n cellStyle = cell.getAttribute('style');\n\n if( maxAmountOfCells - pos - cell.colSpan + 1 == 1 ) {\n table.addColumnEnd();\n } else {\n for(let i = 0; i < rows.length; i++) {\n let tds = rows[i].children;\n for(let j = 0; j < tds.length; j++) {\n if(parseInt(tds[j].dataset.xIndex) <= pos) {\n if(parseInt(tds[j].dataset.xIndex) + tds[j].colSpan == pos + cell.colSpan) {\n let td = newTd(cellStyle);\n let nextSib = tds[j].nextSibling;\n if (nextSib) {\n rows[i].insertBefore(td.getDOMElement(), nextSib);\n } else {\n rows[i].appendChild(td.getDOMElement());\n }\n\n break;\n } else if(parseInt(tds[j].dataset.xIndex) + tds[j].colSpan > pos + cell.colSpan) {\n tds[j].colSpan++;\n if(tds[j].rowSpan > 1) i += tds[j].rowSpan - 1;\n break;\n }\n } else if(parseInt(tds[j].dataset.xIndex) > pos) {\n let td = newTd(cellStyle);\n rows[i].insertBefore(td.getDOMElement(), tds[j]);\n break;\n }\n }\n }\n\n function newTd(cellStyle) {\n let td = new WPTB_Cell(mark);\n if (cellStyle) {\n td.getDOMElement().setAttribute('style', cellStyle);\n td.getDOMElement().style.width = null;\n td.getDOMElement().style.height = null;\n }\n td.getDOMElement().style.borderColor = WPTB_TableSettingsData.getTableSetting('borderColor');\n return td;\n }\n\n for (var i = 0; i < array.length; i++) {\n array[i].push(0);\n }\n maxAmountOfCells++;\n drawTable(array);\n table.recalculateIndexes();\n table.addColumnWidth();\n table.addRowHeight();\n WPTB_Helper.dataTitleColumnSet( table );\n undoSelect();\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-changed/after', table);\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n }\n }\n };\n\n /*\n * For preventing us to take a lot of time,\n * This is just calling the function addColumnAfter, but\n * using the previous column to current one as reference.\n * @see addColumnAfter\n */\n\n table.addColumnBefore = function () {\n var cell = document.querySelector('.wptb-highlighted'),\n pos = getCoords(cell)[1];\n\n if (pos === 0) {\n table.addColumnStart();\n } else {\n table.addColumnAfter(pos - 1);\n }\n };\n\n /*\n * Luckily, thisfunction is simple,\n * it just add a row to the end of table.\n */\n\n table.addRowToTheEnd = function () {\n let r = table.insertRow(-1),\n td,\n aux,\n currentTable = document.getElementsByClassName('wptb-preview-table');\n r.classList.add( 'wptb-row' );\n if (currentTable.length > 0) {\n currentTable = currentTable[0];\n\n for (var i = 0; i < maxAmountOfCells; i++) {\n td = new WPTB_Cell(mark);\n let currentTableTd = currentTable.querySelector('[data-x-index=\"' + i + '\"]');\n if( currentTableTd ) {\n let currentTdStyle = currentTableTd.getAttribute( 'style' );\n\n td.getDOMElement().setAttribute( 'style', currentTdStyle );\n td.getDOMElement().style.height = null;\n }\n r.appendChild(td.getDOMElement());\n }\n\n aux = Array.from(array[0]);\n array.push(aux);\n drawTable(array);\n table.recalculateIndexes();\n WPTB_Helper.tableRowsColorsReinstall( table );\n table.addColumnWidth();\n WPTB_Helper.dataTitleColumnSet( table );\n undoSelect();\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-changed/after', table);\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n }\n };\n\n /*\n * Yet another simple function,\n * it just add a row to the start of table.\n */\n\n table.addRowToTheStart = function () {\n let r = table.insertRow(0),\n td,\n aux,\n currentTable = document.getElementsByClassName('wptb-preview-table'),\n currentTableTd,\n currentTdStyle;\n r.classList.add( 'wptb-row' );\n if (currentTable.length > 0) {\n currentTable = currentTable[0];\n\n for (var i = 0; i < maxAmountOfCells; i++) {\n td = new WPTB_Cell(mark);\n let currentTableTd = currentTable.querySelector('[data-x-index=\"' + i + '\"]');\n if( currentTableTd ) {\n let currentTdStyle = currentTableTd.getAttribute( 'style' );\n\n td.getDOMElement().setAttribute( 'style', currentTdStyle );\n td.getDOMElement().style.height = null;\n }\n r.appendChild(td.getDOMElement());\n }\n\n aux = Array.from(array[0]);\n array.push(aux);\n drawTable(array);\n table.recalculateIndexes();\n WPTB_Helper.tableRowsColorsReinstall( table );\n table.addColumnWidth();\n WPTB_Helper.dataTitleColumnSet( table );\n undoSelect();\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-changed/after', table);\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n }\n };\n\n /*\n * This function adds a row before the current one.\n * Since the biggest factor of problem is a not-started but ongoing rowspan,\n * the most of the troubles is not here.\n */\n\n table.addRowBefore = function () {\n let cell = document.querySelector('.wptb-highlighted'),\n cellStyle = cell.getAttribute('style'),\n row = getCoords(cell)[0],\n cellNew;\n\n if(row === 0){\n row = -1;\n }\n\n for( let i = row - 1; i >= 0; i-- ) {\n let rowChildren = table.rows[i].children;\n let rowChildrenLength = rowChildren.length;\n if( rowChildrenLength > 0 ) {\n for( let j = 0; j < rowChildrenLength; j++ ) {\n if( rowChildren[j].rowSpan == 1 ) {\n row = i;\n cellNew = true;\n break;\n }\n }\n }\n if ( cellNew ) {\n break;\n }\n }\n\n\n if (row === -1) {\n table.addRowToTheStart();\n } else {\n table.addRowAfter( row, cellStyle );\n }\n };\n\n /*\n * Well... by the name convention of the previous 3 functions,\n * it's pretty obvious that this functions attaches a new\n * row after highlighted cell row. The greatest obstacle it was\n * the possibility of a TR not having the exact amount of columns\n * occuped by actual node but rowspanned upper cells. For that purpose\n * it was created the function realTimeArray.\n * @see realTimeArray\n */\n\n table.addRowAfter = function ( row, cellStyle ) {\n let cellRowSpan,\n rowAfter,\n aux;\n\n if ( ( row == undefined || typeof row !== 'number' ) && cellStyle == undefined ) {\n let cell = document.querySelector('.wptb-highlighted');\n cellStyle = cell.getAttribute('style'),\n row = getCoords(cell)[0],\n cellRowSpan = cell.rowSpan,\n rowAfter = row + cellRowSpan - 1;\n } else {\n rowAfter = row;\n }\n\n\n let cellsColSpan = 0;\n if ( rowAfter < table.rows.length -1 ) {\n for( let i = 0; i <= rowAfter ; i++ ) {\n let tableRowsIChildren = table.rows[i].children,\n tableRIChildrenLength = tableRowsIChildren.length;\n if( tableRIChildrenLength > 0 ) {\n for( let j = 0; j < tableRIChildrenLength; j++ ) {\n let rowIRowSpan = tableRowsIChildren[j].rowSpan;\n\n if ( rowIRowSpan - 1 + i > rowAfter ) {\n tableRowsIChildren[j].rowSpan++;\n }\n }\n }\n }\n\n let rNext = table.rows[rowAfter + 1],\n rNextChildren = rNext.children,\n rNextChildrenLength = rNextChildren.length;\n\n if( rNextChildrenLength > 0 ) {\n for ( let i = 0; i < rNextChildrenLength; i++ ) {\n cellsColSpan += rNextChildren[i].colSpan;\n }\n }\n } else {\n cellsColSpan = array[0].length;\n }\n\n let r = table.insertRow( rowAfter + 1 );\n r.classList.add( 'wptb-row' );\n\n for ( j = 0; j < cellsColSpan; j++ ) {\n let td = new WPTB_Cell( mark );\n let currentTableTd = table.querySelector('[data-x-index=\"' + j + '\"]');\n if( currentTableTd ) {\n let currentTdStyle = currentTableTd.getAttribute( 'style' );\n\n td.getDOMElement().setAttribute( 'style', currentTdStyle );\n td.getDOMElement().style.height = null;\n }\n r.appendChild( td.getDOMElement() );\n }\n\n aux = Array.from(array[0]);\n array.push(aux);\n drawTable(array);\n table.recalculateIndexes();\n WPTB_Helper.tableRowsColorsReinstall( table );\n table.addColumnWidth();\n WPTB_Helper.dataTitleColumnSet( table );\n undoSelect();\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-changed/after');\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n };\n\n /*\n * This function checks the current selected cells\n * make a rectangular shape.\n * @param Array the abstract table.\n * @return false, if not making a rectangle, or\n *\tArray an array containing number of rows and columns, if selection makes a rectangle.\n */\n\n table.isSquare = function (a) {\n var rowStart = -1,\n columnStart = -1,\n rowEnd = -1,\n columnEnd = -1,\n height,\n width,\n itemsEstimate = 0,\n items = 0;\n\n for (var i = 0; i < a.length; i++) {\n for (var j = 0; j < a[i].length; j++) {\n if (a[i][j] == 1) {\n if ( j < columnStart || columnStart == -1 ) {\n columnStart = j;\n }\n if ( i < rowStart || rowStart == -1 ) {\n rowStart = i;\n }\n }\n }\n\n }\n\n for (var i = a.length - 1; i > -1; i--) {\n for (var j = a[i].length - 1; j > -1; j--) {\n if (a[i][j] == 1) {\n if ( j > columnEnd ) {\n columnEnd = j;\n }\n if ( i > rowEnd ) {\n rowEnd = i;\n }\n }\n }\n }\n\n for (var i = rowStart; i < rowEnd; i++) {\n for (var j = columnStart; j < columnEnd; j++) {\n if (a[i][j] == 0 || a[i][j] == undefined) {\n return false;\n }\n }\n }\n\n for (var i = 0; i < a.length; i++) {\n for (var j = 0; j < a[i].length; j++) {\n if (a[i][j] == 1) {\n items++;\n }\n }\n }\n\n height = rowEnd - rowStart + 1;\n width = columnEnd - columnStart + 1;\n itemsEstimate = height * width;\n\n if (itemsEstimate !== items) {\n return false;\n }\n return [height, width];\n };\n\n /*\n * This function merges all selected cells.\n * Well, actually sets the colspan and rowspan of first\n * upper left cell in selection and deletes the another selected cells.\n */\n\n table.mergeCells = function () {\n var dimensions = table.isSquare(array),\n rowspan = dimensions[0],\n colspan = dimensions[1],\n first = document.querySelector('.wptb-highlighted'),\n tds = [].slice.call(document.getElementsByClassName('wptb-highlighted'), 1),\n tdsChildrenNew = [];\n\n for (let i = 0; i < tds.length; i++) {\n let tdsInternalElements = tds[i].getElementsByClassName('wptb-ph-element');\n if (tdsInternalElements.length > 0) {\n let tdsIntElemLength = tdsInternalElements.length;\n for (let j = 0; j < tdsIntElemLength; j++) {\n tdsChildrenNew.push(tdsInternalElements[j]);\n }\n }\n let p = tds[i].parentNode;\n p.removeChild(tds[i]);\n }\n if (tdsChildrenNew.length > 0) {\n for (let i = 0; i < tdsChildrenNew.length; i++) {\n first.appendChild(tdsChildrenNew[i]);\n }\n }\n\n first.colSpan = colspan;\n first.rowSpan = rowspan;\n table.recalculateIndexes();\n table.reconstraction();\n let firstWidth = first.style.width;\n let firstDataFixedWidth = first.dataset.wptbFixedWidth;\n if( firstWidth ) {\n table.addColumnWidth( parseFloat( firstWidth, 10 ) );\n } else if( firstDataFixedWidth ) {\n table.addColumnWidth();\n } else {\n table.addColumnWidth( false, true );\n }\n\n let firstHeight = first.style.height;\n let firstDataFixedHeight = first.dataset.wptbFixedHeight;\n if( firstHeight ) {\n table.addRowHeight( parseFloat( firstHeight, 10 ) );\n } else if( firstDataFixedHeight ) {\n table.addRowHeight();\n } else {\n table.addRowHeight( false, true );\n }\n WPTB_Helper.dataTitleColumnSet( table );\n undoSelect();\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-changed/after', table);\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n };\n\n /*\n * This functions makes the exact inverse as above.\n * It resets colspan and rowspan and appends\n * the same amount in cells to the table.\n * @bug\n */\n\n table.splitCell = function () {\n var cell = document.getElementsByClassName('wptb-highlighted')[0],\n rowspan = cell.rowSpan,\n colspan = cell.colSpan,\n cellStyles = cell.getAttribute('style'),\n row = getCoords(cell)[0],\n thisRow = table.rows[row],\n cellXIndex =cell.dataset.xIndex;\n\n cell.rowSpan = 1;\n cell.colSpan = 1;\n\n for (let i = 1; i < colspan; i++) {\n let td = new WPTB_Cell(mark);\n td.getDOMElement().setAttribute('style', cellStyles);\n td.getDOMElement().classList.add( 'wptb-highlighted' );\n if ( cell.nextSibling ) {\n thisRow.insertBefore( td.getDOMElement(), cell.nextSibling );\n } else {\n thisRow.appendChild( td.getDOMElement() );\n }\n\n }\n\n if (rowspan > 1) {\n for (let i = 1; i < rowspan; i++) {\n let rowChildInsertBefore = undefined,\n rowNext = table.rows[row + i],\n rowChildren = rowNext.children,\n rowChildrenLength = rowChildren.length;\n\n if ( rowChildrenLength > 0 ) {\n for ( let k = 0; k < rowChildrenLength; k++ ) {\n if ( Number( rowChildren[k].dataset.xIndex ) > Number( cellXIndex ) ) {\n rowChildInsertBefore = rowChildren[k];\n break;\n }\n }\n }\n for ( let j = 0; j < colspan; j++ ) {\n let td = new WPTB_Cell( mark );\n td.getDOMElement().setAttribute( 'style', cellStyles );\n if ( rowChildInsertBefore != undefined ) {\n rowNext.insertBefore( td.getDOMElement(), rowChildInsertBefore );\n } else {\n rowNext.appendChild( td.getDOMElement() );\n }\n }\n }\n }\n\n table.recalculateIndexes();\n table.reconstraction();\n table.addColumnWidth();\n table.addRowHeight();\n WPTB_Helper.dataTitleColumnSet( table );\n undoSelect();\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-changed/after', table);\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n };\n\n /*\n * Searches for rowspanned cells up to row number meeting it.\n * @param number the number of row where the function\n * must search up to.\n */\n\n table.findRowspannedCells = function (row) {\n var array = [],\n difference;\n actualPoints = getActualPointsInRow(row);\n if (actualPoints === maxAmountOfCells) {\n return [];\n }\n difference = maxAmountOfCells - actualPoints;\n\n for (var i = row - 1; i >= 0 && difference; i--) {\n var tds = table.rows[i].getElementsByTagName('td');\n for (var i = 0; i < tds.length; i++) {\n if (tds[i].rowSpan > 1) {\n array.push(tds[i]);\n difference -= tds[i].colSpan;\n }\n }\n }\n return array;\n\n }\n\n /*\n * This function explores the table and adds\n * a cell for each lacking one for each row\n * to meet an even amount of cells.\n */\n\n table.addLackingCells = function () {\n var sumRows = [];\n for (var i = 0; i < table.rows.length; i++) {\n sumRows.push(0);\n }\n\n for (var i = 0; i < table.rows.length; i++) {\n var tds = table.rows[i].getElementsByTagName('td');\n for (var j = 0; j < tds.length; j++) {\n if (tds[j].rowSpan > 1) {\n for (var k = 1; k < tds[j].rowSpan; k++) {\n sumRows[i + k]++;\n }\n }\n }\n }\n\n for (var i = 0; i < table.rows.length; i++) {\n var tds = table.rows[i].getElementsByTagName('td'),\n totalColspan = 0;\n for (var j = 0; j < tds.length; j++) {\n totalColspan += tds[j].colSpan;\n }\n totalColspan += sumRows[i];\n difference = maxAmountOfCells - totalColspan;\n for (var j = 0; j < difference; j++) {\n var td = new WPTB_Cell(mark);\n table.rows[i].appendChild(td.getDOMElement());\n //table.rows[i].insertBefore( td.getDOMElement(), rows[i].nextSibling );\n }\n }\n };\n\n /*\n * This function deletes the row of currently\n * selected cell.\n */\n\n table.deleteRow = function () {\n let cell = document.querySelector('.wptb-highlighted'),\n cellStyles = cell.getAttribute('style'),\n rowspan = cell.rowSpan,\n row = getCoords(cell)[0],\n thisRow,\n aux;\n\n if ( rowspan == undefined ) rowspan = 1;\n\n for ( let i = 0; i < rowspan; i++ ) {\n thisRow = table.rows[row];\n let thisRowChildren = thisRow.children,\n nextRow = table.rows[row + 1],\n nextRowChildren,\n nextRowChildrenLength,\n tdArr = [];\n\n if( nextRow != undefined ) {\n nextRowChildren = nextRow.children;\n nextRowChildrenLength = nextRowChildren.length;\n for (let j = 0; j < thisRowChildren.length; j++) {\n if ( thisRowChildren[j].rowSpan > 1 ) {\n let td = new WPTB_Cell(mark);\n td.getDOMElement().setAttribute('style', cellStyles);\n td.getDOMElement().colSpan = thisRowChildren[j].colSpan;\n td.getDOMElement().rowSpan = thisRowChildren[j].rowSpan - 1;\n\n let nextRowChildrenK = undefined;\n for ( let k = 0; k < nextRowChildrenLength; k++ ) {\n if ( Number( nextRowChildren[k].dataset.xIndex ) > Number( thisRowChildren[j].dataset.xIndex ) ) {\n nextRowChildrenK = nextRowChildren[k];\n break;\n }\n }\n\n if ( nextRowChildrenK ) {\n tdArr.push( [td, nextRowChildrenK] );\n } else {\n tdArr.push( [td] );\n }\n }\n }\n\n if ( tdArr.length > 0 ) {\n for ( let k = 0; k < tdArr.length; k++ ) {\n if ( tdArr[k][1] != undefined ) {\n nextRow.insertBefore( tdArr[k][0].getDOMElement(), tdArr[k][1] );\n } else {\n nextRow.appendChild( tdArr[k][0].getDOMElement() );\n }\n }\n }\n }\n\n let tableRows = table.rows;\n if ( tableRows.length > 0 ) {\n for ( let j = 0; j < row; j++ ) {\n let jRowChildren = tableRows[j].children;\n if ( jRowChildren.length > 0 ) {\n for ( let x = 0; x < jRowChildren.length; x++ ) {\n if ( jRowChildren[x].rowSpan - 1 >= row - j ) {\n jRowChildren[x].rowSpan--;\n }\n }\n }\n }\n }\n aux = Array.from(array[0]);\n array.pop(aux);\n drawTable(array);\n table.getElementsByTagName('tbody')[0].removeChild(table.rows[row]);\n\n if( table.rows.length == 0 ) {\n WPTB_Helper.toggleTableEditMode();\n wptbTableSetup.innerHTML = '';\n document.getElementsByClassName('wptb-table-generator')[0].style.display = 'table';\n let wptbSaveBtn = document.getElementsByClassName( 'wptb-save-btn' );\n if( wptbSaveBtn.length > 0 ) {\n wptbSaveBtn = wptbSaveBtn[0];\n\n wptbSaveBtn.classList.add( 'wptb-save-disabled' );\n wptbSaveBtn.classList.remove('active');\n }\n } else {\n table.recalculateIndexes();\n WPTB_Helper.tableRowsColorsReinstall( table );\n WPTB_Helper.dataTitleColumnSet( table );\n table.reconstraction();\n }\n }\n\n undoSelect();\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-changed/after', table);\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n }\n\n /*\n * This function deletes the column of currently\n * selected cell. Again, this is way more complicated than\n * delete row case.\n */\n\n table.deleteColumn = function () {\n let cell = document.querySelector('.wptb-highlighted'),\n cellXIndex = cell.dataset.xIndex,\n colspan = cell.colSpan;\n\n for ( let i = 0; i < colspan; i++ ) {\n for ( let j = 0; j < table.rows.length; j++ ) {\n let rowChildren = table.rows[j].children;\n let rowChildrenLength = rowChildren.length;\n if( rowChildrenLength > 0 ) {\n for ( let k = rowChildrenLength - 1; k >= 0; k-- ) {\n if ( Number( rowChildren[k].dataset.xIndex ) == Number( cellXIndex ) ) {\n if ( rowChildren[k].colSpan > 1 ) {\n rowChildren[k].colSpan--;\n } else {\n table.rows[j].removeChild( rowChildren[k] );\n }\n break;\n } else if( Number( rowChildren[k].dataset.xIndex ) < Number( cellXIndex ) &&\n Number( rowChildren[k].dataset.xIndex ) +\n Number( rowChildren[k].colSpan -1 ) >= cellXIndex ) {\n if ( rowChildren[k].colSpan > 1 ) {\n rowChildren[k].colSpan--;\n }\n break;\n }\n }\n }\n }\n\n for ( let j = 0; j < table.rows.length; j++ ) {\n if (array[j] != undefined)\n array[j].pop();\n }\n\n maxAmountOfCells--;\n\n if( table.querySelectorAll( 'td' ).length == 0 ) {\n WPTB_Helper.toggleTableEditMode();\n wptbTableSetup.innerHTML = '';\n document.getElementsByClassName('wptb-table-generator')[0].style.display = 'table';\n let wptbSaveBtn = document.getElementsByClassName( 'wptb-save-btn' );\n if( wptbSaveBtn.length > 0 ) {\n wptbSaveBtn = wptbSaveBtn[0];\n\n wptbSaveBtn.classList.add( 'wptb-save-disabled' );\n wptbSaveBtn.classList.remove('active');\n }\n } else {\n table.recalculateIndexes();\n table.tdDefaultWidth();\n WPTB_Helper.dataTitleColumnSet( table );\n table.reconstraction();\n }\n }\n\n undoSelect();\n\n WPTB_Helper.wptbDocumentEventGenerate('wp-table-builder/table-changed/after', table);\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n };\n\n // @deprecated old generate logic\n // document.getElementsByClassName('wptb-table-generator')[0].style.display = 'none';\n\n array = fillTableArray();\n\n undoSelect();\n drawTable(array);\n\n wptbTableSetup.appendChild(table);\n //if (columns || rows) {\n table.recalculateIndexes( true );\n //}\n table.reconstraction();\n table.tdDefaultWidth();\n\n wptbTableSetup.onresize = function() {\n table.tdDefaultWidth();\n };\n\n WPTB_LeftPanel();\n\n // event hook to signal that table is generated and ready to be used\n WPTB_Helper.wptbDocumentEventGenerate('wptb:table:generated', document);\n\n WPTB_Helper.elementStartScript( table, 'table_setting' );\n WPTB_Helper.elementOptionsSet( 'table_setting', table );\n\n // this code gets the ID of the active element in the toolbar\n // and stores it in the data attribute of the common container element \"wpcd_fixed_toolbar\"\n// let wptbPhElement = document.getElementsByClassName( 'wptb-ph-element' );\n// let wpcdFixedToolbar = document.getElementById( 'wpcd_fixed_toolbar' );\n// for ( let i = 0; i < wptbPhElement.length; i++ ) {\n// wptbPhElement[i].addEventListener( 'click', function( e ) {\n// let wptbToolbar = document.getElementById( 'wpcd_fixed_toolbar' ).children;\n// for ( let j = 0; j < wptbToolbar.length; j++ ) {\n// let elementStyles = window.getComputedStyle( wptbToolbar[j], 'null' );\n// if( elementStyles.getPropertyValue( 'display' ) == 'block' ) {\n// wpcdFixedToolbar.dataset.toolbarActiveId = wptbToolbar[j].getAttribute( 'id' );\n// }\n// }\n// }, false );\n// }\n\n// let wptbPanelLeft = document.getElementsByClassName( 'wptb-panel-left' );\n// if( wptbPanelLeft.length > 0 ) {\n// wptbPanelLeft[0].addEventListener( 'click', function( e ) {\n// let toolbarActiveElementId = wpcdFixedToolbar.dataset.toolbarActiveId;\n// document.getElementById( toolbarActiveElementId ).style.display = '';\n// }, false );\n// }\n\n// let body = document.getElementsByTagName( 'body' );\n// if( body.length > 0 ) {\n// body[0].addEventListener( 'click', function( e ) {\n// if ( e.target.classList.contains( 'wptb-panel-left' ) || WPTB_Helper.findAncestor( e.target, 'wptb-panel-left' ) ) {\n// let toolbarActiveElementId = wpcdFixedToolbar.dataset.toolbarActiveId;\n// document.getElementById( toolbarActiveElementId ).style.display = '';\n// }\n// }, false );\n// }\n};\n","const WPTB_TableSettingsData = {\n borderColor: '',\n /**\n *\n * @param {string} name\n * @param {string} value\n */\n setTableSetting: function(name, value){\n this[name] = value;\n },\n /**\n *\n * @param {string} name\n * @returns {*}\n */\n getTableSetting: function (name) {\n return this[name];\n }\n}\n\n","const WPTB_TableStateSaveManager = function () {\n\tthis.tableStateSet = (generate) => {\n\t\tif (generate && window.wptbTableStateSaving && Array.isArray(window.wptbTableStateSaving)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// get table setup\n\t\tlet wptbTableSetup = document.getElementsByClassName('wptb-table-setup');\n\t\tlet wptbPreviewTable = '';\n\t\tif (wptbTableSetup.length > 0) {\n\t\t\twptbTableSetup = wptbTableSetup[0];\n\n\t\t\twptbPreviewTable = wptbTableSetup.querySelector('.wptb-preview-table');\n\t\t} else {\n\t\t\twptbTableSetup = '';\n\t\t}\n\n\t\t// check if a global array doesn't exist with saved versions of the table\n\t\t// them create it\n\t\tif (!window.wptbTableStateSaving && !Array.isArray(window.wptbTableStateSaving)) {\n\t\t\twindow.wptbTableStateSaving = [];\n\t\t}\n\n\t\t// remove the extra part of the array after changing the table\n\t\t// when it is showed in the not last modified version\n\t\tif (window.wptbTableStateSaving.length > window.wptbTableStateNumberShow) {\n\t\t\twindow.wptbTableStateSaving = window.wptbTableStateSaving.slice(0, window.wptbTableStateNumberShow + 1);\n\t\t}\n\n\t\t// add new state of table\n\t\tlet wptbNewTableSetup = '';\n\t\tif (wptbTableSetup) {\n\t\t\twptbNewTableSetup = wptbTableSetup.cloneNode(true);\n\t\t\tconst wptbHighlighted = wptbNewTableSetup.getElementsByClassName('wptb-highlighted');\n\t\t\tfor (let i = 0; i < wptbHighlighted.length; i++) {\n\t\t\t\twptbHighlighted[i].classList.remove('wptb-highlighted');\n\t\t\t}\n\t\t\tconst wptbDirectlyhovered = wptbNewTableSetup.getElementsByClassName('wptb-directlyhovered');\n\t\t\tfor (let i = 0; i < wptbDirectlyhovered.length; i++) {\n\t\t\t\twptbDirectlyhovered[i].classList.remove('wptb-directlyhovered');\n\t\t\t}\n\t\t\tconst mceContentBodys = wptbNewTableSetup.querySelectorAll('.mce-content-body');\n\t\t\tif (mceContentBodys.length > 0) {\n\t\t\t\tfor (let k = 0; k < mceContentBodys.length; k++) {\n\t\t\t\t\tmceContentBodys[k].classList.remove('mce-content-body');\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst dataMceStyle = wptbNewTableSetup.querySelectorAll('[data-mce-style]');\n\t\t\tif (dataMceStyle.length > 0) {\n\t\t\t\tfor (let k = 0; k < dataMceStyle.length; k++) {\n\t\t\t\t\tdataMceStyle[k].removeAttribute('data-mce-style');\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst mceIds = wptbNewTableSetup.querySelectorAll('[id^=mce_]');\n\t\t\tif (mceIds.length > 0) {\n\t\t\t\tfor (let k = 0; k < mceIds.length; k++) {\n\t\t\t\t\tmceIds[k].removeAttribute('id');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet cssForTdsWidthAutoValue = '';\n\t\tconst { head } = document;\n\t\tif (head) {\n\t\t\tconst cssForTdsWidthAuto = head.querySelector('style[data-wptb-td-auto-width=\"true\"]');\n\t\t\tif (cssForTdsWidthAuto) {\n\t\t\t\tcssForTdsWidthAutoValue = cssForTdsWidthAuto.innerHTML;\n\t\t\t}\n\t\t}\n\n\t\tlet wptbTableTitle = '';\n\t\tconst wptbSetupName = document.getElementById('wptb-setup-name');\n\t\tif (wptbSetupName) wptbTableTitle = wptbSetupName.value;\n\n\t\twindow.wptbTableStateSaving.push([wptbNewTableSetup, cssForTdsWidthAutoValue, wptbTableTitle]);\n\n\t\t// set new number of state which is showed now\n\t\twindow.wptbTableStateNumberShow = window.wptbTableStateSaving.length - 1;\n\n\t\t// make undo arrow active when the table was changed\n\t\tif (window.wptbTableStateSaving.length - 1 > 0) {\n\t\t\tlet wptbUndo = document.getElementsByClassName('wptb-undo');\n\t\t\tif (wptbUndo.length > 0) {\n\t\t\t\twptbUndo = wptbUndo[0];\n\n\t\t\t\twptbUndo.classList.remove('wptb-undoredo-disabled');\n\t\t\t}\n\t\t}\n\n\t\t// make redo arrow not active when the table was changed\n\t\tlet wptbRedo = document.getElementsByClassName('wptb-redo');\n\t\tif (wptbRedo.length > 0) {\n\t\t\twptbRedo = wptbRedo[0];\n\n\t\t\twptbRedo.classList.add('wptb-undoredo-disabled');\n\t\t}\n\n\t\tlet wptbSaveBtn = document.getElementsByClassName('wptb-save-btn');\n\t\tif (wptbSaveBtn.length > 0) {\n\t\t\twptbSaveBtn = wptbSaveBtn[0];\n\t\t\tif (\n\t\t\t\t(!wptbSaveBtn.dataset.wptbTableStateNumberSave && window.wptbTableStateNumberShow == 0) ||\n\t\t\t\twindow.wptbTableStateNumberShow == wptbSaveBtn.dataset.wptbTableStateNumberSave ||\n\t\t\t\t!wptbPreviewTable\n\t\t\t) {\n\t\t\t\twptbSaveBtn.classList.add('wptb-save-disabled');\n\t\t\t\twptbSaveBtn.classList.remove('active');\n\t\t\t} else {\n\t\t\t\twptbSaveBtn.classList.remove('wptb-save-disabled');\n\t\t\t\twptbSaveBtn.classList.add('active');\n\t\t\t}\n\t\t}\n\t};\n\n\tthis.tableStateGet = (datawptbUndoredo) => {\n\t\tif (datawptbUndoredo && window.wptbTableStateSaving && window.wptbTableStateSaving.length > 0) {\n\t\t\t// changes the number of the state which displays now\n\t\t\tif (datawptbUndoredo == 'undo') {\n\t\t\t\tif (window.wptbTableStateNumberShow > 0) {\n\t\t\t\t\twindow.wptbTableStateNumberShow--;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else if (datawptbUndoredo == 'redo') {\n\t\t\t\tif (window.wptbTableStateNumberShow < window.wptbTableStateSaving.length) {\n\t\t\t\t\twindow.wptbTableStateNumberShow++;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// add or delete class \"wptb-undoredo-disabled\" for undo button\n\t\t\tlet wptbUndo = document.getElementsByClassName('wptb-undo');\n\t\t\tif (wptbUndo.length > 0) {\n\t\t\t\twptbUndo = wptbUndo[0];\n\n\t\t\t\tif (window.wptbTableStateNumberShow == 0) {\n\t\t\t\t\tif (wptbUndo) {\n\t\t\t\t\t\twptbUndo.classList.add('wptb-undoredo-disabled');\n\t\t\t\t\t}\n\t\t\t\t} else if (window.wptbTableStateNumberShow > 0) {\n\t\t\t\t\tif (wptbUndo) {\n\t\t\t\t\t\twptbUndo.classList.remove('wptb-undoredo-disabled');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// add or delete class \"wptb-undoredo-disabled\" for redo button\n\t\t\tlet wptbRedo = document.getElementsByClassName('wptb-redo');\n\t\t\tif (wptbRedo.length > 0) {\n\t\t\t\twptbRedo = wptbRedo[0];\n\n\t\t\t\tif (window.wptbTableStateNumberShow == window.wptbTableStateSaving.length - 1) {\n\t\t\t\t\tif (wptbRedo) {\n\t\t\t\t\t\twptbRedo.classList.add('wptb-undoredo-disabled');\n\t\t\t\t\t}\n\t\t\t\t} else if (window.wptbTableStateNumberShow < window.wptbTableStateSaving.length - 1) {\n\t\t\t\t\tif (wptbRedo) {\n\t\t\t\t\t\twptbRedo.classList.remove('wptb-undoredo-disabled');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// add or delete class \"wptb-save-disabled\" for save button\n\t\t\tlet wptbSaveBtn = document.getElementsByClassName('wptb-save-btn');\n\t\t\tif (wptbSaveBtn.length > 0) {\n\t\t\t\twptbSaveBtn = wptbSaveBtn[0];\n\t\t\t\tif (\n\t\t\t\t\t(!wptbSaveBtn.dataset.wptbTableStateNumberSave && window.wptbTableStateNumberShow == 0) ||\n\t\t\t\t\twindow.wptbTableStateNumberShow == wptbSaveBtn.dataset.wptbTableStateNumberSave\n\t\t\t\t) {\n\t\t\t\t\twptbSaveBtn.classList.add('wptb-save-disabled');\n\t\t\t\t\twptbSaveBtn.classList.remove('active');\n\t\t\t\t} else {\n\t\t\t\t\twptbSaveBtn.classList.add('active');\n\t\t\t\t\twptbSaveBtn.classList.remove('wptb-save-disabled');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// load necessary saved table state\n\t\t\tlet wptbTableSetup = document.getElementsByClassName('wptb-table-setup');\n\t\t\tif (wptbTableSetup.length > 0) {\n\t\t\t\twptbTableSetup = wptbTableSetup[0];\n\n\t\t\t\t// wptbTableSetup.outerHTML = '';\n\t\t\t\tif (window.wptbTableStateSaving[window.wptbTableStateNumberShow]) {\n\t\t\t\t\tif (\n\t\t\t\t\t\twindow.wptbTableStateSaving[window.wptbTableStateNumberShow][0] &&\n\t\t\t\t\t\ttypeof window.wptbTableStateSaving[window.wptbTableStateNumberShow][0] === 'object'\n\t\t\t\t\t) {\n\t\t\t\t\t\tif ('outerHTML' in window.wptbTableStateSaving[window.wptbTableStateNumberShow][0]) {\n\t\t\t\t\t\t\twptbTableSetup.outerHTML =\n\t\t\t\t\t\t\t\twindow.wptbTableStateSaving[window.wptbTableStateNumberShow][0].outerHTML;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst wptbTableSetupNew = document.querySelector('.wptb-table-setup');\n\t\t\t\t\tif (wptbTableSetupNew && wptbTableSetupNew.children.length == 0) {\n\t\t\t\t\t\t// document.getElementsByClassName('wptb-table-generator')[0].style.display = 'table';\n\t\t\t\t\t\twptbSaveBtn.classList.add('wptb-save-disabled');\n\t\t\t\t\t\twptbSaveBtn.classList.remove('active');\n\t\t\t\t\t} else {\n\t\t\t\t\t\t//document.getElementsByClassName('wptb-table-generator')[0].style.display = 'none';\n\t\t\t\t\t}\n\n\t\t\t\t\t// add or change or delete style element in the head for table cells who have auto width\n\t\t\t\t\tconst { head } = document;\n\t\t\t\t\tif (head) {\n\t\t\t\t\t\tconst cssForTdsWidthAutoOld = head.querySelector('style[data-wptb-td-auto-width=\"true\"]');\n\t\t\t\t\t\tif (cssForTdsWidthAutoOld) {\n\t\t\t\t\t\t\thead.removeChild(cssForTdsWidthAutoOld);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (window.wptbTableStateSaving[window.wptbTableStateNumberShow][1]) {\n\t\t\t\t\t\t\tconst cssForTdsWidthAuto = document.createElement('style');\n\t\t\t\t\t\t\tcssForTdsWidthAuto.setAttribute('data-wptb-td-auto-width', true);\n\t\t\t\t\t\t\tcssForTdsWidthAuto.innerHTML =\n\t\t\t\t\t\t\t\twindow.wptbTableStateSaving[window.wptbTableStateNumberShow][1];\n\t\t\t\t\t\t\thead.appendChild(cssForTdsWidthAuto);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// change value of table title field\n\t\t\t\t\tconst wptbSetupName = document.getElementById('wptb-setup-name');\n\t\t\t\t\tif (typeof window.wptbTableStateSaving[window.wptbTableStateNumberShow][2] !== 'undefined') {\n\t\t\t\t\t\tif (wptbSetupName)\n\t\t\t\t\t\t\twptbSetupName.value = window.wptbTableStateSaving[window.wptbTableStateNumberShow][2];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet body = document.getElementsByTagName('body');\n\t\t\t\tif (body.length > 0) {\n\t\t\t\t\tbody = body[0];\n\t\t\t\t}\n\n\t\t\t\tWPTB_Helper.elementOptionsPanelClear();\n\t\t\t\tWPTB_LeftPanel();\n\n\t\t\t\tconst wptbLeftScrollPanelCellSetting = document.getElementById('wptb-left-scroll-panel-cell-settings');\n\t\t\t\tif (wptbLeftScrollPanelCellSetting) {\n\t\t\t\t\twptbLeftScrollPanelCellSetting.classList.remove('visible');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tthis.tableStateClear = function () {\n\t\tdelete window.wptbTableStateSaving;\n\t\tdelete window.wptbTableStateNumberShow;\n\n\t\tlet wptbSaveBtn = document.getElementsByClassName('wptb-save-btn');\n\t\tif (wptbSaveBtn.length > 0) {\n\t\t\twptbSaveBtn = wptbSaveBtn[0];\n\n\t\t\twptbSaveBtn.removeAttribute('data-wptb-table-state-number-save');\n\t\t}\n\n\t\tlet wptbUndo = document.getElementsByClassName('wptb-undo');\n\t\tif (wptbUndo.length > 0) {\n\t\t\twptbUndo = wptbUndo[0];\n\n\t\t\twptbUndo.classList.add('wptb-undoredo-disabled');\n\t\t}\n\n\t\tlet wptbRedo = document.getElementsByClassName('wptb-redo');\n\t\tif (wptbRedo.length > 0) {\n\t\t\twptbRedo = wptbRedo[0];\n\n\t\t\twptbRedo.classList.add('wptb-undoredo-disabled');\n\t\t}\n\t};\n};\n","var WPTB_innerElementSet = function ( element ) {\n \n element.ondragenter = function (e) {\n var div;\n if ( e.dataTransfer.types.indexOf( 'wptbelement' ) == -1 && e.dataTransfer.types.indexOf( 'wptb-moving-mode' ) == -1 ) {\n return;\n }\n WPTB_DropHandle(this, e);\n \n element.classList.add( 'wptb-ondragenter' );\n }\n element.ondragover = function (e) {\n e.preventDefault();\n WPTB_DropHandle(this, e);\n }\n element.ondragleave = function (e) {\n WPTB_DropHandle(this, e, true);\n\n }\n element.ondrop = function(e) {\n this.classList.remove( 'wptb-ondragenter' );\n let element, classId;\n e.preventDefault();\n e.stopPropagation();\n\n if (!e.dataTransfer.getData('wptbElement') && !e.dataTransfer.getData('node')) {\n return;\n }\n let wptbDropHandle,\n wptbDropBorderMarker;\n if ( document.getElementsByClassName( 'wptb-drop-handle' ).length > 0 ) {\n wptbDropHandle = document.getElementsByClassName( 'wptb-drop-handle' )[0];\n }\n if( document.getElementsByClassName( 'wptb-drop-border-marker' ).length > 0 ) {\n wptbDropBorderMarker = document.getElementsByClassName( 'wptb-drop-border-marker' )[0];\n }\n\n if ( e.dataTransfer.getData( 'wptbElement' ) ) {\n element = WPTB_Helper.newElementProxy( e.dataTransfer.getData( 'wptbElement' ) );\n element = element.getDOMElement();\n } else {\n classId = e.dataTransfer.getData( 'node' );\n element = document.getElementsByClassName( classId )[0];\n //element.classList.remove( 'wptb-moving-mode' );\n }\n\n if(WPTB_Helper.getDragRelativeType() === 'td_relative'){\n WPTB_DropHandle(this, e, true);\n const parentCell = WPTB_Helper.getParentOfType('td', e.target);\n\n parentCell.appendChild(element);\n WPTB_Helper.wptbDocumentEventGenerate('element:mounted:dom', element);\n\n }else if( wptbDropHandle.style.display == 'block' ) {\n let td;\n if( wptbDropHandle.dataset.text == 'Drop Here' ) {\n td = wptbDropHandle.getDOMParentElement();\n td.appendChild( element );\n WPTB_Helper.wptbDocumentEventGenerate('element:mounted:dom', element);\n } else {\n let innerElement = wptbDropHandle.getDOMParentElement();\n td = innerElement.parentNode;\n\n if( wptbDropHandle.dataset.text == 'Above Element' ) {\n td.insertBefore( element, innerElement );\n WPTB_Helper.wptbDocumentEventGenerate('element:mounted:dom', element);\n } else if( wptbDropHandle.dataset.text == 'Below Element' ) {\n let innerElementNext = innerElement.nextSibling;\n td.insertBefore( element, innerElementNext );\n WPTB_Helper.wptbDocumentEventGenerate('element:mounted:dom', element);\n }\n }\n \n let thisRow = td.parentNode;\n if( WPTB_Helper.rowIsTop( thisRow ) ) { \n let table = WPTB_Helper.findAncestor( thisRow, 'wptb-preview-table' );\n \n if( table.classList.contains( 'wptb-table-preview-head' ) ) {\n WPTB_Helper.dataTitleColumnSet( table );\n }\n }\n \n // start item javascript if item is new\n let infArr = element.className.match(/wptb-element-(.+)-(\\d+)/i);\n let elemKind = infArr[1];\n if ( e.dataTransfer.getData( 'wptbElement' ) && ( elemKind == 'text' || elemKind == 'button' || elemKind == 'image' || elemKind == 'star_rating' || elemKind == 'list' ) ) {\n //WPTB_Helper.elementStartScript( element );\n }\n } else {\n return;\n }\n\n if(wptbDropHandle){\n wptbDropHandle.style.display = 'none';\n wptbDropBorderMarker.style.display = 'none';\n }\n\n WPTB_innerElementSet( element );\n \n if( ! element.classList.contains( 'wptb-image-container' ) || element.classList.contains( 'wptb-moving-mode' ) ) {\n element.classList.remove( 'wptb-moving-mode' );\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n } \n return true;\n }\n element.onmouseover = function(e) {\n element.classList.remove( 'wptb-ondragenter' );\n }\n}","var applyGenericItemSettings = function ( element, kindIndexProt, copy = false ) {\n var node = element.getDOMElement(),\n index,\n copy;\n if( node.classList.contains( 'wptb-ph-element' ) ) {\n if ( kindIndexProt == undefined || copy == true ) {\n //index = document.counter.nextIndex( element.kind );\n let wptbElements = document.getElementsByClassName( 'wptb-ph-element' );\n let elementIndexesArr = [];\n for( let i = 0; i < wptbElements.length; i++ ) {\n var regex = new RegExp( 'wptb-element-' + element.kind + '-(\\\\d+)', \"i\" );\n let infArr = wptbElements[i].className.match( regex );\n if( infArr ) {\n elementIndexesArr.push( infArr[1] );\n }\n }\n if( elementIndexesArr.length > 0 ) {\n let elementIndexMax = Math.max( ...elementIndexesArr );\n index = elementIndexMax + 1;\n } else { \n index = 1;\n }\n\n if( copy ) {\n // change all data-elements which save parameters for different controls\n let wptbNodeattributes = [...node.attributes];\n for( let i = 0; i < wptbNodeattributes.length; i++ ) {\n if( wptbNodeattributes[i] && typeof wptbNodeattributes[i] === 'object' && wptbNodeattributes[i].nodeName ) {\n let regularText = new RegExp( 'data-wptb-el-' + element.kind + '-(\\\\d+)-([a-zA-Z0-9_-]+)', \"i\" );\n let attr = wptbNodeattributes[i].nodeName.match( regularText );\n if( attr && Array.isArray( attr ) ) {\n let newDataAttributeName = wptbNodeattributes[i].nodeName.replace( element.kind + '-' + attr[1], element.kind + '-' + index );\n let newDataAttributeValue = wptbNodeattributes[i].nodeValue;\n node.removeAttribute( wptbNodeattributes[i].nodeName );\n node.setAttribute( newDataAttributeName, newDataAttributeValue );\n }\n }\n }\n }\n } else if ( kindIndexProt && ! copy ) {\n let kindIndexProtArr = kindIndexProt.split('-');\n index = kindIndexProtArr[kindIndexProtArr.length - 1];\n // start element javascript if element is new\n \n }\n\n let node_wptb_element_kind_num = node.className.match(/wptb-element-(.+)-(\\d+)/i);\n if ( node_wptb_element_kind_num ) {\n node.classList.remove( node_wptb_element_kind_num[0] );\n }\n if ( ! node.classList.contains( 'wptb-ph-element' ) ) {\n node.classList.add( 'wptb-ph-element' );\n if( ! node.classList.contains( 'wptb-element-' + element.kind + '-' + index ) ) {\n node.classList.add( 'wptb-element-' + element.kind + '-' + index );\n }\n } else {\n if( ! node.classList.contains( 'wptb-element-' + element.kind + '-' + index ) ) {\n node.classList.add( 'wptb-element-' + element.kind + '-' + index );\n }\n }\n WPTB_Helper.elementStartScript( element.getDOMElement() );\n new WPTB_ElementOptions( element, index, kindIndexProt );\n document.counter.increment(element.kind);\n }\n \n node.onmouseenter = function ( event ) {\n if( event.target.classList.contains( 'wptb-moving-mode' ) ) {\n return;\n }\n \n let wptbActionsField = new WPTB_ActionsField();\n \n wptbActionsField.addActionField( 1, node );\n \n wptbActionsField.setParameters( node );\n \n node.classList.remove( 'wptb-ondragenter' );\n };\n \n node.onmouseleave = function ( event ) {\n let wptbActionsField = new WPTB_ActionsField();\n \n wptbActionsField.leaveFromField( event, node );\n };\n};"]}
1
+ {"version":3,"sources":["WPTB_ActionsField.js","WPTB_Builder.js","WPTB_Cell.js","WPTB_CutGlueTable.js","WPTB_DropHandle.js","WPTB_ElementCounters.js","WPTB_ElementObject.js","WPTB_ElementOptions.js","WPTB_HeaderToolbox.js","WPTB_Helper.js","WPTB_Initializer.js","WPTB_LeftPanel.js","WPTB_MultipleSelect.js","WPTB_Parser.js","WPTB_Polyfills.js","WPTB_RecalculateIndexes.js","WPTB_Responsive.js","WPTB_Settings.js","WPTB_SortableTable.js","WPTB_Stringifier.js","WPTB_Table.js","WPTB_TableSettingsData.js","WPTB_TableStateSaveManager.js","WPTB_Upsells.js","WPTB_innerElementSet.js","applyGenericItemSettings.js"],"names":["WPTB_ActionsField","_this","this","wptbActions","document","getElementsByClassName","length","addActionField","actionType","thisNode","body","getElementsByTagName","actions","previousNode","activeElem","classList","remove","parentNode","removeChild","btnDelete","btnCopy","btnMove","createElement","add","appendChild","type","onclick","event","act","target","el","className","match","_typeof","hasOwnProperty","kind","thisRow","WPTB_Helper","rowIsTop","table","findAncestor","contains","dataTitleColumnSet","actionsRemove","WPTB_TableStateSaveManager","tableStateSet","wptbDocumentEventGenerate","copy","infArr","activeElement","activeElemParent","Array","isArray","data","elemProt","tinyMceClear","WPTB_ElementObject","getDOMElement","insertBefore","nextSibling","elementCopy","cloneNode","applyGenericItemSettings","WPTB_innerElementSet","setParameters","draggable","ondragstart","dragImages","jsonIconsDirectories","wp","template","tmplIconsDirectories","IconsDirectories","JSON","parse","getElementIcon","dataTransfer","effectAllowed","setDragImage","setData","style","display","actionsHide","ondragend","elementDragEndClear","coordinatesElement","getBoundingClientRect","wptbContainer","top","parseFloat","left","right","clientWidth","onscroll","leaveFromField","node","relatedTarget","onmouseleave","opacity","url","window","location","href","RegExp","exec","addEventListener","table_id","detectMode","http","XMLHttpRequest","urlSet","ajaxurl","open","setRequestHeader","onreadystatechange","d","readyState","status","ans","responseText","getElementById","value","wptbTableSetupEl","WPTB_Parser","WPTB_Table","element","querySelector","dataset","wptbTableContainerMaxWidth","maxWidth","tdDefaultWidth","WPTB_Settings","send","counter","ElementCounters","select","MultipleSelect","WPTB_Initializer","settings","WPTB_Cell","callback","DOMElement","padding","jQuery","val","innerBorderWidth","parseInt","border","ondblclick","stopPropagation","wptbTableSetup","yIndex","wptbSortableTable","currentTarget","newElementProxy","elementStartScript","wptbPhElement","_loop","i","wptbElementTypeClass","wptbTypeElementArr","split","wptbInternalActiveElement","_loop2","j","wptbInternalActiveElementObj","setCoords","y","x","xIndex","getCoords","coords","appendElement","getCellDimensions","tdStyleObj","getComputedStyle","tdPaddingLeft","getPropertyValue","tdPaddingRight","tdBorderLeftWidth","tdBorderRightWidth","tdPaddingTop","tdPaddingBottom","tdBorderTopWidth","tdBorderBottomWidth","width","offsetWidth","height","offsetHeight","borderCollapse","tableFullStyleObj","tableBorderLeft","tableBorderRight","tableBorderTop","tableBorderBottom","tr","nodeName","toLowerCase","firstChild","lastChild","WPTB_CutGlueTable","cutTableHorizontally","rowBefore","rows","tableRowsIChildren","children","rowSpan","newTdRowspan","sameCellBeforeDivision","td","wptbCell","mark","tdTopStyle","getAttribute","setAttribute","colSpan","dataXIndex","dataXIndexNext","beforeTd","maxCols","WPTB_RecalculateIndexes","glueTableHorizontally","tds","_toConsumableArray","hasAttribute","dataSameCellBeforeDivision","tdsSameBeforeDivision","querySelectorAll","tdsSameBeforeDivisionJPlusChildren","k","cutTableVertically","col","rowChildren","rowChildrenLength","afterTd","rowSpanNewTd","colSpanOld","colSpanNewTd","tdLeftStyle","tdAnalogThisX","tdAnalogThisY","glueTableVertically","jFirstTdGlue","WPTB_DropHandle","thisElem","e","wptbDropHandle","wptbDropBorderMarker","wptbDropBorderMarkerTop","wptbDropBorderMarkerRight","wptbDropBorderMarkerBottom","wptbDropBorderMarkerLeft","hide","arguments","undefined","toPx","concat","getDragRelativeType","cellRelatedDropHandle","range","createRange","setStart","shadowRoot","createContextualFragment","_parentTd$getBounding","getParentOfType","ondragenter","preventDefault","ondragover","ondragleave","ondrop","getData","wptbMovingMode","text","getDOMParentElement","innerElement","innerElementNext","localName","indics","types","notDragEnter","indexOf","elementDrag","offsetY","layerY","bottom","priv","increment","key","nextIndex","kindIndexProt","wptbElementMutch","elementClearFromTinyMce","wpTemplateId","itemHtml","replace","trim","innerHTML","inElems","inElemObj","WPTB_ElementOptions","index","elementOptionsSet","capture","WPTB_HeaderToolbox","wrapperQuery","topMargin","init","manageCellsButton","activateSection","_ref","detail","show","toggleToolboxVisibility","hexToRgb","hex","result","rgbToHex","rgb","isHex","rgbm","Math","round","toString","toUpperCase","slice","test","icon_directory","protocol","hostname","img","src","wptbDropHandles","wptbDropBorderMarkers","linkHttpCheckChange","link","convertToAbs","origin","linkClean","linkArr","cls","parentElement","row","getSelectionText","getSelection","selection","elementOptionsPanelClear","elementOptionsGroup","wpColorPickerCheckChangeForTableStateSaving","originalEvent","removeEventListener","irisStripMouseUpStateSaveManager","wpColorPickerClear","attribute","isId","input","wpPickerContainer","parent","newInput","results","decodeURIComponent","getTableId","tableId","getColumnWidth","cell","xIndexes","cellWidth","getRowHeight","yIndexes","cellHeight","wpColorPickerChange","ui","uiColor","color","classe","number","affectedEl","backgroundColor","ps","ratingStar","span","fill","numberImputSize","wptbNumberInputs","maxCount","maxValue","onkeydown","thisValue","String","substring","onkeyup","ucfirst","str","charAt","eventName","details","CustomEvent","bubbles","dispatchEvent","WPTB_ElementsScriptsLauncher","deleteEventHandlers","off","elementChildren","replaceAll","string","search","join","mceContentBodys","dataMceStyle","removeAttribute","mceEditFocus","contentEditable","spellCheck","mceIds","elementOptionContainerCustomClassSet","targetInput","customClassForContainer","containerElement","elementOptionContainerAdditionalStyles","containerAdditionalStyles","containerStylesArrOne","containerStylesSet","containerStyleStr","containerStyleStrArr","controlsInclude","functionHandler","acceptEventValues","controlConnectFunctionsName","name","elementKind","elementOptionsGroupIds","optionsGroupIds","elementOptionsGroupId","controlActiveElements","map","controlActiveElement","regularText","controlInfArr","controlUnicClassName","controls","controlName","control","targetControlValue","targetControlValueGet","targetValue","eventValue","push","oneControlInclude","wptbContrlStacksConfigId","jsonControlsConfigJson","tmplControlsConfig","container","jsonControlsConfig","controlClassName","innerElementCopyIncludeHandler","valueDependOnControl","dependOnControlName","targetControlElementClass","valueDependOnControlCorrect","dependOnControlDataGet","dependOnControlElementsArr","dependOnControlElements","valueDependOnControlCorrectObj","s","dependOnControlElementClass","dependOnControlData","Object","keys","forEach","unicClass","appearDependOnControl","dependOnMain","showHideTargetControlElement","controlContainerElem","dependOnControlElementsValue","targetControlInactiveVal","prototype","call","targetControlElements","controlActiveVal","dependOnControlElementValue","dependOn","returnBool","coincided","hasNumberAnyParams","targetControlElement","toggleSwitch","dataToggleSwitch","toggleSwitchExecute","elems","checked","eventType","dependOnParams","dependOnValue","bind","controlsStateManager","targetControlClass","controlChangeIndic","targetControls","elementsSettingsTemplatesJs","elementsSettings","elementSettings","stringify","alignmentValue","elementControlsStateCopy","elementProt","copyElem","infArrProt","infArrCopy","elemProtKind","elemCopyKind","elementsSettingsTemplateJs","elementSettingsProt","elementSettingsCopy","elementSettingValue","elementSettingKeyCopy","elementControlsStateDelete","nameControl","wptbElementDatas","elementContainerClass","elementOptionClassIndic","controlElementParent","elementOptionsScriptsContainer","editActionClassRemove","startsWith","wptbelementOptionClass","childNodes","controlsConfigJson","controlsConfig","elementOptionsGroupIdsInvolved","elementOptionsGroupInvolved","elementOptionsContainerInvolved","controlScriptsObj","controlappearDependOnControl","controltoggleSwitch","controlValueDependOnControl","controlsConfigNew","controlKey","tmplControlTemplate","elemContainer","elementControlTargetUnicClass","controlParamCalculateValue","controlTemplate","elementOptionsGroupChildren","elementOptionsContainerOn","elementOptionsContainer","elementOptionsContainerInvolvedGet","elementOptionContainerOn","elementOptionContainer","elementOptionClass","controlContainerElemParent","helperJavascriptElem","helperJavascriptCode","innerText","script","controlScriptsArr","id","editActiveElems","unicClassP","controlParamCalculateValueCreateFunction","handlerFunction","managerExternalCssStyles","elementContainer","selector","cssName","cssValue","head","cssForThisElement","cssText","cssTextArrFirst","pop","selectorExists","cssTextArrSecond","cssTextArrThird","cssNameExists","splice","registerSections","sections","currentSection","sectionElement","sectionDataId","_this2","displayType","triggerSectionEvent","visibility","getCurrentSection","getSectionFromUrl","urlSection","URL","searchParams","get","some","setupSectionButtons","sectionButtons","from","vm","sectionName","wptbSectionButton","wptbSectionDisplayType","setupPanelToggleButtons","$","each","find","click","slideToggle","toggleClass","sectionEvent","setupSidebarToggle","toggleSelector","toggleButton","toggle","externalCssStylesDelete","externalCssStylesCopy","copyElement","activeElemClass","cssForActiveElement","cssForNewElement","infArrCopyEl","cssForActiveElementInnerHTML","cssForNewElementInnerHTML","elementsStylesConvertToObject","stylesElements","stylesObj","styleElemId","elementsStylesSetFromObject","jsonObject","styleCss","saveTable","startSaving","previewSaving","tableSaveIndicator","wptbTableStateNumberSave","wptbTableStateNumberShow","bar","toggleTableEditMode","tableClean","messagingArea","code","datas","postId","wptb_admin_object","t","rs","wptbId","paramIdsNecessaryChange","codeClone","columns","WPTB_Stringifier","outerHTML","datas_containers","styleObjJson","messagingAreaText","setTimeout","params","title","content","elements_datas","elements_styles","security_code","preview_saving","action","builderPageUrl","regex","history","pushState","wptbPreviewBtn","wptbPreviewBtnHref","previewHref","wptbSaveBtn","clickOnFreeSpace","cellModeBackground","wpcdFixedToolbar","elementAjax","dataAjaxData","element_name","element_ajax_data","close","leftScrollPanelCurtain","leftScrollPanelCellSettings","wptbPreviewTable","toggleEditMode","deactivateMultipleSelectMode","wptbPreviewTableTds","activateMultipleSelectMode","checkingDimensionValue","dimension","searchIndex","checkSetGetStyleSizeValue","styleName","computedStyleName","elemStyleValue","elementStyles","checkSetGetStyleColorValue","set","elemStyleColorValue","checkSetGetStyleValue","getValueMaxCountSameElementsInArray","arr","maxPropName","check","countEmpty","recalculateIndexes","tableRowsColorsReinstall","tableIndex","tableHeaderBackground","tableEvenRowBackground","tableOddRowBackground","parentType","dragRelativeType","setDragRelativeType","getElementColorStylesHex","showControlsOnElementMount","showElementsListOnRemove","blockTinyMCEManageCells","addBlocker","blockerElement","haveChild","removeBlocker","cells","calledByBlock","isTableClean","confirm","strings","dirtyConfirmation","saveStatus","builder","wptbSaving","tableGenerator","columnsDecrementButton","columnsIncrementButton","rowsDecrementButton","rowsIncrementButton","columnsInput","rowsInput","WptbResponsive","WPTB_LeftPanel","wptbElementButtons","wptbElement","wptbTablesEditModeCloseButton","wptbHeader","selectedCells","multipleCellMode","isActivated","pushSelectedCell","flushSelectedCells","getFirst","first","minXIndex","minYIndex","getLast","last","maxXIndex","maxYIndex","removeAllButFirst","div","columnTitleMobile","hasDontEnumBug","propertyIsEnumerable","dontEnums","dontEnumsLength","obj","TypeError","prop","trs","maxColsFull","tdsArr","jMainIter","z","responsiveWrapperId","mainContainerQuery","responsiveTable","loaded","addContainerToDom","mainContainer","Error","responsiveElement","load","WPTB_ControlsManager","callControlScript","startUp","tablePreview","wptbRelativeElements","wptbTableStateSaveManager","wptbUndo","tableStateGet","wptbUndoredo","wptbUndoRedoContainer","wptbRedo","shortcodePopupWindow","onbeforeunload","previewId","floor","random","newHref","tableTitleField","onchange","context","factory","exports","module","self","global","options","thisObject","sortingCellMouseMov","tagName","offsetX","layerX","xMatch","clientHeight","sortingCellMouseMoveVertical","sortingCellMouseMoveHorizontal","tdMouseLeave","sortableTable","tableWasSorted","tableRowsBefore","tableRowsAfter","itemsPerHeader","tableRowsArr","tableLastCont","rowspan","rowNum","rowsTdFirst","rowsValuesArr","tdYCoordsRowSpanPrevious","tableRowsPushed","tdsChanged","changeSortingTdsCollection","tdRowspan","textElementsValues","textElementsValuesGet","rowsTd","orderBy","setSortedAscDataAttr","sort","prev","next","sortOrder","unshift","tBody","rowsValObj","trRef","colspan","colNum","columnsTdFirst","columnsValuesArr","tdXCoordsColSpanPrevious","tdColspan","columnsTd","tdsColumn","difference","columnsValObj","tdsAll","removeCellsAttrAfterDivision","tableSM","reassignElementsStyles","dataAttr","prevValue","nextValue","textElements","tdIndexSpanPrev","collectionTds","collectionTdsJSpan","collectionTdsJSpanProperty","indexName","indexNameCamelCase","indexNamePerpendicularCamelCase","tdSpanProperty","tableGroupCount","tdsCollectionChanged","tdSpan","tableMaxCols","cellsStylesScheme","rowsStylesScheme","sortModeSwitcher","active","sortableTableVerticalStart","sortingCellMouseMoveSwitcher","wptbSortableTableVertical","createTableElementsStylesScheme","sortableTableHorizontalStart","wptbSortableTableHorizontal","tableObjectChange","start","elemSelector","elements","elem","objectKey","elementsStylesScheme","elemStyles","sortableTableInitialization","responsiveFront","typeFirst","typeSecond","switchMode","getDirective","directives","sizeRangeId","mode","responsiveMode","modeOptions","topRowAsHeader","cellStackDirection","cellsPerRow","sCMM","dataAttrSortChange","rowsLength","dataYIndexStart","codeMain","tableColumns","minWidth","innerElements","wptbActionsLength","dataMceBogus","array","wptb_preview_table","maxAmountOfCells","cs","noCells","singleCells","multipleCells","cellSettings","position","cellSelectOperation","cellElement","classListOperation","_getCoords2","_slicedToArray","column","isShiftActive","shiftKey","ele","cellHighlighted","markedCells","elementControlSizeUnicClass","elementControlSizeFixedUnicClass","sizeName","getSizeFunctionName","size","cellSizeInputs","cellSizeFixedInput","isSquare","settingId","settingElem","countMarkedCells","splitButton","drawTable","a","undoSelect","fillTableArray","colspansSums","colspanSumInRow","max","apply","maxAmountOfRows","skipInCols","cellsBuffer","xPosition","cellPointer","stepsToMove","reconstraction","insertRow","borderWidth","setMaxAmountOfCells","getMaxAmountOfCells","addColumnWidth","cleaner","highlighted","tableTdsFor","tableRows","widthIsSet","arrayTdsFromPreviousRow","wptbFixedWidth","tableTdsSumMaxWidth","tableTdsSumMaxWidthFixed","tableTdsSumMaxWidthAuto","wptbTableSetupWidth","arrayCellsWidthFixedHelper","arrayCellsWidthAutoHelper","tdPaddingCommon","tableTdBorderCommonWidth","cssForTdsWidthAuto","borderLeftWidth","borderRightWidth","tableBorderCommon","wptbCssTdAutoWidth","wptbTdWidthAuto","tableTdBorderLeftWidth","tableTdBorderRightWidth","CellsWidthAutoCount","wptbTableTdsSumMaxWidth","wptbCellsWidthAutoCount","mergingСellsHorizontally","wptbFixedWidthSize","tableTdWidthAuto","styleElementCreate","cssForTdsWidthAutoOld","wptbTableAlignment","addRowHeight","dataYIndex","heightIsSet","arrayTdsPrevious","wptbFixedHeight","mergingCellsVertically","forBreak","addColumnEnd","currentTableTd","currentTdStyle","currentTable","borderColor","WPTB_TableSettingsData","getTableSetting","addColumnStart","firstCell","addColumnAfter","c_pos","cellStyle","pos","newTd","nextSib","addColumnBefore","addRowToTheEnd","aux","r","addRowToTheStart","addRowBefore","cellNew","addRowAfter","rowAfter","cellsColSpan","tableRIChildrenLength","rNextChildren","rNextChildrenLength","rowStart","columnStart","rowEnd","columnEnd","items","mergeCells","dimensions","tdsChildrenNew","tdsInternalElements","tdsIntElemLength","firstWidth","firstDataFixedWidth","firstHeight","firstDataFixedHeight","splitCell","cellStyles","cellXIndex","rowChildInsertBefore","rowNext","Number","findRowspannedCells","actualPoints","points","getActualPointsInRow","addLackingCells","sumRows","totalColspan","deleteRow","thisRowChildren","nextRow","nextRowChildren","nextRowChildrenLength","tdArr","nextRowChildrenK","jRowChildren","deleteColumn","onresize","setTableSetting","generate","wptbTableStateSaving","wptbNewTableSetup","wptbHighlighted","wptbDirectlyhovered","cssForTdsWidthAutoValue","wptbTableTitle","wptbSetupName","datawptbUndoredo","wptbTableSetupNew","wptbLeftScrollPanelCellSetting","tableStateClear","u","classId","onmouseover","wptbElements","elementIndexesArr","wptbNodeattributes","attributes","attr","newDataAttributeName","newDataAttributeValue","nodeValue","kindIndexProtArr","node_wptb_element_kind_num","onmouseenter","wptbActionsField"],"mappings":"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","file":"admin.js","sourcesContent":["var WPTB_ActionsField = function() {\n //this.wptbBorderMarker;\n this.wptbActions;\n if( document.getElementsByClassName( 'wptb-actions' ).length != 0 ) {\n this.wptbActions = document.getElementsByClassName( 'wptb-actions' )[0];\n }\n\n this.addActionField = ( actionType, thisNode ) => {\n let body = document.getElementsByTagName( 'body' )[0];\n\n let actions = document.getElementsByClassName( 'wptb-actions' );\n if( actions.length != 0 ) {\n let previousNode = actions[0].activeElem;\n if( previousNode ) {\n previousNode.classList.remove( 'wptb-directlyhovered' );\n }\n\n while( actions.length != 0 ) {\n actions[0].parentNode.removeChild( actions[0] );\n }\n }\n\n if( actionType == 1 ) {\n\n let btnDelete, btnCopy;\n\n btnDelete = document.createElement( 'span' ),\n btnCopy = document.createElement( 'span' ),\n actions = document.createElement( 'div' );\n\n actions.classList.add( 'wptb-actions' );\n btnDelete.classList.add( 'dashicons', 'dashicons-trash', 'wptb-delete-action' );\n btnCopy.classList.add( 'dashicons', 'dashicons-admin-page', 'wptb-duplicate-action' );\n\n actions.appendChild( btnCopy );\n actions.appendChild( btnDelete );\n\n body.appendChild( actions );\n\n actions.activeElem = thisNode;\n\n actions.type = 1;\n\n btnDelete.onclick = function( event ) {\n let act = event.target.parentNode.activeElem,\n el = act.parentNode;\n let infArr = act.className.match( /wptb-element-(.+)-(\\d+)/i );\n// if( act && infArr && Array.isArray( infArr ) ) {\n// WPTB_Helper.elementControlsStateDelete( act );\n// WPTB_Helper.externalCssStylesDelete( infArr[0] );\n// }\n\n if( act ) {\n el.removeChild( act );\n }\n\n if( act && typeof act === 'object' && act.hasOwnProperty( 'kind' ) && act.kind == 'text' ) {\n let thisRow = el.parentNode;\n\n if( WPTB_Helper.rowIsTop( thisRow ) ) {\n let table = WPTB_Helper.findAncestor( thisRow, 'wptb-preview-table' );\n\n if( table.classList.contains( 'wptb-table-preview-head' ) ) {\n WPTB_Helper.dataTitleColumnSet( table );\n }\n }\n }\n\n let wptbActionsField = new WPTB_ActionsField();\n wptbActionsField.actionsRemove();\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n\n WPTB_Helper.wptbDocumentEventGenerate('element:removed:dom', document, act);\n };\n\n btnCopy.onclick = ( event ) => {\n let copy,\n infArr,\n type;\n let activeElement = event.target.parentNode.activeElem;\n let activeElemParent = activeElement.parentNode;\n infArr = activeElement.className.match( /wptb-element-(.+)-(\\d+)/i );\n if( infArr && Array.isArray( infArr ) ) {\n type = infArr[1];\n let data = {};\n data.kind = type;\n data.elemProt = activeElement;\n data.tinyMceClear = true;\n copy = new WPTB_ElementObject( data );\n //WPTB_Helper.elementControlsStateCopy( activeElement, copy.getDOMElement() );\n //WPTB_Helper.externalCssStylesCopy( activeElement, copy.getDOMElement() );\n //WPTB_Helper.elementStartScript( copy.getDOMElement() );\n copy.getDOMElement().classList.remove('edit-active');\n activeElemParent.insertBefore( copy.getDOMElement(), activeElement.nextSibling );\n } else {\n copy = {};\n let elementCopy = activeElement.cloneNode( true );\n elementCopy.classList.remove( 'wptb-directlyhovered' );\n\n copy.getDOMElement = function() {\n return elementCopy;\n }\n\n applyGenericItemSettings( copy );\n\n activeElemParent.insertBefore( copy.getDOMElement(), activeElement.nextSibling );\n\n WPTB_Helper.wptbDocumentEventGenerate( 'wptb-inner-element:copy', activeElement, copy.getDOMElement() );\n }\n\n WPTB_innerElementSet( copy.getDOMElement() );\n\n let wptbActionsField = new WPTB_ActionsField( 1, activeElement );\n wptbActionsField.setParameters( activeElement );\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n };\n\n\n if( thisNode.classList.contains( 'wptb-ph-element' ) ) {\n let btnMove;\n btnMove = document.createElement( 'span' );\n btnMove.classList.add( \"dashicons\", \"dashicons-move\", 'wptb-move-action' );\n btnMove.draggable = true;\n actions.appendChild( btnMove );\n\n btnMove.ondragstart = ( event ) => {\n let wptbElementIconsDirectories = 'wptb-element-icons-directories';\n let tmplIconsDirectories = wp.template( wptbElementIconsDirectories );\n let data = {};\n let jsonIconsDirectories = tmplIconsDirectories( data );\n let IconsDirectories = JSON.parse( jsonIconsDirectories );\n\n let dragImages,\n actions = event.target.parentNode,\n activeElem = actions.activeElem,\n infArr,\n type;\n infArr = activeElem.className.match( /wptb-element-(.+)-(\\d+)/i );\n if( infArr && Array.isArray( infArr ) ) {\n type = infArr[1];\n activeElem.classList.add( 'wptb-moving-mode' );\n\n if( IconsDirectories && typeof IconsDirectories === 'object' && IconsDirectories[type] ) {\n dragImages = WPTB_Helper.getElementIcon( IconsDirectories[type] );\n }\n\n event.dataTransfer.effectAllowed = 'move';\n event.dataTransfer.setDragImage( dragImages, 0, 0 );\n event.dataTransfer.setData( 'node', 'wptb-element-' + infArr[1] + '-' + infArr[2] );\n event.dataTransfer.setData( 'wptb-moving-mode', 'wptb-element-' + infArr[1] + '-' + infArr[2] );\n event.dataTransfer.setData( 'wptbElIndic-' + infArr[1], 'wptbElIndic-' + infArr[1] );\n let act = event.target.parentNode.activeElem;\n if( act.kind == 'text' ) {\n let thisRow = act.parentNode.parentNode;\n\n if( WPTB_Helper.rowIsTop( thisRow ) ) {\n let table = WPTB_Helper.findAncestor( thisRow, 'wptb-preview-table' );\n\n if( table.classList.contains( 'wptb-table-preview-head' ) ) {\n WPTB_Helper.dataTitleColumnSet( table );\n }\n }\n }\n } else {\n this.style.display = 'none';\n }\n\n this.actionsHide();\n };\n\n btnMove.ondragend = ( event ) => {\n WPTB_Helper.elementDragEndClear();\n }\n }\n\n actions.style.display = 'flex';\n\n this.wptbActions = actions;\n }\n\n WPTB_Helper.wptbDocumentEventGenerate('wptb:actionfield:generated', document);\n }\n\n this.setParameters = ( thisNode ) => {\n\n if( ! this.wptbActions ) {\n let actions = document.getElementsByClassName( 'wptb-actions' );\n if( actions.length > 0 ) {\n this.wptbActions = actions[0];\n } else {\n this.wptbActions = false;\n }\n }\n\n if( this.wptbActions && this.wptbActions.classList.contains( 'wptb-actions' ) ) {\n this.wptbActions.style.display = 'flex';\n } else {\n return;\n }\n\n let coordinatesElement = thisNode.getBoundingClientRect();\n\n let wptbContainer = document.getElementsByClassName( 'wptb-container' )[0];\n let correctTop = () => {\n let coordinatesElement = thisNode.getBoundingClientRect();\n this.wptbActions.style.top = parseFloat( coordinatesElement.top ) - 15 + 'px';\n }\n //wptbContainer.removeEventListener( 'scroll', correctTop, false );\n\n this.wptbActions.style.top = parseFloat( coordinatesElement.top ) - 15 + 'px';\n this.wptbActions.style.left = ( parseFloat( coordinatesElement.right ) - parseFloat( this.wptbActions.clientWidth ) ) + 1 + 'px';\n\n this.wptbActions.style.display = 'flex';\n thisNode.classList.add( 'wptb-directlyhovered' );\n\n //wptbContainer.addEventListener( 'scroll', correctTop, false );\n wptbContainer.onscroll = correctTop;\n }\n\n this.leaveFromField = ( event, node, actionType ) => {\n if( ! this.wptbActions ) {\n let actions = document.getElementsByClassName( 'wptb-actions' );\n if( actions.length > 0 ) {\n this.wptbActions = actions[0];\n } else {\n this.wptbActions = false;\n }\n }\n\n if( ! this.wptbActions ) {\n return;\n }\n\n if( event.relatedTarget ) {\n if ( event.relatedTarget.classList.contains( 'wptb-actions' ) ||\n event.relatedTarget.classList.contains( 'wptb-move-action' ) ||\n event.relatedTarget.classList.contains( 'wptb-duplicate-action' ) ||\n event.relatedTarget.classList.contains( 'wptb-delete-action' ) || event.relatedTarget.classList.contains( 'wptb-prebuilt-mark-action' ) )\n {\n if( ! this.wptbActions ) {\n this.wptbActions = document.getElementsByClassName( 'wptb-actions' )[0];\n }\n this.wptbActions.onmouseleave = ( event ) => {\n if( event.relatedTarget != null && ( event.relatedTarget.classList.contains( 'wptb-ph-element' ) ||\n WPTB_Helper.findAncestor( event.relatedTarget, 'wptb-ph-element') ) && event.relatedTarget != this.wptbActions.activeElem &&\n WPTB_Helper.findAncestor( event.relatedTarget, 'wptb-directlyhovered' ) != this.wptbActions.activeElem ) {\n\n// this.wptbActions.style.display = 'none';\n// event.relatedTarget.parentNode.parentNode.classList.remove( 'wptb-directlyhovered' );\n//\n// let wptbActionsField = new WPTB_ActionsField();\n//\n// wptbActionsField.addActionField( 1, event.relatedTarget.parentNode.parentNode );\n//\n// wptbActionsField.setParameters( event.relatedTarget.parentNode.parentNode );\n } else {\n\n }\n\n let wptbActionsField = new WPTB_ActionsField();\n\n wptbActionsField.leaveFromField( event, event.relatedTarget.parentNode.parentNode );\n\n event.target.activeElem.classList.remove( 'wptb-directlyhovered' );\n }\n\n return;\n }\n }\n\n node.classList.remove( 'wptb-directlyhovered' );\n this.wptbActions.style.display = 'none';\n\n if( event.relatedTarget ) {\n if( event.relatedTarget.classList.contains( 'wptb-ph-element' ) || WPTB_Helper.findAncestor( event.relatedTarget, 'wptb-ph-element' ) ) {\n this.addActionField( 1, event.relatedTarget.parentNode );\n\n this.setParameters( event.relatedTarget.parentNode );\n }\n }\n }\n\n this.actionsRemove = () => {\n if( ! this.wptbActions ) {\n let actions = document.getElementsByClassName( 'wptb-actions' );\n if( actions.length > 0 ) {\n this.wptbActions = actions[0];\n }\n }\n\n if( this.wptbActions ) {\n this.wptbActions.parentNode.removeChild( this.wptbActions );\n }\n }\n\n this.actionsHide = () => {\n if( ! this.wptbActions ) {\n let actions = document.getElementsByClassName( 'wptb-actions' );\n if( actions.length > 0 ) {\n this.wptbActions = actions[0];\n }\n }\n\n if( this.wptbActions ) {\n this.wptbActions.style.opacity = 0;\n }\n }\n}\n","(function () {\n var WPTB_Builder = function () {\n var table_id = WPTB_Helper.detectMode();\n if ( table_id ) {\n var http = new XMLHttpRequest(),\n urlSet = ajaxurl + \"?action=get_table\" + '&id=' + table_id;\n http.open('GET', urlSet, true);\n http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n http.onreadystatechange = function (d) {\n if (this.readyState == 4 && this.status == 200) {\n var ans = JSON.parse( http.responseText );\n document.getElementById('wptb-setup-name').value = ans[0];\n \n if( ans[1] ) {\n // @deprecated old generate logic\n // document.getElementsByClassName('wptb-table-generator')[0].style.display = 'none';\n let wptbTableSetupEl = document.getElementsByClassName('wptb-table-setup')[0];\n wptbTableSetupEl.appendChild( WPTB_Parser( ans[1] ) );\n \n let body = document.getElementsByTagName('body')[0];\n \n WPTB_Table();\n let element = document.querySelector( '.wptb-preview-table' );\n if( element ) {\n let infArr = element.className.match( /wptb-element-((.+-)\\d+)/i );\n if( ! infArr ) {\n element.classList.add( 'wptb-element-main-table_setting-' + table_id );\n }\n \n if( element.dataset.wptbTableContainerMaxWidth ) {\n wptbTableSetupEl.style.maxWidth = element.dataset.wptbTableContainerMaxWidth + 'px';\n \n element.tdDefaultWidth();\n }\n }\n \n //WPTB_LeftPanel();\n WPTB_Settings();\n \n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n } else {\n document.getElementsByClassName('wptb-table-generator')[0].style.display = 'table';\n }\n \n return;\n }\n };\n http.send(null);\n } else {\n // @deprecated old generate logic\n // document.getElementsByClassName('wptb-table-generator')[0].style.display = 'table';\n\n let wptbTableStateSaveManager = new WPTB_TableStateSaveManager();\n wptbTableStateSaveManager.tableStateSet();\n }\n document.counter = new ElementCounters();\n document.select = new MultipleSelect();\n\n var initializer = WPTB_Initializer();\n settings = WPTB_Settings();\n };\n\n let url = window.location.href,\n regex = new RegExp('[?&]page=wptb-builder'),\n results = regex.exec( url );\n if ( results ) {\n document.addEventListener('DOMContentLoaded', WPTB_Builder);\n }\n})();","var WPTB_Cell = function ( callback, DOMElement ) {\n\n function highlightRow(td) {\n var parentRow = td.parentNode,\n columnCount = parseInt(document.getElementById('wptb-columns-number').value),\n tds = document.getElementsByClassName('wptb-preview-table')[0].getElementsByTagName('td');\n for (var i = 0; i < tds.length; i++) {\n tds[i].classList.remove('wptb-highlighted-row-first', 'wptb-highlighted-row-last', 'wptb-highlighted-row-inner', 'wptb-highlighted-column-first', 'wptb-highlighted-column-last', 'wptb-highlighted-column-inner');\n }\n for (var i = 0; i < columnCount; i++) {\n\n var classToAdd = i == 0 ? 'wptb-highlighted-row-first' : i == columnCount - 1 ? 'wptb-highlighted-row-last' : 'wptb-highlighted-row-inner';\n var ttd = parentRow.getElementsByTagName('td')[i];\n if (ttd !== td) {\n ttd.classList.add(classToAdd);\n }\n }\n }\n\n function highlightColumn(td) {\n\n var index,\n parentRow = td.parentNode,\n columnCount = parseInt(document.getElementById('wptb-columns-number').value), rowCount = parseInt(document.getElementById('wptb-rows-number').value), table = document.getElementsByClassName('wptb-preview-table')[0];\n for (var i = 0; i < columnCount; i++) {\n if (parentRow.getElementsByTagName('td')[i] === td) {\n index = i;\n break;\n }\n }\n\n for (var i = 0; i < rowCount; i++) {\n var classToAdd = i == 0 ? 'wptb-highlighted-column-first' : i == rowCount - 1 ? 'wptb-highlighted-column-last' : 'wptb-highlighted-column-inner';\n var tr = table.getElementsByTagName('tr')[i];\n if (tr.getElementsByTagName('td')[index] !== td) {\n tr.getElementsByTagName('td')[index].classList.add(classToAdd);\n }\n }\n }\n\n if( ! DOMElement ) {\n DOMElement = document.createElement(\"td\");\n\n DOMElement.style.padding = jQuery('#wptb-table-padding-number').val() + 'px';\n\n var innerBorderWidth = jQuery('#wptb-table-inner-border-number').val();\n\n if (innerBorderWidth != '' && parseInt(innerBorderWidth) != 0) {\n DOMElement.style.border = innerBorderWidth + 'px solid ' + jQuery('#wptb-table-border-color').val();\n }\n\n DOMElement.classList.add('wptb-droppable', 'wptb-cell');\n }\n\n DOMElement.draggable = false;\n if ( callback ) {\n DOMElement.onclick = callback;\n }\n\n // Cell double click handler\n DOMElement.ondblclick = function( event ) {\n event.stopPropagation();\n let wptbTableSetup = document.querySelector('.wptb-table-setup')\n if(wptbTableSetup && !wptbTableSetup.classList.contains('wptb-preview-table-manage-cells') &&\n (event.target.dataset.yIndex !== '0' || wptbTableSetup.dataset.wptbSortableTable !== '1') &&\n event.target == event.currentTarget) {\n WPTB_Helper.wptbDocumentEventGenerate( 'table:cell:dblclick', event.target )\n\n let element = WPTB_Helper.newElementProxy( 'text' )\n element = element.getDOMElement()\n\n DOMElement.appendChild( element )\n\n WPTB_innerElementSet( element );\n }\n }\n\n WPTB_innerElementSet( DOMElement );\n\n WPTB_Helper.elementStartScript( DOMElement, 'table_cell_setting' );\n\n let wptbPhElement = DOMElement.getElementsByClassName( 'wptb-ph-element' );\n\n if ( wptbPhElement.length > 0 ) {\n for( let i = 0; i < wptbPhElement.length; i++ ) {\n wptbPhElement[i].getDOMElement = function() {\n return wptbPhElement[i];\n }\n\n WPTB_innerElementSet( wptbPhElement[i] );\n\n let wptbElementTypeClass = wptbPhElement[i].className.match( /wptb-element-((.+-)\\d+)/i );\n if( wptbElementTypeClass && Array.isArray( wptbElementTypeClass ) ) {\n let wptbTypeElementArr = wptbElementTypeClass[1].split( '-' );\n wptbPhElement[i].kind = wptbTypeElementArr[0];\n applyGenericItemSettings( wptbPhElement[i], wptbElementTypeClass[1] );\n let wptbInternalActiveElement = wptbPhElement[i].getElementsByClassName( 'wptb-in-element' );\n if ( wptbInternalActiveElement.length > 0 ) {\n for ( let j = 0; j < wptbInternalActiveElement.length; j++ ) {\n let wptbInternalActiveElementObj = {};\n wptbInternalActiveElementObj.getDOMElement = function() {\n return wptbInternalActiveElement[j];\n }\n\n applyGenericItemSettings( wptbInternalActiveElementObj );\n }\n }\n }\n }\n }\n\n this.getDOMElement = function () {\n return DOMElement;\n };\n\n this.setCoords = function (y, x) {\n var el = this.getDOMElement();\n el.dataset.yIndex = y;\n el.dataset.xIndex = x;\n };\n\n this.getCoords = function () {\n var coords,\n el = this.getDOMElement();\n coords.x = el.dataset.xIndex;\n coords.y = el.dataset.yIndex;\n return coords;\n };\n\n this.appendElement = function (node) {\n getDOMElement().appendChild(node);\n };\n\n DOMElement.getCellDimensions = function() {\n\n let tdStyleObj = window.getComputedStyle( this, null );\n\n let tdPaddingLeft = tdStyleObj.getPropertyValue( 'padding-left' );\n let tdPaddingRight = tdStyleObj.getPropertyValue( 'padding-right' );\n\n let tdBorderLeftWidth = tdStyleObj.getPropertyValue( 'border-left-width' );\n let tdBorderRightWidth = tdStyleObj.getPropertyValue( 'border-right-width' );\n\n let tdPaddingTop = tdStyleObj.getPropertyValue( 'padding-top' );\n let tdPaddingBottom = tdStyleObj.getPropertyValue( 'padding-bottom' );\n\n let tdBorderTopWidth = tdStyleObj.getPropertyValue( 'border-top-width' );\n let tdBorderBottomWidth = tdStyleObj.getPropertyValue( 'border-bottom-width' );\n\n let width = parseInt( this.offsetWidth, 10 ) -\n parseInt( tdPaddingLeft, 10 ) -\n parseInt( tdPaddingRight, 10 );\n\n let height = parseInt( this.offsetHeight, 10 ) -\n parseInt( tdPaddingTop, 10 ) -\n parseInt( tdPaddingBottom, 10 );\n let table = WPTB_Helper.findAncestor( this, 'wptb-preview-table' );\n if(table) {\n if(table.style.borderCollapse === 'collapse') {\n width = width - ( parseInt( tdBorderLeftWidth, 10 ) / 2 ) -\n ( parseInt( tdBorderRightWidth, 10 ) / 2 );\n height = height - ( parseInt( tdBorderTopWidth, 10 ) / 2 ) -\n ( parseInt( tdBorderBottomWidth, 10 ) / 2 );\n let tableFullStyleObj = window.getComputedStyle( table, null );\n let tableBorderLeft = tableFullStyleObj.getPropertyValue( 'border-left-width' );\n let tableBorderRight = tableFullStyleObj.getPropertyValue( 'border-right-width' );\n let tableBorderTop = tableFullStyleObj.getPropertyValue( 'border-top-width' );\n let tableBorderBottom = tableFullStyleObj.getPropertyValue( 'border-bottom-width' );\n\n let tr = this.parentNode;\n if( tr && tr.nodeName.toLowerCase() === 'tr' ) {\n if( tr.firstChild && tr.firstChild.dataset.xIndex === this.dataset.xIndex ) {\n if( parseInt( tableBorderLeft, 10 ) > parseInt( tdBorderLeftWidth, 10 ) ) {\n width += -( parseInt( tableBorderLeft, 10 ) - parseInt( tdBorderLeftWidth, 10 ) ) / 2;\n }\n }\n\n if( tr.lastChild && tr.lastChild.dataset.xIndex === this.dataset.xIndex ) {\n if( parseInt( tableBorderRight, 10 ) > parseInt( tdBorderRightWidth, 10 ) ) {\n width += -( parseInt( tableBorderRight, 10 ) - parseInt( tdBorderRightWidth, 10 ) ) / 2;\n }\n }\n\n let body = tr.parentNode;\n if( body && body.nodeName.toLowerCase() === 'body' ) {\n if( body.firstChild && body.firstChild.firstChi