'; // close class="spbc_settings-field_title"
- $out .= '
';
- $out .= $description;
- $out .= '
'; // close class="spbc_settings_description"
- $out .= '
'; // close class="spbc_wrapper_field"
-
- echo $out;
-}
-
function spbc_field_security_logs__prepare_data(&$table)
{
if ($table->items_count) {
@@ -1731,6 +1195,22 @@ function spbc_field_scanner__prepare_data__files(&$table)
unset($row->actions['cure']);
}
+ // wp-config.php: detect only; content view for Super Admin only; never send to cloud
+ if ( Scanner\Helper::isWpConfigPath($row->path) ) {
+ unset($row->actions['cure']);
+ unset($row->actions['delete']);
+ unset($row->actions['quarantine']);
+ unset($row->actions['replace']);
+ unset($row->actions['send']);
+ if ( ! Scanner\Helper::canViewWpConfigContents() ) {
+ unset($row->actions['view']);
+ unset($row->actions['view_bad']);
+ }
+ if ( ! empty($row->weak_spots) || (isset($row->severity) && $row->severity === 'CRITICAL') ) {
+ $status = '' . esc_html(Scanner\Helper::getWpConfigManualCleanupMessage()) . '';
+ }
+ }
+
$table->items[] = array(
'cb' => $row->fast_hash,
'uid' => $row->fast_hash,
@@ -3527,6 +3007,47 @@ function spbc_field_debug_drop()
. '
';
}
+add_action('wp_ajax_spbc_debug_users_pass_check_run', 'spbc_debug_users_pass_check_run');
+function spbc_debug_users_pass_check_run()
+{
+ spbc_check_ajax_referer('spbc_secret_nonce', 'security');
+
+ global $wpdb;
+
+ // Reset all records so the worker processes them fresh
+ $wpdb->query("UPDATE {$wpdb->base_prefix}spbc_users_pass SET checked = 0");
+
+ // Run the worker directly (synchronous, no cron delay)
+ \CleantalkSP\SpbctWP\UsersPassCheckModule\UsersPassCheckCron::worker();
+
+ // Collect stats after the run
+ $total = (int) $wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->base_prefix}spbc_users_pass");
+ $checked = (int) $wpdb->get_var("SELECT COALESCE(SUM(checked), 0) FROM {$wpdb->base_prefix}spbc_users_pass");
+ $leaked = (int) $wpdb->get_var("SELECT COALESCE(SUM(leaked), 0) FROM {$wpdb->base_prefix}spbc_users_pass");
+
+ if ($total > 0 && $checked === 0) {
+ wp_send_json_error('pwnedpasswords.com API unavailable or no pass hashes in table');
+ return;
+ }
+
+ wp_send_json_success(array(
+ 'total' => $total,
+ 'checked' => $checked,
+ 'leaked' => $leaked,
+ ));
+}
+
+function spbc_field_debug_user_pass_check()
+{
+ ?>
+
+
+
+
+
+ '
@@ -3885,6 +3406,16 @@ function spbc_sanitize_settings($settings)
return $settings;
}
+/**
+ * Whether the current AJAX request comes from the React signup wizard.
+ *
+ * @return bool
+ */
+function spbc_settings__is_wizard_ajax_request()
+{
+ return Post::getInt('spbct_wizard_request') === 1;
+}
+
//Get auto key button
function spbc_get_key_auto($direct_call = false)
{
@@ -3913,6 +3444,9 @@ function spbc_get_key_auto($direct_call = false)
$filtered_admin_email = apply_filters('spbc_get_api_key_email', $admin_email);
$filtered_admin_email = filter_var($filtered_admin_email, FILTER_VALIDATE_EMAIL);
+ // Mark the registrations made by the Connect button of the setup wizard
+ $lead_source = spbc_settings__is_wizard_ajax_request() ? 'spbct_wizard_auto' : '';
+
$result = API::method__get_api_key(
'security',
$filtered_admin_email,
@@ -3923,7 +3457,8 @@ function spbc_get_key_auto($direct_call = false)
$user_ip,
$wpms,
$white_label,
- $hoster_api_key
+ $hoster_api_key,
+ $lead_source
);
if ( ! empty($result['error'])) {
@@ -4906,14 +4441,6 @@ function spbc_cdn_checker__run_check_on_settings_change($settings)
}
}
-/**
- * @return void
- */
-function spbc_settings_field__action_adjust()
-{
- echo AdjustToEnvironmentSettings::render();
-}
-
function spbc_settings_field__secfw__get_ip__get_labels()
{
$options = array();
diff --git a/js/public/spbct-react-bundle.js b/js/public/spbct-react-bundle.js
index c0494c3fb..bbf211c4e 100644
--- a/js/public/spbct-react-bundle.js
+++ b/js/public/spbct-react-bundle.js
@@ -26,7 +26,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\**************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/Button/styles.css\");\n/* harmony import */ var _assets_preloader2_gif__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../assets/preloader2.gif */ \"./js/src/react/assets/preloader2.gif\");\n/* harmony import */ var _assets_yes_png__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../assets/yes.png */ \"./js/src/react/assets/yes.png\");\n/* harmony import */ var _assets_fail_png__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../assets/fail.png */ \"./js/src/react/assets/fail.png\");\n/* harmony import */ var _hooks_useSync__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/useSync */ \"./js/src/react/hooks/useSync.js\");\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\n\n\n\n\n\n\nvar Button = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Button(_ref, ref) {\n var children = _ref.children,\n buttonText = _ref.buttonText,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'button' : _ref$type,\n url = _ref.url,\n lastSyncTitle = _ref.lastSyncTitle;\n var handleClick = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {\n var buttonComponent, preloader, buttonTextContainer, status;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.n) {\n case 0:\n buttonComponent = e.currentTarget;\n preloader = buttonComponent.querySelector('.spbc_preloader_button');\n buttonTextContainer = buttonComponent.querySelector('#spbc_button__sync_regular');\n visibilityOn(preloader);\n buttonComponent.disabled = true;\n _context.n = 1;\n return (0,_hooks_useSync__WEBPACK_IMPORTED_MODULE_5__.runSync)(function (msg) {\n buttonTextContainer.innerText = msg;\n }, function (completeStatus) {\n if (completeStatus && completeStatus.reload) {\n window.location.reload();\n }\n });\n case 1:\n status = _context.v;\n visibilityOff(preloader);\n buttonComponent.disabled = false;\n if (status && status.success) {\n buttonTextContainer.innerText = 'Synchronized successfully';\n visibilityOn(getIcon(buttonComponent, true));\n } else {\n buttonTextContainer.innerText = status && status.message ? status.message : 'Sync failed';\n visibilityOn(getIcon(buttonComponent, false));\n }\n setTimeout(function () {\n buttonTextContainer.innerText = buttonText;\n visibilityOff(getIcon(buttonComponent, true));\n visibilityOff(getIcon(buttonComponent, false));\n }, 5000);\n case 2:\n return _context.a(2);\n }\n }, _callee);\n }));\n return function handleClick(_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n var visibilityOn = function visibilityOn(elem) {\n elem.style.display = 'block';\n };\n var visibilityOff = function visibilityOff(elem) {\n elem.style.display = 'none';\n };\n var getIcon = function getIcon(buttonComponent, ajaxSuccess) {\n var succesIcon = buttonComponent.querySelector('#button-icon-success');\n var failIcon = buttonComponent.querySelector('#button-icon-fail');\n return +ajaxSuccess ? succesIcon : failIcon;\n };\n if (type === 'button') {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n type: \"button\",\n className: \"spbc_manual_link spbc_page_buttons_links_basic_align\",\n onClick: handleClick,\n id: \"spbc_button__sync\",\n ref: ref,\n title: lastSyncTitle\n }, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n id: \"spbc_button__sync_regular\"\n }, buttonText), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n style: {\n marginLeft: '10px',\n marginTop: '1px'\n },\n className: \"spbc_preloader_button\",\n src: _assets_preloader2_gif__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n alt: 'Preloader Ico'\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n style: {\n marginLeft: '10px'\n },\n id: \"button-icon-success\",\n className: \"spbc_success --hide\",\n src: _assets_yes_png__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n alt: 'Yes Ico'\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n style: {\n marginLeft: '10px'\n },\n id: \"button-icon-fail\",\n className: \"spbc_success --hide\",\n src: _assets_fail_png__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n alt: 'Fail Ico'\n })));\n } else {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: url,\n className: \"spbc_manual_link spbc_page_buttons_links_basic_align\",\n target: \"_blank\",\n rel: \"noreferrer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_page_buttons_links_basic_align\"\n }, \" \", children), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, buttonText)));\n }\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Button);\n\n//# sourceURL=webpack:///./js/src/react/components/Button/Button.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/Button/styles.css\");\n/* harmony import */ var _assets_preloader2_gif__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../assets/preloader2.gif */ \"./js/src/react/assets/preloader2.gif\");\n/* harmony import */ var _assets_yes_png__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../assets/yes.png */ \"./js/src/react/assets/yes.png\");\n/* harmony import */ var _assets_fail_png__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../assets/fail.png */ \"./js/src/react/assets/fail.png\");\n/* harmony import */ var _hooks_useSync__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hooks/useSync */ \"./js/src/react/hooks/useSync.js\");\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\n;\n\n\n\n\n\nvar Button = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Button(_ref, ref) {\n var children = _ref.children,\n buttonText = _ref.buttonText,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'button' : _ref$type,\n url = _ref.url,\n lastSyncTitle = _ref.lastSyncTitle;\n var handleClick = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {\n var buttonComponent, preloader, buttonTextContainer, status;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.n) {\n case 0:\n buttonComponent = e.currentTarget;\n preloader = buttonComponent.querySelector('.spbc_preloader_button');\n buttonTextContainer = buttonComponent.querySelector('#spbc_button__sync_regular');\n visibilityOn(preloader);\n buttonComponent.disabled = true;\n _context.n = 1;\n return (0,_hooks_useSync__WEBPACK_IMPORTED_MODULE_5__.runSync)(function (msg) {\n buttonTextContainer.innerText = msg;\n }, function (completeStatus) {\n if (completeStatus && completeStatus.reload) {\n window.location.reload();\n }\n });\n case 1:\n status = _context.v;\n visibilityOff(preloader);\n buttonComponent.disabled = false;\n if (status && status.success) {\n buttonTextContainer.innerText = 'Synchronized successfully';\n visibilityOn(getIcon(buttonComponent, true));\n } else {\n buttonTextContainer.innerText = status && status.message ? status.message : 'Sync failed';\n visibilityOn(getIcon(buttonComponent, false));\n }\n setTimeout(function () {\n buttonTextContainer.innerText = buttonText;\n visibilityOff(getIcon(buttonComponent, true));\n visibilityOff(getIcon(buttonComponent, false));\n }, 5000);\n case 2:\n return _context.a(2);\n }\n }, _callee);\n }));\n return function handleClick(_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n var visibilityOn = function visibilityOn(elem) {\n elem.style.display = 'block';\n };\n var visibilityOff = function visibilityOff(elem) {\n elem.style.display = 'none';\n };\n var getIcon = function getIcon(buttonComponent, ajaxSuccess) {\n var succesIcon = buttonComponent.querySelector('#button-icon-success');\n var failIcon = buttonComponent.querySelector('#button-icon-fail');\n return +ajaxSuccess ? succesIcon : failIcon;\n };\n if (type === 'button') {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n type: \"button\",\n className: \"spbc_manual_link spbc_page_buttons_links_basic_align\",\n onClick: handleClick,\n id: \"spbc_button__sync\",\n ref: ref,\n title: lastSyncTitle\n }, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n id: \"spbc_button__sync_regular\"\n }, buttonText), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n style: {\n marginLeft: '10px',\n marginTop: '1px'\n },\n className: \"spbc_preloader_button\",\n src: _assets_preloader2_gif__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n alt: 'Preloader Ico'\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n style: {\n marginLeft: '10px'\n },\n id: \"button-icon-success\",\n className: \"spbc_success --hide\",\n src: _assets_yes_png__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n alt: 'Yes Ico'\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n style: {\n marginLeft: '10px'\n },\n id: \"button-icon-fail\",\n className: \"spbc_success --hide\",\n src: _assets_fail_png__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n alt: 'Fail Ico'\n })));\n } else {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: url,\n className: \"spbc_manual_link spbc_page_buttons_links_basic_align\",\n target: \"_blank\",\n rel: \"noreferrer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_page_buttons_links_basic_align\"\n }, \" \", children), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, buttonText)));\n }\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Button);\n\n//# sourceURL=webpack:///./js/src/react/components/Button/Button.js?\n}");
/***/ },
@@ -56,7 +56,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\*****************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ InputRadioGroup)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n\n\n/**\n * InputRadioGroup component\n * @param {string} id - Base ID for radio inputs\n * @param {string} name - Name attribute for all radio inputs\n * @param {string|number} value - Currently selected value\n * @param {Array} options - Array of options: [{value: '1', label: 'On'}, {value: '0', label: 'Off'}]\n * @param {function} onChange - Callback when selection changes\n * @param {string} className - Additional CSS class for each radio option wrapper\n * @param {boolean} disabled - Disable all radio inputs\n * @param {JSX.Element} separator - Separator element between radio options\n * @return {JSX.Element} Radio button group\n */\nfunction InputRadioGroup(_ref) {\n var id = _ref.id,\n name = _ref.name,\n initialValue = _ref.value,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? [] : _ref$options,\n onChange = _ref.onChange,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? 'spbc_radio_option' : _ref$className,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$separator = _ref.separator,\n separator = _ref$separator === void 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, \"\\xA0\\xA0\\xA0\\xA0\\xA0\") : _ref$separator;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(String(initialValue !== null && initialValue !== void 0 ? initialValue : '')),\n _useState2 = _slicedToArray(_useState, 2),\n selectedValue = _useState2[0],\n setSelectedValue = _useState2[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n setSelectedValue(String(initialValue !== null && initialValue !== void 0 ? initialValue : ''));\n }, [initialValue]);\n var handleChange = function handleChange(event) {\n var newValue = event.target.value;\n setSelectedValue(newValue);\n if (onChange) {\n onChange(event);\n }\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, options.map(function (option, index) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), {\n key: \"\".concat(id, \"-\").concat(option.value)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: className\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: \"radio\",\n id: \"\".concat(id, \"_\").concat(option.value),\n name: name,\n value: option.value,\n checked: selectedValue === String(option.value),\n onChange: handleChange,\n disabled: disabled || option.disabled,\n className: \"spbc_setting_field\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, option.label))), index < options.length - 1 && separator);\n }));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/FormElements/InputRadioGroup.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ InputRadioGroup)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n;\n\n/**\n * InputRadioGroup component\n * @param {string} id - Base ID for radio inputs\n * @param {string} name - Name attribute for all radio inputs\n * @param {string|number} value - Currently selected value\n * @param {Array} options - Array of options: [{value: '1', label: 'On'}, {value: '0', label: 'Off'}]\n * @param {function} onChange - Callback when selection changes\n * @param {string} className - Additional CSS class for each radio option wrapper\n * @param {boolean} disabled - Disable all radio inputs\n * @param {JSX.Element} separator - Separator element between radio options\n * @return {JSX.Element} Radio button group\n */\nfunction InputRadioGroup(_ref) {\n var id = _ref.id,\n name = _ref.name,\n initialValue = _ref.value,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? [] : _ref$options,\n onChange = _ref.onChange,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? 'spbc_radio_option' : _ref$className,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$separator = _ref.separator,\n separator = _ref$separator === void 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, \"\\xA0\\xA0\\xA0\\xA0\\xA0\") : _ref$separator;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(String(initialValue !== null && initialValue !== void 0 ? initialValue : '')),\n _useState2 = _slicedToArray(_useState, 2),\n selectedValue = _useState2[0],\n setSelectedValue = _useState2[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n setSelectedValue(String(initialValue !== null && initialValue !== void 0 ? initialValue : ''));\n }, [initialValue]);\n var handleChange = function handleChange(event) {\n var newValue = event.target.value;\n setSelectedValue(newValue);\n if (onChange) {\n onChange(event);\n }\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, options.map(function (option, index) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), {\n key: \"\".concat(id, \"-\").concat(option.value)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: className\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: \"radio\",\n id: \"\".concat(id, \"_\").concat(option.value),\n name: name,\n value: option.value,\n checked: selectedValue === String(option.value),\n onChange: handleChange,\n disabled: disabled || option.disabled,\n className: \"spbc_setting_field\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, option.label))), index < options.length - 1 && separator);\n }));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/FormElements/InputRadioGroup.js?\n}");
/***/ },
@@ -66,7 +66,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\***********************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ InputText)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n\nfunction InputText(props) {\n var id = props.id,\n name = props.name,\n _props$value = props.value,\n initialValue = _props$value === void 0 ? '' : _props$value,\n placeholder = props.placeholder,\n onChange = props.onChange,\n style = props.style;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialValue),\n _useState2 = _slicedToArray(_useState, 2),\n inputValue = _useState2[0],\n setInputValue = _useState2[1];\n var sanitize = function sanitize(str) {\n if (typeof str !== 'string') return str;\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n };\n var handleChange = function handleChange(e) {\n var newValue = e.target.value;\n setInputValue(newValue);\n // Call `onChange` from props, if exists\n if (onChange) {\n onChange(e);\n }\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: \"text\",\n id: sanitize(id),\n name: sanitize(name),\n value: inputValue,\n placeholder: sanitize(placeholder) || '',\n style: style || {},\n onChange: handleChange\n });\n}\n\n//# sourceURL=webpack:///./js/src/react/components/FormElements/InputText.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ InputText)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n;\nfunction InputText(props) {\n var id = props.id,\n name = props.name,\n _props$value = props.value,\n initialValue = _props$value === void 0 ? '' : _props$value,\n placeholder = props.placeholder,\n onChange = props.onChange,\n style = props.style;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialValue),\n _useState2 = _slicedToArray(_useState, 2),\n inputValue = _useState2[0],\n setInputValue = _useState2[1];\n var sanitize = function sanitize(str) {\n if (typeof str !== 'string') return str;\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n };\n var handleChange = function handleChange(e) {\n var newValue = e.target.value;\n setInputValue(newValue);\n // Call `onChange` from props, if exists\n if (onChange) {\n onChange(e);\n }\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: \"text\",\n id: sanitize(id),\n name: sanitize(name),\n value: inputValue,\n placeholder: sanitize(placeholder) || '',\n style: style || {},\n onChange: handleChange\n });\n}\n\n//# sourceURL=webpack:///./js/src/react/components/FormElements/InputText.js?\n}");
/***/ },
@@ -76,7 +76,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\********************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Select)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nvar _excluded = [\"id\", \"name\", \"value\", \"options\", \"onChange\", \"className\", \"disabled\", \"placeholder\", \"multiple\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n\nfunction Select(_ref) {\n var id = _ref.id,\n name = _ref.name,\n initialValue = _ref.value,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? [] : _ref$options,\n onChange = _ref.onChange,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$placeholder = _ref.placeholder,\n placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === void 0 ? false : _ref$multiple,\n props = _objectWithoutProperties(_ref, _excluded);\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialValue !== undefined ? initialValue : multiple ? [] : ''),\n _useState2 = _slicedToArray(_useState, 2),\n selectedValue = _useState2[0],\n setSelectedValue = _useState2[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (initialValue !== undefined) {\n setSelectedValue(initialValue);\n }\n }, [initialValue, multiple]);\n var handleChange = function handleChange(event) {\n var newValue = multiple ? Array.from(event.target.selectedOptions, function (option) {\n return option.value;\n }) : event.target.value;\n setSelectedValue(newValue);\n\n // Call `onChange` from props, if exists\n if (onChange) {\n onChange(event);\n }\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"select\", _extends({\n id: id,\n name: name,\n value: selectedValue,\n onChange: handleChange,\n className: className,\n disabled: disabled,\n multiple: multiple\n }, props), placeholder && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n value: \"\",\n disabled: true\n }, placeholder), options.map(function (option) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", _extends({\n key: option.value,\n value: option.value,\n disabled: option.disabled\n }, option.dataAttributes), option.label);\n }));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/FormElements/Select.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Select)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nvar _excluded = [\"id\", \"name\", \"value\", \"options\", \"onChange\", \"className\", \"disabled\", \"placeholder\", \"multiple\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n;\nfunction Select(_ref) {\n var id = _ref.id,\n name = _ref.name,\n initialValue = _ref.value,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? [] : _ref$options,\n onChange = _ref.onChange,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$placeholder = _ref.placeholder,\n placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === void 0 ? false : _ref$multiple,\n props = _objectWithoutProperties(_ref, _excluded);\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialValue !== undefined ? initialValue : multiple ? [] : ''),\n _useState2 = _slicedToArray(_useState, 2),\n selectedValue = _useState2[0],\n setSelectedValue = _useState2[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (initialValue !== undefined) {\n setSelectedValue(initialValue);\n }\n }, [initialValue, multiple]);\n var handleChange = function handleChange(event) {\n var newValue = multiple ? Array.from(event.target.selectedOptions, function (option) {\n return option.value;\n }) : event.target.value;\n setSelectedValue(newValue);\n\n // Call `onChange` from props, if exists\n if (onChange) {\n onChange(event);\n }\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"select\", _extends({\n id: id,\n name: name,\n value: selectedValue,\n onChange: handleChange,\n className: className,\n disabled: disabled,\n multiple: multiple\n }, props), placeholder && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n value: \"\",\n disabled: true\n }, placeholder), options.map(function (option) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", _extends({\n key: option.value,\n value: option.value,\n disabled: option.disabled\n }, option.dataAttributes), option.label);\n }));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/FormElements/Select.js?\n}");
/***/ },
@@ -116,7 +116,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\**************************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LongDescriptionIco)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/LongDescriptionIco/styles.css\");\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n\n\nfunction LongDescriptionIco(_ref) {\n var description = _ref.description;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState2 = _slicedToArray(_useState, 2),\n descriptionShow = _useState2[0],\n setDescriptionShow = _useState2[1];\n var showLongDescription = function showLongDescription() {\n setDescriptionShow(true);\n };\n var hideLongDescription = function hideLongDescription() {\n setDescriptionShow(false);\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'long_description_wrapper'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n className: \"spbc_long_description spbc-icon-help-circled\",\n onClick: showLongDescription\n }), descriptionShow && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_long_desc\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_long_desc__angle_top_left\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n className: \"spbc_long_desc__cancel spbc-icon-cancel\",\n onClick: hideLongDescription\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, description))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/LongDescriptionIco/LongDescriptionIco.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LongDescriptionIco)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/LongDescriptionIco/styles.css\");\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n;\n\nfunction LongDescriptionIco(_ref) {\n var description = _ref.description;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState2 = _slicedToArray(_useState, 2),\n descriptionShow = _useState2[0],\n setDescriptionShow = _useState2[1];\n var showLongDescription = function showLongDescription() {\n setDescriptionShow(true);\n };\n var hideLongDescription = function hideLongDescription() {\n setDescriptionShow(false);\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'long_description_wrapper'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n className: \"spbc_long_description spbc-icon-help-circled\",\n onClick: showLongDescription\n }), descriptionShow && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_long_desc\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_long_desc__angle_top_left\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n className: \"spbc_long_desc__cancel spbc-icon-cancel\",\n onClick: hideLongDescription\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, description))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/LongDescriptionIco/LongDescriptionIco.js?\n}");
/***/ },
@@ -146,7 +146,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\****************************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ReactFileViewDialog)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n// components/ReactFileViewDialog/ReactFileViewDialog.jsx\n\nvar __ = wp.i18n.__;\nfunction ReactFileViewDialog(_ref) {\n var isOpen = _ref.isOpen,\n onClose = _ref.onClose,\n title = _ref.title,\n children = _ref.children,\n _ref$maxWidth = _ref.maxWidth,\n maxWidth = _ref$maxWidth === void 0 ? '80%' : _ref$maxWidth,\n _ref$maxHeight = _ref.maxHeight,\n maxHeight = _ref$maxHeight === void 0 ? '70vh' : _ref$maxHeight,\n _ref$overlayStyle = _ref.overlayStyle,\n overlayStyle = _ref$overlayStyle === void 0 ? {} : _ref$overlayStyle,\n _ref$contentStyle = _ref.contentStyle,\n contentStyle = _ref$contentStyle === void 0 ? {} : _ref$contentStyle;\n if (!isOpen) return null;\n var defaultOverlayStyle = _objectSpread({\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'rgba(0,0,0,0.5)',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'flex-start',\n zIndex: 9990\n }, overlayStyle);\n var defaultContentStyle = _objectSpread({\n backgroundColor: 'white',\n padding: '20px',\n borderRadius: '5px',\n marginTop: '100px',\n maxWidth: maxWidth,\n maxHeight: maxHeight,\n overflow: 'auto',\n position: 'relative'\n }, contentStyle);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc-dialog-overlay\",\n style: defaultOverlayStyle,\n onClick: onClose\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc-dialog-content\",\n style: defaultContentStyle,\n onClick: function onClick(e) {\n return e.stopPropagation();\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: '15px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", null, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n onClick: onClose,\n style: {\n background: 'none',\n border: 'none',\n fontSize: '18px',\n cursor: 'pointer'\n },\n \"aria-label\": __('Close', 'security-malware-firewall')\n }, \"\\xD7\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, children)));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/ReactFileViewDialog/ReactFileViewDialog.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ReactFileViewDialog)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n// components/ReactFileViewDialog/ReactFileViewDialog.jsx\n;\nvar __ = wp.i18n.__;\nfunction ReactFileViewDialog(_ref) {\n var isOpen = _ref.isOpen,\n onClose = _ref.onClose,\n title = _ref.title,\n children = _ref.children,\n _ref$maxWidth = _ref.maxWidth,\n maxWidth = _ref$maxWidth === void 0 ? '80%' : _ref$maxWidth,\n _ref$maxHeight = _ref.maxHeight,\n maxHeight = _ref$maxHeight === void 0 ? '70vh' : _ref$maxHeight,\n _ref$overlayStyle = _ref.overlayStyle,\n overlayStyle = _ref$overlayStyle === void 0 ? {} : _ref$overlayStyle,\n _ref$contentStyle = _ref.contentStyle,\n contentStyle = _ref$contentStyle === void 0 ? {} : _ref$contentStyle;\n if (!isOpen) return null;\n var defaultOverlayStyle = _objectSpread({\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'rgba(0,0,0,0.5)',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'flex-start',\n zIndex: 9990\n }, overlayStyle);\n var defaultContentStyle = _objectSpread({\n backgroundColor: 'white',\n padding: '20px',\n borderRadius: '5px',\n marginTop: '100px',\n maxWidth: maxWidth,\n maxHeight: maxHeight,\n overflow: 'auto',\n position: 'relative'\n }, contentStyle);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc-dialog-overlay\",\n style: defaultOverlayStyle,\n onClick: onClose\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc-dialog-content\",\n style: defaultContentStyle,\n onClick: function onClick(e) {\n return e.stopPropagation();\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: '15px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", null, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n onClick: onClose,\n style: {\n background: 'none',\n border: 'none',\n fontSize: '18px',\n cursor: 'pointer'\n },\n \"aria-label\": __('Close', 'security-malware-firewall')\n }, \"\\xD7\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, children)));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/ReactFileViewDialog/ReactFileViewDialog.js?\n}");
/***/ },
@@ -156,7 +156,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\**********************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SettingsOverview)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/SettingsOverview/styles.css\");\n/* harmony import */ var _Preloader_Preloader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Preloader/Preloader */ \"./js/src/react/components/Preloader/Preloader.js\");\n/* harmony import */ var _modules_Http_Ajax__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../modules/Http/Ajax */ \"./js/src/react/modules/Http/Ajax.js\");\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n\nvar __ = wp.i18n.__;\n\n\n\nfunction SettingsOverview(_ref) {\n var settings = _ref.settings;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState2 = _slicedToArray(_useState, 2),\n settingsOverviewFetched = _useState2[0],\n setSettingsOverviewFetched = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),\n _useState4 = _slicedToArray(_useState3, 2),\n settingsOverview = _useState4[0],\n setSettingsOverview = _useState4[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (!settingsOverview) {\n // @ToDo use settings property instead of separate ajax-call\n fetchSettingsOverview();\n }\n }, []);\n var fetchSettingsOverview = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var requestData, data, _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n _context.p = 0;\n requestData = {\n action: 'spbct_get_tab_data',\n tab_name: 'spbct_settings_overview'\n };\n _context.n = 1;\n return (0,_modules_Http_Ajax__WEBPACK_IMPORTED_MODULE_3__.sendAjaxRequest)(requestData, true);\n case 1:\n data = _context.v;\n setSettingsOverview(data);\n setSettingsOverviewFetched(true);\n _context.n = 3;\n break;\n case 2:\n _context.p = 2;\n _t = _context.v;\n console.error('Error fetching settings overview:', _t);\n setSettingsOverviewFetched(true);\n case 3:\n return _context.a(2);\n }\n }, _callee, null, [[0, 2]]);\n }));\n return function fetchSettingsOverview() {\n return _ref2.apply(this, arguments);\n };\n }();\n if (!settingsOverviewFetched) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Preloader_Preloader__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_tab_fields_group spbc_tab_fields_group--options_overview\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_group_header\",\n id: \"options_overview\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", null, __('Feature Status', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc-options-overview-traffic-light\"\n }, settingsOverview.map(function (group, groupIndex) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n key: groupIndex,\n className: \"spbc-options-overview-traffic-light__group\"\n }, group.anchor ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h4\", {\n className: \"spbc-options-overview-traffic-light__subheading\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: \"#\".concat(group.anchor)\n }, group.title)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h4\", {\n className: \"spbc-options-overview-traffic-light__subheading\"\n }, group.title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc-options-overview-traffic-light__grid\"\n }, group.features.map(function (feature, featureIndex) {\n var stateClass = feature.enabled ? 'spbc-options-overview-traffic-light__item--on' : 'spbc-options-overview-traffic-light__item--off';\n var stateText = feature.enabled ? 'On' : 'Off';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n key: featureIndex,\n className: \"spbc-options-overview-traffic-light__item \".concat(stateClass)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"spbc-options-overview-traffic-light__indicator\",\n \"aria-hidden\": \"true\"\n }), feature.anchor ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"spbc-options-overview-traffic-light__label\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: \"#\".concat(feature.anchor)\n }, feature.label)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"spbc-options-overview-traffic-light__label\"\n }, feature.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"spbc-options-overview-traffic-light__state\"\n }, stateText));\n })));\n }))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/SettingsOverview/SettingsOverview.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SettingsOverview)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/SettingsOverview/styles.css\");\n/* harmony import */ var _Preloader_Preloader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Preloader/Preloader */ \"./js/src/react/components/Preloader/Preloader.js\");\n/* harmony import */ var _modules_Http_Ajax__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../modules/Http/Ajax */ \"./js/src/react/modules/Http/Ajax.js\");\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n;\nvar __ = wp.i18n.__;\n\n\n\nfunction SettingsOverview(_ref) {\n var settings = _ref.settings;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState2 = _slicedToArray(_useState, 2),\n settingsOverviewFetched = _useState2[0],\n setSettingsOverviewFetched = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),\n _useState4 = _slicedToArray(_useState3, 2),\n settingsOverview = _useState4[0],\n setSettingsOverview = _useState4[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (!settingsOverview) {\n // @ToDo use settings property instead of separate ajax-call\n fetchSettingsOverview();\n }\n }, []);\n var fetchSettingsOverview = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var requestData, data, _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n _context.p = 0;\n requestData = {\n action: 'spbct_get_tab_data',\n tab_name: 'spbct_settings_overview'\n };\n _context.n = 1;\n return (0,_modules_Http_Ajax__WEBPACK_IMPORTED_MODULE_3__.sendAjaxRequest)(requestData, true);\n case 1:\n data = _context.v;\n setSettingsOverview(data);\n setSettingsOverviewFetched(true);\n _context.n = 3;\n break;\n case 2:\n _context.p = 2;\n _t = _context.v;\n console.error('Error fetching settings overview:', _t);\n setSettingsOverviewFetched(true);\n case 3:\n return _context.a(2);\n }\n }, _callee, null, [[0, 2]]);\n }));\n return function fetchSettingsOverview() {\n return _ref2.apply(this, arguments);\n };\n }();\n if (!settingsOverviewFetched) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Preloader_Preloader__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null);\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_tab_fields_group spbc_tab_fields_group--options_overview\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_group_header\",\n id: \"options_overview\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", null, __('Feature Status', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc-options-overview-traffic-light\"\n }, settingsOverview.map(function (group, groupIndex) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n key: groupIndex,\n className: \"spbc-options-overview-traffic-light__group\"\n }, group.anchor ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h4\", {\n className: \"spbc-options-overview-traffic-light__subheading\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: \"#\".concat(group.anchor)\n }, group.title)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h4\", {\n className: \"spbc-options-overview-traffic-light__subheading\"\n }, group.title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc-options-overview-traffic-light__grid\"\n }, group.features.map(function (feature, featureIndex) {\n var stateClass = feature.enabled ? 'spbc-options-overview-traffic-light__item--on' : 'spbc-options-overview-traffic-light__item--off';\n var stateText = feature.enabled ? 'On' : 'Off';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n key: featureIndex,\n className: \"spbc-options-overview-traffic-light__item \".concat(stateClass)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"spbc-options-overview-traffic-light__indicator\",\n \"aria-hidden\": \"true\"\n }), feature.anchor ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"spbc-options-overview-traffic-light__label\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: \"#\".concat(feature.anchor)\n }, feature.label)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"spbc-options-overview-traffic-light__label\"\n }, feature.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"spbc-options-overview-traffic-light__state\"\n }, stateText));\n })));\n }))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/SettingsOverview/SettingsOverview.js?\n}");
/***/ },
@@ -176,7 +176,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\****************************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AccessKeyInterface)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n\nvar __ = wp.i18n.__;\nfunction AccessKeyInterface(_ref) {\n var handleBackToSignup = _ref.handleBackToSignup,\n handleShowConnectingInterface = _ref.handleShowConnectingInterface,\n setError = _ref.setError;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(__('Connect to CleanTalk', 'security-malware-firewall')),\n _useState2 = _slicedToArray(_useState, 2),\n buttonText = _useState2[0],\n setButtonText = _useState2[1];\n var handleSaveKey = function handleSaveKey(e) {\n e.preventDefault();\n var formData = new FormData(e.target);\n var apiKey = formData.get('spbc_key');\n setButtonText(__('Please, wait...', 'security-malware-firewall'));\n spbcSendAJAXRequest({\n action: 'spbc_save_key',\n apiKey: apiKey\n }, {\n timeout: 25000,\n button: document.getElementById('spbct-signup-wizard-save-key-btn'),\n callback: function callback(result) {\n setButtonText(__('Connect to CleanTalk', 'security-malware-firewall'));\n if (result.success) {\n handleShowConnectingInterface();\n } else {\n setError(result.msg);\n }\n }\n });\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard-card existing-user\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n className: 'spbct-signup-wizard-skip-wizard-link',\n href: '#',\n onClick: handleBackToSignup\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"svg\", {\n width: \"22\",\n height: \"22\",\n viewBox: \"0 0 22 22\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"path\", {\n d: \"M17.4154 11H4.58203\",\n stroke: \"#444444\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"path\", {\n d: \"M10.9987 17.4115L4.58203 10.9948L10.9987 4.57812\",\n stroke: \"#444444\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), __('Go to previous step', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-card-inner'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: 'spbct-signup-wizard-title'\n }, __('Connect your site to CleanTalk cloud', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, __('Copy the access key you have received via email or you can get it from ', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: 'https://cleantalk.org/my/?cp_mode=security',\n target: '_blank',\n rel: \"noreferrer\",\n style: {\n display: 'inline'\n }\n }, __('Cloud Dashboard', 'security-malware-firewall')), '. ', __('If your account has multiple domains select the one you want to use.', 'security-malware-firewall'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"form\", {\n onSubmit: handleSaveKey\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard-form-group\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: 'text',\n name: 'spbc_key',\n required: true,\n placeholder: __('Access key', 'security-malware-firewall')\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-form-group'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n type: 'submit',\n name: 'submit',\n id: 'spbct-signup-wizard-save-key-btn'\n }, buttonText))))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/SignupWizard/Screens/AccessKeyInterface.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ AccessKeyInterface)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n;\nvar __ = wp.i18n.__;\nfunction AccessKeyInterface(_ref) {\n var handleBackToSignup = _ref.handleBackToSignup,\n handleShowConnectingInterface = _ref.handleShowConnectingInterface,\n setError = _ref.setError;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(__('Connect to CleanTalk', 'security-malware-firewall')),\n _useState2 = _slicedToArray(_useState, 2),\n buttonText = _useState2[0],\n setButtonText = _useState2[1];\n var handleSaveKey = function handleSaveKey(e) {\n e.preventDefault();\n var formData = new FormData(e.target);\n var apiKey = formData.get('spbc_key');\n setButtonText(__('Please, wait...', 'security-malware-firewall'));\n spbcSendAJAXRequest({\n action: 'spbc_save_key',\n apiKey: apiKey\n }, {\n timeout: 25000,\n button: document.getElementById('spbct-signup-wizard-save-key-btn'),\n callback: function callback(result) {\n setButtonText(__('Connect to CleanTalk', 'security-malware-firewall'));\n if (result.success) {\n handleShowConnectingInterface();\n } else {\n setError(result.msg);\n }\n }\n });\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard-card existing-user\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n className: 'spbct-signup-wizard-skip-wizard-link',\n href: '#',\n onClick: handleBackToSignup\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"svg\", {\n width: \"22\",\n height: \"22\",\n viewBox: \"0 0 22 22\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"path\", {\n d: \"M17.4154 11H4.58203\",\n stroke: \"#444444\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"path\", {\n d: \"M10.9987 17.4115L4.58203 10.9948L10.9987 4.57812\",\n stroke: \"#444444\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), __('Go to previous step', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-card-inner'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: 'spbct-signup-wizard-title'\n }, __('Connect your site to CleanTalk cloud', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, __('Copy the access key you have received via email or you can get it from ', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: 'https://cleantalk.org/my/?cp_mode=security',\n target: '_blank',\n rel: \"noreferrer\",\n style: {\n display: 'inline'\n }\n }, __('Cloud Dashboard', 'security-malware-firewall')), '. ', __('If your account has multiple domains select the one you want to use.', 'security-malware-firewall'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"form\", {\n onSubmit: handleSaveKey\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard-form-group\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: 'text',\n name: 'spbc_key',\n required: true,\n placeholder: __('Access key', 'security-malware-firewall')\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-form-group'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n type: 'submit',\n name: 'submit',\n id: 'spbct-signup-wizard-save-key-btn'\n }, buttonText))))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/SignupWizard/Screens/AccessKeyInterface.js?\n}");
/***/ },
@@ -196,7 +196,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\*****************************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ConnectingInterface)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _LogoSvgForWizard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../LogoSvgForWizard */ \"./js/src/react/components/SignupWizard/LogoSvgForWizard.js\");\n/* harmony import */ var _WizardConnectingAnimation_webp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../WizardConnectingAnimation.webp */ \"./js/src/react/components/SignupWizard/WizardConnectingAnimation.webp\");\n/* harmony import */ var _hooks_useSync__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../hooks/useSync */ \"./js/src/react/hooks/useSync.js\");\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n\n\n\n\nvar __ = wp.i18n.__;\nfunction ConnectingInterface(_ref) {\n var handleShowSuccessInterface = _ref.handleShowSuccessInterface;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0),\n _useState2 = _slicedToArray(_useState, 2),\n progress = _useState2[0],\n setProgress = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),\n _useState4 = _slicedToArray(_useState3, 2),\n statusMessage = _useState4[0],\n setStatusMessage = _useState4[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n var progressBarFill = document.querySelector('.spbct-signup-wizard-progressbar div');\n var handleProgress = function handleProgress(msg, percent) {\n setStatusMessage(msg);\n setProgress(percent);\n if (progressBarFill) {\n progressBarFill.style.width = \"\".concat(percent, \"%\");\n }\n };\n var handleComplete = function handleComplete(status) {\n if (status && status.reload) {\n window.location.reload();\n return;\n }\n if (status && status.success) {\n handleShowSuccessInterface();\n }\n };\n (0,_hooks_useSync__WEBPACK_IMPORTED_MODULE_3__.runSync)(handleProgress, handleComplete);\n }, []);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard-card spbct-signup-wizard-card-connecting\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard-card-left\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_LogoSvgForWizard__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-connecting-gif'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n src: _WizardConnectingAnimation_webp__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n alt: 'Connecting animation'\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-card-inner'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: 'spbct-signup-wizard-title'\n }, __('Connecting your site to CleanTalk cloud', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-progressbar-legend'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-progressbar-legend-text'\n }, statusMessage), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-progressbar-legend-percent'\n }, progress, \"%\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-progressbar'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null)))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/SignupWizard/Screens/ConnectingInterface.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ConnectingInterface)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _LogoSvgForWizard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../LogoSvgForWizard */ \"./js/src/react/components/SignupWizard/LogoSvgForWizard.js\");\n/* harmony import */ var _WizardConnectingAnimation_webp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../WizardConnectingAnimation.webp */ \"./js/src/react/components/SignupWizard/WizardConnectingAnimation.webp\");\n/* harmony import */ var _hooks_useSync__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../hooks/useSync */ \"./js/src/react/hooks/useSync.js\");\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n;\n\n\n\nvar __ = wp.i18n.__;\nfunction ConnectingInterface(_ref) {\n var handleShowSuccessInterface = _ref.handleShowSuccessInterface;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0),\n _useState2 = _slicedToArray(_useState, 2),\n progress = _useState2[0],\n setProgress = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),\n _useState4 = _slicedToArray(_useState3, 2),\n statusMessage = _useState4[0],\n setStatusMessage = _useState4[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n var progressBarFill = document.querySelector('.spbct-signup-wizard-progressbar div');\n var handleProgress = function handleProgress(msg, percent) {\n setStatusMessage(msg);\n setProgress(percent);\n if (progressBarFill) {\n progressBarFill.style.width = \"\".concat(percent, \"%\");\n }\n };\n var handleComplete = function handleComplete(status) {\n if (status && status.reload) {\n window.location.reload();\n return;\n }\n if (status && status.success) {\n handleShowSuccessInterface();\n }\n };\n (0,_hooks_useSync__WEBPACK_IMPORTED_MODULE_3__.runSync)(handleProgress, handleComplete);\n }, []);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard-card spbct-signup-wizard-card-connecting\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard-card-left\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_LogoSvgForWizard__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-connecting-gif'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n src: _WizardConnectingAnimation_webp__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n alt: 'Connecting animation'\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-card-inner'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: 'spbct-signup-wizard-title'\n }, __('Connecting your site to CleanTalk cloud', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-progressbar-legend'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-progressbar-legend-text'\n }, statusMessage), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-progressbar-legend-percent'\n }, progress, \"%\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-progressbar'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null)))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/SignupWizard/Screens/ConnectingInterface.js?\n}");
/***/ },
@@ -216,7 +216,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\*************************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SignupInterface)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _LogoSvgForWizard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../LogoSvgForWizard */ \"./js/src/react/components/SignupWizard/LogoSvgForWizard.js\");\n/* harmony import */ var _BeautifulDigits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BeautifulDigits */ \"./js/src/react/components/SignupWizard/Screens/BeautifulDigits.js\");\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n\n\n\nvar __ = wp.i18n.__;\nfunction SignupInterface(_ref) {\n var handleExistingUserClick = _ref.handleExistingUserClick,\n handleShowConnectingInterface = _ref.handleShowConnectingInterface,\n setError = _ref.setError,\n savedEmail = _ref.savedEmail,\n savedAgreedToTerms = _ref.savedAgreedToTerms,\n onFormDataChange = _ref.onFormDataChange;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(savedEmail),\n _useState2 = _slicedToArray(_useState, 2),\n email = _useState2[0],\n setEmail = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(savedAgreedToTerms),\n _useState4 = _slicedToArray(_useState3, 2),\n agreedToTerms = _useState4[0],\n setAgreedToTerms = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(__('Connect to Account', 'security-malware-firewall')),\n _useState6 = _slicedToArray(_useState5, 2),\n buttonText = _useState6[0],\n setButtonText = _useState6[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (onFormDataChange) {\n onFormDataChange(email, agreedToTerms);\n }\n }, [email, agreedToTerms, onFormDataChange]);\n var handleSignUp = function handleSignUp(e) {\n e.preventDefault();\n var formData = new FormData(e.target);\n var email = formData.get('email');\n var ctAdminTimezone = formData.get('ct_admin_timezone');\n setButtonText(__('Please, wait...', 'security-malware-firewall'));\n spbcSendAJAXRequest({\n action: 'spbc_get_key_auto',\n email: email,\n ct_admin_timezone: ctAdminTimezone\n }, {\n timeout: 25000,\n button: document.getElementById('spbct-signup-wizard-get-key-btn'),\n spinner: '',\n callback: function callback(result) {\n setButtonText(__('Connect to Account', 'security-malware-firewall'));\n if (result.success) {\n if (result.getTemplates) {\n // @ToDo Is this functionality needed? If yes - need to be fixed, not worked for now.\n spbcModal.loaded = result.getTemplates;\n spbcModal.open();\n document.addEventListener('spbcModalClosed', function (e) {\n document.location.reload();\n });\n }\n handleShowConnectingInterface();\n } else {\n setError(result.msg);\n }\n }\n });\n };\n var fillTimezoneValue = function fillTimezoneValue() {\n var d = new Date();\n return d.getTimezoneOffset() / 60 * -1;\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard-card\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-card-left'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_LogoSvgForWizard__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: 'spbct-signup-wizard-title'\n }, __('Protect your website in under 60 seconds', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-checked-ico'\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, __('Protect your website from malware, attacks, and suspicious activity', 'security-malware-firewall'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-checked-ico'\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, __('Automatic, daily security updates', 'security-malware-firewall'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-checked-ico'\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, __('Scan your website for hidden threats in real time', 'security-malware-firewall'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_BeautifulDigits__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-what-next'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-what-next-title'\n }, __('What happens next?', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-what-next-hint'\n }, __('Once connected, the plugin updates the firewall database, downloads malware signatures, and performs its first malware scan.', 'security-malware-firewall'))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-card-right'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: 'spbct-signup-wizard-title'\n }, __('Connect your website to CleanTalk cloud', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"form\", {\n onSubmit: handleSignUp\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard-form-group\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-input-title'\n }, __('Email address', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: 'email',\n name: 'email',\n required: true,\n value: email,\n onChange: function onChange(e) {\n return setEmail(e.target.value);\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-form-group checkbox-block'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: 'checkbox',\n name: 'checkbox',\n id: 'checkbox',\n required: true,\n checked: agreedToTerms,\n onChange: function onChange(e) {\n return setAgreedToTerms(e.target.checked);\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n htmlFor: 'checkbox'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, __('I agree to the Privacy Policy and', 'security-malware-firewall'), \"\\xA0\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: 'https://cleantalk.org/publicoffer',\n target: '_blank',\n rel: 'noreferrer'\n }, __('License Agreement', 'security-malware-firewall'))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-form-group'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n type: 'submit',\n name: 'submit',\n id: 'spbct-signup-wizard-get-key-btn'\n }, buttonText)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: 'hidden',\n id: 'spbc_admin_timezone',\n name: 'ct_admin_timezone',\n value: fillTimezoneValue()\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-form-group'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n className: 'spbct-signup-wizard-skip-wizard-link',\n onClick: handleExistingUserClick,\n href: \"#\"\n }, __('I already have an Access Key', 'security-malware-firewall')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n className: 'spbct-signup-wizard-skip-wizard-link',\n href: 'options-general.php?page=spbc&spbc_tab=settings_general'\n }, __('Skip setup wizard', 'security-malware-firewall'))))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/SignupWizard/Screens/SignupInterface.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SignupInterface)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _LogoSvgForWizard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../LogoSvgForWizard */ \"./js/src/react/components/SignupWizard/LogoSvgForWizard.js\");\n/* harmony import */ var _BeautifulDigits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BeautifulDigits */ \"./js/src/react/components/SignupWizard/Screens/BeautifulDigits.js\");\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n;\n\n\nvar __ = wp.i18n.__;\nfunction SignupInterface(_ref) {\n var handleExistingUserClick = _ref.handleExistingUserClick,\n handleShowConnectingInterface = _ref.handleShowConnectingInterface,\n setError = _ref.setError,\n savedEmail = _ref.savedEmail,\n savedAgreedToTerms = _ref.savedAgreedToTerms,\n onFormDataChange = _ref.onFormDataChange;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(savedEmail),\n _useState2 = _slicedToArray(_useState, 2),\n email = _useState2[0],\n setEmail = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(savedAgreedToTerms),\n _useState4 = _slicedToArray(_useState3, 2),\n agreedToTerms = _useState4[0],\n setAgreedToTerms = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(__('Activate Security', 'security-malware-firewall')),\n _useState6 = _slicedToArray(_useState5, 2),\n buttonText = _useState6[0],\n setButtonText = _useState6[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (onFormDataChange) {\n onFormDataChange(email, agreedToTerms);\n }\n }, [email, agreedToTerms, onFormDataChange]);\n var handleSignUp = function handleSignUp(e) {\n e.preventDefault();\n var formData = new FormData(e.target);\n var email = formData.get('email');\n var ctAdminTimezone = formData.get('ct_admin_timezone');\n setButtonText(__('Please, wait...', 'security-malware-firewall'));\n spbcSendAJAXRequest({\n action: 'spbc_get_key_auto',\n email: email,\n ct_admin_timezone: ctAdminTimezone,\n spbct_wizard_request: 1\n }, {\n timeout: 25000,\n button: document.getElementById('spbct-signup-wizard-get-key-btn'),\n spinner: '',\n callback: function callback(result) {\n setButtonText(__('Activate Security', 'security-malware-firewall'));\n if (result.success) {\n if (result.getTemplates) {\n // @ToDo Is this functionality needed? If yes - need to be fixed, not worked for now.\n spbcModal.loaded = result.getTemplates;\n spbcModal.open();\n document.addEventListener('spbcModalClosed', function (e) {\n document.location.reload();\n });\n }\n handleShowConnectingInterface();\n } else {\n setError(result.msg);\n }\n }\n });\n };\n var fillTimezoneValue = function fillTimezoneValue() {\n var d = new Date();\n return d.getTimezoneOffset() / 60 * -1;\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard-card\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-card-left'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_LogoSvgForWizard__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: 'spbct-signup-wizard-title'\n }, __('Protect your website in under 60 seconds', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-checked-ico'\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, __('Protect your website from malware, attacks, and suspicious activity', 'security-malware-firewall'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-checked-ico'\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, __('Automatic, daily security updates', 'security-malware-firewall'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-checked-ico'\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, __('Scan your website for hidden threats in real time', 'security-malware-firewall'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_BeautifulDigits__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-what-next'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-what-next-title'\n }, __('What happens next?', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-what-next-hint'\n }, __('Once connected, the plugin updates the firewall database, downloads malware signatures, and performs its first malware scan.', 'security-malware-firewall'))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-card-right'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: 'spbct-signup-wizard-title'\n }, __('Connect Your Website to the Anti-Spam Cloud', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"form\", {\n onSubmit: handleSignUp\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbct-signup-wizard-form-group\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: 'spbct-signup-wizard-input-title'\n }, __('Email address', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: 'email',\n name: 'email',\n required: true,\n value: email,\n onChange: function onChange(e) {\n return setEmail(e.target.value);\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-form-group checkbox-block'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: 'checkbox',\n name: 'checkbox',\n id: 'checkbox',\n required: true,\n checked: agreedToTerms,\n onChange: function onChange(e) {\n return setAgreedToTerms(e.target.checked);\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n htmlFor: 'checkbox'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, __('I agree to the Privacy Policy and', 'security-malware-firewall'), \"\\xA0\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: 'https://cleantalk.org/publicoffer',\n target: '_blank',\n rel: 'noreferrer'\n }, __('License Agreement', 'security-malware-firewall'))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-form-group'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n type: 'submit',\n name: 'submit',\n id: 'spbct-signup-wizard-get-key-btn'\n }, buttonText)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: 'hidden',\n id: 'spbc_admin_timezone',\n name: 'ct_admin_timezone',\n value: fillTimezoneValue()\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: 'spbct-signup-wizard-form-group'\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n className: 'spbct-signup-wizard-skip-wizard-link',\n onClick: handleExistingUserClick,\n href: \"#\"\n }, __('I already have an Access Key', 'security-malware-firewall')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n className: 'spbct-signup-wizard-skip-wizard-link',\n href: 'options-general.php?page=spbc&spbc_tab=settings_general'\n }, __('Skip setup wizard', 'security-malware-firewall'))))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/SignupWizard/Screens/SignupInterface.js?\n}");
/***/ },
@@ -236,7 +236,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\**************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SignupWizard)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/SignupWizard/styles.css\");\n/* harmony import */ var _Screens_AccessKeyInterface__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Screens/AccessKeyInterface */ \"./js/src/react/components/SignupWizard/Screens/AccessKeyInterface.js\");\n/* harmony import */ var _Screens_SuccessInterface__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Screens/SuccessInterface */ \"./js/src/react/components/SignupWizard/Screens/SuccessInterface.js\");\n/* harmony import */ var _Screens_SignupInterface__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Screens/SignupInterface */ \"./js/src/react/components/SignupWizard/Screens/SignupInterface.js\");\n/* harmony import */ var _Screens_ConnectingInterface__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Screens/ConnectingInterface */ \"./js/src/react/components/SignupWizard/Screens/ConnectingInterface.js\");\n/* harmony import */ var _Screens_ErrorInterface__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Screens/ErrorInterface */ \"./js/src/react/components/SignupWizard/Screens/ErrorInterface.js\");\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n\n\n\n\n\n\n\nfunction SignupWizard(_ref) {\n var dataRoot = _ref.dataRoot;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),\n _useState2 = _slicedToArray(_useState, 2),\n error = _useState2[0],\n setError = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState4 = _slicedToArray(_useState3, 2),\n showAccessKeyInterface = _useState4[0],\n setShowAccessKeyInterface = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState6 = _slicedToArray(_useState5, 2),\n showSuccessInterface = _useState6[0],\n setShowSuccessInterface = _useState6[1];\n var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState8 = _slicedToArray(_useState7, 2),\n showConnectingInterface = _useState8[0],\n setShowConnectingInterface = _useState8[1];\n var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({\n email: dataRoot.adminEmail ? dataRoot.adminEmail : '',\n agreedToTerms: true\n }),\n _useState0 = _slicedToArray(_useState9, 2),\n savedFormData = _useState0[0],\n setSavedFormData = _useState0[1];\n var handleBackToSignup = function handleBackToSignup(e) {\n e.preventDefault();\n setError(null);\n setShowAccessKeyInterface(false);\n setShowSuccessInterface(false);\n setShowConnectingInterface(false);\n };\n var handleExistingUserClick = function handleExistingUserClick(e) {\n e.preventDefault();\n setShowAccessKeyInterface(true);\n setShowSuccessInterface(false);\n setShowConnectingInterface(false);\n };\n var handleShowSuccessInterface = function handleShowSuccessInterface() {\n setShowSuccessInterface(true);\n setShowAccessKeyInterface(false);\n setShowConnectingInterface(false);\n };\n var handleShowConnectingInterface = function handleShowConnectingInterface() {\n setShowConnectingInterface(true);\n setShowAccessKeyInterface(false);\n setShowSuccessInterface(false);\n };\n var handleFormDataChange = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (email, agreedToTerms) {\n setSavedFormData({\n email: email,\n agreedToTerms: agreedToTerms\n });\n }, []);\n if (error) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Screens_ErrorInterface__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n error: error,\n handleBackToSignup: handleBackToSignup\n });\n }\n if (showAccessKeyInterface) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Screens_AccessKeyInterface__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n handleBackToSignup: handleBackToSignup,\n handleShowConnectingInterface: handleShowConnectingInterface,\n setError: setError\n });\n }\n if (showSuccessInterface) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Screens_SuccessInterface__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null);\n }\n if (showConnectingInterface) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Screens_ConnectingInterface__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n handleShowSuccessInterface: handleShowSuccessInterface\n });\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Screens_SignupInterface__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n handleExistingUserClick: handleExistingUserClick,\n handleShowConnectingInterface: handleShowConnectingInterface,\n setError: setError,\n savedEmail: savedFormData.email,\n savedAgreedToTerms: savedFormData.agreedToTerms,\n onFormDataChange: handleFormDataChange\n });\n}\n\n//# sourceURL=webpack:///./js/src/react/components/SignupWizard/SignupWizard.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SignupWizard)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/SignupWizard/styles.css\");\n/* harmony import */ var _Screens_AccessKeyInterface__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Screens/AccessKeyInterface */ \"./js/src/react/components/SignupWizard/Screens/AccessKeyInterface.js\");\n/* harmony import */ var _Screens_SuccessInterface__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Screens/SuccessInterface */ \"./js/src/react/components/SignupWizard/Screens/SuccessInterface.js\");\n/* harmony import */ var _Screens_SignupInterface__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Screens/SignupInterface */ \"./js/src/react/components/SignupWizard/Screens/SignupInterface.js\");\n/* harmony import */ var _Screens_ConnectingInterface__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Screens/ConnectingInterface */ \"./js/src/react/components/SignupWizard/Screens/ConnectingInterface.js\");\n/* harmony import */ var _Screens_ErrorInterface__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Screens/ErrorInterface */ \"./js/src/react/components/SignupWizard/Screens/ErrorInterface.js\");\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n;\n\n\n\n\n\n\nfunction SignupWizard(_ref) {\n var dataRoot = _ref.dataRoot;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),\n _useState2 = _slicedToArray(_useState, 2),\n error = _useState2[0],\n setError = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState4 = _slicedToArray(_useState3, 2),\n showAccessKeyInterface = _useState4[0],\n setShowAccessKeyInterface = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState6 = _slicedToArray(_useState5, 2),\n showSuccessInterface = _useState6[0],\n setShowSuccessInterface = _useState6[1];\n var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState8 = _slicedToArray(_useState7, 2),\n showConnectingInterface = _useState8[0],\n setShowConnectingInterface = _useState8[1];\n var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({\n email: dataRoot.adminEmail ? dataRoot.adminEmail : '',\n agreedToTerms: true\n }),\n _useState0 = _slicedToArray(_useState9, 2),\n savedFormData = _useState0[0],\n setSavedFormData = _useState0[1];\n var handleBackToSignup = function handleBackToSignup(e) {\n e.preventDefault();\n setError(null);\n setShowAccessKeyInterface(false);\n setShowSuccessInterface(false);\n setShowConnectingInterface(false);\n };\n var handleExistingUserClick = function handleExistingUserClick(e) {\n e.preventDefault();\n setShowAccessKeyInterface(true);\n setShowSuccessInterface(false);\n setShowConnectingInterface(false);\n };\n var handleShowSuccessInterface = function handleShowSuccessInterface() {\n setShowSuccessInterface(true);\n setShowAccessKeyInterface(false);\n setShowConnectingInterface(false);\n };\n var handleShowConnectingInterface = function handleShowConnectingInterface() {\n setShowConnectingInterface(true);\n setShowAccessKeyInterface(false);\n setShowSuccessInterface(false);\n };\n var handleFormDataChange = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (email, agreedToTerms) {\n setSavedFormData({\n email: email,\n agreedToTerms: agreedToTerms\n });\n }, []);\n if (error) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Screens_ErrorInterface__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n error: error,\n handleBackToSignup: handleBackToSignup\n });\n }\n if (showAccessKeyInterface) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Screens_AccessKeyInterface__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n handleBackToSignup: handleBackToSignup,\n handleShowConnectingInterface: handleShowConnectingInterface,\n setError: setError\n });\n }\n if (showSuccessInterface) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Screens_SuccessInterface__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null);\n }\n if (showConnectingInterface) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Screens_ConnectingInterface__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n handleShowSuccessInterface: handleShowSuccessInterface\n });\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Screens_SignupInterface__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n handleExistingUserClick: handleExistingUserClick,\n handleShowConnectingInterface: handleShowConnectingInterface,\n setError: setError,\n savedEmail: savedFormData.email,\n savedAgreedToTerms: savedFormData.agreedToTerms,\n onFormDataChange: handleFormDataChange\n });\n}\n\n//# sourceURL=webpack:///./js/src/react/components/SignupWizard/SignupWizard.js?\n}");
/***/ },
@@ -356,7 +356,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\*************************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ NoticeBanner)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/TabContent/NoticeBanner/styles.css\");\n/* harmony import */ var _hooks_useCookie__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../hooks/useCookie */ \"./js/src/react/hooks/useCookie.js\");\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n\nvar __ = wp.i18n.__;\n\n\nfunction NoticeBanner() {\n var cookieName = 'spbct_notice-found_critical_files';\n var cookie = (0,_hooks_useCookie__WEBPACK_IMPORTED_MODULE_2__.useCookie)(cookieName);\n var setCookie = (0,_hooks_useCookie__WEBPACK_IMPORTED_MODULE_2__.useSetCookie)();\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(function () {\n return cookie !== '1';\n }),\n _useState2 = _slicedToArray(_useState, 2),\n visible = _useState2[0],\n setVisible = _useState2[1];\n var handleDismiss = function handleDismiss(e) {\n setCookie(cookieName, 1, 30);\n setVisible(false);\n // Avoid infinite loop: do not dispatch click on the same button\n if (e && e.target && e.target.classList.contains('spbct_notice-dismiss-react')) return;\n // If needed, trigger jQuery handler for other elements (not this button)\n var event = new Event('click', {\n bubbles: true\n });\n document.querySelectorAll('.spbct_notice-dismiss-react').forEach(function (el) {\n if (el !== (e === null || e === void 0 ? void 0 : e.target)) el.dispatchEvent(event);\n });\n };\n if (!visible) return null;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"notice notice-warning spbct_notice spbct_notice-found_critical_files\",\n style: {\n scrollMarginTop: '160px'\n },\n id: \"notice_id_found_critical_files\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"spbc---top\"\n }, __('There\\'s a high probability that your website has been compromised, as critical files show signs of infection. Take action now by ordering malware removal from our experienced security specialists.', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n alignContent: 'center',\n margin: '0 30px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n className: \"spbc_manual_link\",\n target: \"_blank\",\n href: window.spbcSettings.link_remove_malware_from_website,\n rel: \"noreferrer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n className: \"spbc-icon-link-ext\"\n }), \"\\xA0\\xA0\", __('Request Malware removal', 'security-malware-firewall'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n type: \"button\",\n className: \"notice-dismiss spbct_notice-dismiss-react\",\n onClick: handleDismiss\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"screen-reader-text\"\n }, __('Dismiss this notice.', 'security-malware-firewall'))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/TabContent/NoticeBanner/NoticeBanner.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ NoticeBanner)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/TabContent/NoticeBanner/styles.css\");\n/* harmony import */ var _hooks_useCookie__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../hooks/useCookie */ \"./js/src/react/hooks/useCookie.js\");\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n;\nvar __ = wp.i18n.__;\n\n\nfunction NoticeBanner() {\n var cookieName = 'spbct_notice-found_critical_files';\n var cookie = (0,_hooks_useCookie__WEBPACK_IMPORTED_MODULE_2__.useCookie)(cookieName);\n var setCookie = (0,_hooks_useCookie__WEBPACK_IMPORTED_MODULE_2__.useSetCookie)();\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(function () {\n return cookie !== '1';\n }),\n _useState2 = _slicedToArray(_useState, 2),\n visible = _useState2[0],\n setVisible = _useState2[1];\n var handleDismiss = function handleDismiss(e) {\n setCookie(cookieName, 1, 30);\n setVisible(false);\n // Avoid infinite loop: do not dispatch click on the same button\n if (e && e.target && e.target.classList.contains('spbct_notice-dismiss-react')) return;\n // If needed, trigger jQuery handler for other elements (not this button)\n var event = new Event('click', {\n bubbles: true\n });\n document.querySelectorAll('.spbct_notice-dismiss-react').forEach(function (el) {\n if (el !== (e === null || e === void 0 ? void 0 : e.target)) el.dispatchEvent(event);\n });\n };\n if (!visible) return null;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"notice notice-warning spbct_notice spbct_notice-found_critical_files\",\n style: {\n scrollMarginTop: '160px'\n },\n id: \"notice_id_found_critical_files\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"spbc---top\"\n }, __('There\\'s a high probability that your website has been compromised, as critical files show signs of infection. Take action now by ordering malware removal from our experienced security specialists.', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n alignContent: 'center',\n margin: '0 30px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n className: \"spbc_manual_link\",\n target: \"_blank\",\n href: window.spbcSettings.link_remove_malware_from_website,\n rel: \"noreferrer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n className: \"spbc-icon-link-ext\"\n }), \"\\xA0\\xA0\", __('Request Malware removal', 'security-malware-firewall'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n type: \"button\",\n className: \"notice-dismiss spbct_notice-dismiss-react\",\n onClick: handleDismiss\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"screen-reader-text\"\n }, __('Dismiss this notice.', 'security-malware-firewall'))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/TabContent/NoticeBanner/NoticeBanner.js?\n}");
/***/ },
@@ -376,7 +376,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\**********************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ TabContent)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/TabContent/styles.css\");\n/* harmony import */ var _Preloader_Preloader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Preloader/Preloader */ \"./js/src/react/components/Preloader/Preloader.js\");\n/* harmony import */ var _modules_Http_Ajax__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../modules/Http/Ajax */ \"./js/src/react/modules/Http/Ajax.js\");\n/* harmony import */ var _TabDefault_TabDefault__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TabDefault/TabDefault */ \"./js/src/react/components/TabContent/TabDefault/TabDefault.js\");\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n\n\n\n\n\nfunction TabContent(_ref) {\n var sectionId = _ref.sectionId,\n isActive = _ref.isActive,\n tabComponent = _ref.tabComponent;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),\n _useState2 = _slicedToArray(_useState, 2),\n sectionData = _useState2[0],\n setSectionData = _useState2[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (isActive && !sectionData) {\n if (sectionId === 'critical_updates' || sectionId === 'fswatcher' || sectionId === 'traffic_control' || sectionId === 'security_certified') {\n fetchContent();\n } else {\n fetchContentOld();\n }\n }\n }, [isActive, sectionData]);\n var fetchContent = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var requestData, data, _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n _context.p = 0;\n requestData = {\n action: 'spbct_get_tab_data',\n tab_name: sectionId\n };\n _context.n = 1;\n return (0,_modules_Http_Ajax__WEBPACK_IMPORTED_MODULE_3__.sendAjaxRequest)(requestData, true);\n case 1:\n data = _context.v;\n setSectionData(data);\n _context.n = 3;\n break;\n case 2:\n _context.p = 2;\n _t = _context.v;\n console.error('Error fetching content:', _t);\n case 3:\n return _context.a(2);\n }\n }, _callee, null, [[0, 2]]);\n }));\n return function fetchContent() {\n return _ref2.apply(this, arguments);\n };\n }();\n var fetchContentOld = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {\n var requestData, data, _t2;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n _context2.p = 0;\n requestData = {\n action: 'spbc_settings__draw_elements',\n tab_name: sectionId\n };\n _context2.n = 1;\n return (0,_modules_Http_Ajax__WEBPACK_IMPORTED_MODULE_3__.sendAjaxRequest)(requestData);\n case 1:\n data = _context2.v;\n setSectionData(data);\n document.dispatchEvent(new CustomEvent('spbctTabLoaded', {\n bubbles: true,\n detail: {\n tab: sectionId\n }\n }));\n _context2.n = 3;\n break;\n case 2:\n _context2.p = 2;\n _t2 = _context2.v;\n console.error('Error fetching content:', _t2);\n case 3:\n return _context2.a(2);\n }\n }, _callee2, null, [[0, 2]]);\n }));\n return function fetchContentOld() {\n return _ref3.apply(this, arguments);\n };\n }();\n var isActiveClass = isActive ? 'spbc_tab_section--active' : '';\n var TabContentInner = tabComponent || _TabDefault_TabDefault__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: 'spbc_tab-' + sectionId,\n className: 'spbc_tab spbc_tab-' + sectionId + ' ' + isActiveClass\n }, isActive && sectionData ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(TabContentInner, {\n sectionId: sectionId,\n sectionData: sectionData,\n isActive: isActive\n }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Preloader_Preloader__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/TabContent/TabContent.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ TabContent)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/TabContent/styles.css\");\n/* harmony import */ var _Preloader_Preloader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Preloader/Preloader */ \"./js/src/react/components/Preloader/Preloader.js\");\n/* harmony import */ var _modules_Http_Ajax__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../modules/Http/Ajax */ \"./js/src/react/modules/Http/Ajax.js\");\n/* harmony import */ var _TabDefault_TabDefault__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TabDefault/TabDefault */ \"./js/src/react/components/TabContent/TabDefault/TabDefault.js\");\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n;\n\n\n\n\nfunction TabContent(_ref) {\n var sectionId = _ref.sectionId,\n isActive = _ref.isActive,\n tabComponent = _ref.tabComponent;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),\n _useState2 = _slicedToArray(_useState, 2),\n sectionData = _useState2[0],\n setSectionData = _useState2[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (isActive && !sectionData) {\n if (sectionId === 'critical_updates' || sectionId === 'fswatcher' || sectionId === 'traffic_control' || sectionId === 'security_certified') {\n fetchContent();\n } else {\n fetchContentOld();\n }\n }\n }, [isActive, sectionData]);\n var fetchContent = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var requestData, data, _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n _context.p = 0;\n requestData = {\n action: 'spbct_get_tab_data',\n tab_name: sectionId\n };\n _context.n = 1;\n return (0,_modules_Http_Ajax__WEBPACK_IMPORTED_MODULE_3__.sendAjaxRequest)(requestData, true);\n case 1:\n data = _context.v;\n setSectionData(data);\n _context.n = 3;\n break;\n case 2:\n _context.p = 2;\n _t = _context.v;\n console.error('Error fetching content:', _t);\n case 3:\n return _context.a(2);\n }\n }, _callee, null, [[0, 2]]);\n }));\n return function fetchContent() {\n return _ref2.apply(this, arguments);\n };\n }();\n var fetchContentOld = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {\n var requestData, data, _t2;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n _context2.p = 0;\n requestData = {\n action: 'spbc_settings__draw_elements',\n tab_name: sectionId\n };\n _context2.n = 1;\n return (0,_modules_Http_Ajax__WEBPACK_IMPORTED_MODULE_3__.sendAjaxRequest)(requestData);\n case 1:\n data = _context2.v;\n setSectionData(data);\n document.dispatchEvent(new CustomEvent('spbctTabLoaded', {\n bubbles: true,\n detail: {\n tab: sectionId\n }\n }));\n _context2.n = 3;\n break;\n case 2:\n _context2.p = 2;\n _t2 = _context2.v;\n console.error('Error fetching content:', _t2);\n case 3:\n return _context2.a(2);\n }\n }, _callee2, null, [[0, 2]]);\n }));\n return function fetchContentOld() {\n return _ref3.apply(this, arguments);\n };\n }();\n var isActiveClass = isActive ? 'spbc_tab_section--active' : '';\n var TabContentInner = tabComponent || _TabDefault_TabDefault__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: 'spbc_tab-' + sectionId,\n className: 'spbc_tab spbc_tab-' + sectionId + ' ' + isActiveClass\n }, isActive && sectionData ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(TabContentInner, {\n sectionId: sectionId,\n sectionData: sectionData,\n isActive: isActive\n }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Preloader_Preloader__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/TabContent/TabContent.js?\n}");
/***/ },
@@ -406,7 +406,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\****************************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ FirewallTableRow)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_Utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/Utilities */ \"./js/src/react/utils/Utilities.js\");\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n\n\nvar __ = wp.i18n.__;\nfunction FirewallTableRow(_ref) {\n var row = _ref.row,\n rowIndex = _ref.rowIndex;\n // AJAX wrapper for filter IP requests\n var filterIpAjaxWrapper = function filterIpAjaxWrapper(data) {\n return new Promise(function (resolve, reject) {\n var params = {\n callback: function callback(response) {\n if (_typeof(response) === 'object' && response.error) {\n reject(new Error(response.error));\n } else {\n resolve(response);\n }\n },\n error_callback: function error_callback(error) {\n reject(error);\n }\n };\n spbcSendAJAXRequest(data, params);\n });\n };\n\n // Confirm modal window\n var spbcModalConfirm = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (callback) {\n var confirmHeader = __('Are you sure?', 'security-malware-firewall');\n var confirmText = __('Keep in mind, you have a few automatic options to deal with bots and DoS/DDoS attacks,', 'security-malware-firewall');\n confirmText += ' ';\n confirmText += '
';\n confirmText += '1. ' + (0,_utils_Utilities__WEBPACK_IMPORTED_MODULE_1__.sprintf)(__('Tune %s -> \"Traffic control\" in order to stop flood/DoS attacks on your site.', 'security-malware-firewall'), \"\\n \".concat(__('General settings', 'security-malware-firewall'), \"\\n \"));\n confirmText += ' ';\n confirmText += '2. ' + __(\n // eslint-disable-next-line max-len\n '(Anti-Spam plugin) If you use Anti-Spam plugin by CleanTalk, turn option Advanced settings -> \"Anti-Crawler\" on. This options dead stops bots on your site, it protects from stealing content from the site!', 'security-malware-firewall');\n confirmText += '
';\n confirmText += (0,_utils_Utilities__WEBPACK_IMPORTED_MODULE_1__.sprintf)(__('Anti-Spam plugin is here %s -> Anti-Spam by CleanTalk.', 'security-malware-firewall'), \"\\n \".concat(__('WordPress console -> Plugins', 'security-malware-firewall'), \"\\n \"));\n confirmText += ' ';\n confirmText += (0,_utils_Utilities__WEBPACK_IMPORTED_MODULE_1__.sprintf)(__('If the plugin is not installed, ' + 'it can be found and installed through %s.', 'security-malware-firewall'), 'search');\n confirmText += '
';\n spbcModal.open();\n spbcModal.confirm(confirmHeader, confirmText, '', callback);\n }, []);\n\n // Handler for allowing an IP\n var handleAllowIp = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (e) {\n e.preventDefault();\n spbcModalConfirm(function () {\n return handleAllowIpCallback(e.target);\n });\n }, []);\n var handleAllowIpCallback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(target) {\n var originalText, originalPointerEvents, data, response, _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n originalText = target.textContent;\n originalPointerEvents = target.style.pointerEvents;\n target.style.pointerEvents = 'none';\n target.style.opacity = '0.5';\n target.textContent = __('Processing...', 'security-malware-firewall');\n data = {\n action: 'spbc_tc__filter_ip',\n ip: row.ip_entry,\n status: 'allow'\n };\n _context.p = 1;\n _context.n = 2;\n return filterIpAjaxWrapper(data);\n case 2:\n response = _context.v;\n if (response.success) {\n alert(__('Success.', 'security-malware-firewall'));\n } else {\n alert(response.data || __('An error occurred.', 'security-malware-firewall'));\n }\n _context.n = 4;\n break;\n case 3:\n _context.p = 3;\n _t = _context.v;\n console.error('Error allowing IP:', _t);\n alert(_t.message || __('An error occurred.', 'security-malware-firewall'));\n case 4:\n _context.p = 4;\n target.style.pointerEvents = originalPointerEvents;\n target.style.opacity = '';\n target.textContent = originalText;\n return _context.f(4);\n case 5:\n return _context.a(2);\n }\n }, _callee, null, [[1, 3, 4, 5]]);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }(), [row.ip_entry]);\n\n // Handler for banning an IP\n var handleBanIp = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (e) {\n e.preventDefault();\n spbcModalConfirm(function () {\n return handleBanIpCallback(e.target);\n });\n }, []);\n var handleBanIpCallback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(target) {\n var originalText, originalPointerEvents, data, response, _t2;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n originalText = target.textContent;\n originalPointerEvents = target.style.pointerEvents;\n target.style.pointerEvents = 'none';\n target.style.opacity = '0.5';\n target.textContent = __('Processing...', 'security-malware-firewall');\n data = {\n action: 'spbc_tc__filter_ip',\n ip: row.ip_entry,\n status: 'deny'\n };\n _context2.p = 1;\n _context2.n = 2;\n return filterIpAjaxWrapper(data);\n case 2:\n response = _context2.v;\n if (response.success) {\n alert(__('Success.', 'security-malware-firewall'));\n } else {\n alert(response.data || __('An error occurred.', 'security-malware-firewall'));\n }\n _context2.n = 4;\n break;\n case 3:\n _context2.p = 3;\n _t2 = _context2.v;\n console.error('Error banning IP:', _t2);\n alert(_t2.message || __('An error occurred.', 'security-malware-firewall'));\n case 4:\n _context2.p = 4;\n target.style.pointerEvents = originalPointerEvents;\n target.style.opacity = '';\n target.textContent = originalText;\n return _context2.f(4);\n case 5:\n return _context2.a(2);\n }\n }, _callee2, null, [[1, 3, 4, 5]]);\n }));\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }(), [row.ip_entry]);\n var formatTimestamp = function formatTimestamp(timestamp) {\n if (!timestamp) return '';\n var date = new Date(timestamp * 1000); // Convert Unix timestamp to milliseconds\n var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n var month = months[date.getMonth()];\n var day = date.getDate();\n var year = date.getFullYear();\n var hours = String(date.getHours()).padStart(2, '0');\n var minutes = String(date.getMinutes()).padStart(2, '0');\n var seconds = String(date.getSeconds()).padStart(2, '0');\n return \"\".concat(month, \" \").concat(day, \" \").concat(year, \", \").concat(hours, \":\").concat(minutes, \":\").concat(seconds);\n };\n var formatUserAgent = function formatUserAgent(userAgent) {\n if (!userAgent) return '';\n var maxLength = 50;\n if (userAgent.length <= maxLength) {\n return userAgent;\n }\n return userAgent.substring(0, maxLength) + '...';\n };\n var getCleanTalkUrl = function getCleanTalkUrl(ip) {\n var params = new URLSearchParams({\n utm_id: '',\n utm_term: '',\n utm_source: 'wordpress',\n utm_medium: 'dashboard',\n utm_content: 'firewall_log',\n utm_campaign: 'firewall'\n });\n return \"https://cleantalk.org/blacklists/\".concat(ip, \"?\").concat(params.toString());\n };\n var getCountryPart = function getCountryPart(country) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n src: \"https://cleantalk.org/images/flags/\".concat(country.country_code.toLowerCase(), \".png\"),\n alt: country.country_code\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), country.country_name, \" | \", country.subdivision, \" | \", country.city);\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: \"column-ip_entry column-primary mob_block_1\",\n \"data-before\": __('IP', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"ip_entry\"\n }, row.ip_entry), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: getCleanTalkUrl(row.ip_entry),\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, __('Lookup', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n className: \"spbc-icon-link-ext\"\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), row.personal_status !== null && row.personal_status > 0 ? __('Allowed', 'security-malware-firewall') : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: \"#\",\n onClick: handleAllowIp,\n className: \"spbcGreen\"\n }, __('Allow', 'security-malware-firewall')), \"\\xA0|\\xA0\", row.personal_status !== null && row.personal_status <= 0 ? __('Banned', 'security-malware-firewall') : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: \"#\",\n onClick: handleBanIp,\n className: \"spbc---red\"\n }, __('Ban', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n type: \"button\",\n onClick: function onClick() {\n return window.spbcShowHideRows && window.spbcShowHideRows(rowIndex + 1, 'spbc_tbl__traffic_control_logs');\n },\n className: \"toggle-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"screen-reader-text\"\n }, __('Show more details', 'security-malware-firewall')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: \"country column-country mob_entries mob_block_1 spbc_tbl__traffic_control_logs_block_1\",\n \"data-before\": __('Country', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, row.country ? getCountryPart(row.country) : '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: ['entry_timestamp', 'column-entry_timestamp', 'mob_entries', 'mob_block_1', 'spbc_tbl__traffic_control_logs_block_1'].join(' '),\n \"data-before\": __('Last Request', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\",\n \"data-sort-value\": row.entry_timestamp\n }, formatTimestamp(row.entry_timestamp)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: ['status', 'column-status', 'mob_entries', 'mob_block_1', 'spbc_tbl__traffic_control_logs_block_1'].join(' '),\n \"data-before\": __('Status', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: row.statusColor || 'spbcRed'\n }, row.status || __('Unknown', 'security-malware-firewall'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: ['requests', 'column-requests', 'tbl-width--100px', 'mob_entries', 'mob_block_1', 'spbc_tbl__traffic_control_logs_block_1'].join(' '),\n \"data-before\": __('Requests and attempts', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, row.requests || 0)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: ['requests_per', 'column-requests_per', 'tbl-width--100px', 'mob_entries', 'mob_block_1', 'spbc_tbl__traffic_control_logs_block_1'].join(' '),\n \"data-before\": __('Requests per 5 minutes', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, row.requests_per || 0)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: \"page_url column-page_url mob_entries mob_block_1 spbc_tbl__traffic_control_logs_block_1\",\n \"data-before\": __('Page', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, row.page_url || '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: ['http_user_agent', 'column-http_user_agent', 'tbl-width--100px', 'mob_entries', 'mob_block_1', 'spbc_tbl__traffic_control_logs_block_1'].join(' '),\n \"data-before\": __('User Agent', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbcShortText\"\n }, formatUserAgent(row.http_user_agent || '')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbcFullText spbc_hide_table_cell_desc\"\n }, row.http_user_agent || '-')));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/TabContent/TabFirewall/FirewallTableRow.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ FirewallTableRow)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_Utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/Utilities */ \"./js/src/react/utils/Utilities.js\");\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n;\n\nvar __ = wp.i18n.__;\nfunction FirewallTableRow(_ref) {\n var row = _ref.row,\n rowIndex = _ref.rowIndex;\n // AJAX wrapper for filter IP requests\n var filterIpAjaxWrapper = function filterIpAjaxWrapper(data) {\n return new Promise(function (resolve, reject) {\n var params = {\n callback: function callback(response) {\n if (_typeof(response) === 'object' && response.error) {\n reject(new Error(response.error));\n } else {\n resolve(response);\n }\n },\n error_callback: function error_callback(error) {\n reject(error);\n }\n };\n spbcSendAJAXRequest(data, params);\n });\n };\n\n // Confirm modal window\n var spbcModalConfirm = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (callback) {\n var confirmHeader = __('Are you sure?', 'security-malware-firewall');\n var confirmText = __('Keep in mind, you have a few automatic options to deal with bots and DoS/DDoS attacks,', 'security-malware-firewall');\n confirmText += ' ';\n confirmText += '
';\n confirmText += '1. ' + (0,_utils_Utilities__WEBPACK_IMPORTED_MODULE_1__.sprintf)(__('Tune %s -> \"Traffic control\" in order to stop flood/DoS attacks on your site.', 'security-malware-firewall'), \"\\n \".concat(__('General settings', 'security-malware-firewall'), \"\\n \"));\n confirmText += ' ';\n confirmText += '2. ' + __(\n // eslint-disable-next-line max-len\n '(Anti-Spam plugin) If you use Anti-Spam plugin by CleanTalk, turn option Advanced settings -> \"Anti-Crawler\" on. This options dead stops bots on your site, it protects from stealing content from the site!', 'security-malware-firewall');\n confirmText += '
';\n confirmText += (0,_utils_Utilities__WEBPACK_IMPORTED_MODULE_1__.sprintf)(__('Anti-Spam plugin is here %s -> Anti-Spam by CleanTalk.', 'security-malware-firewall'), \"\\n \".concat(__('WordPress console -> Plugins', 'security-malware-firewall'), \"\\n \"));\n confirmText += ' ';\n confirmText += (0,_utils_Utilities__WEBPACK_IMPORTED_MODULE_1__.sprintf)(__('If the plugin is not installed, ' + 'it can be found and installed through %s.', 'security-malware-firewall'), 'search');\n confirmText += '
';\n spbcModal.open();\n spbcModal.confirm(confirmHeader, confirmText, '', callback);\n }, []);\n\n // Handler for allowing an IP\n var handleAllowIp = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (e) {\n e.preventDefault();\n spbcModalConfirm(function () {\n return handleAllowIpCallback(e.target);\n });\n }, []);\n var handleAllowIpCallback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(target) {\n var originalText, originalPointerEvents, data, response, _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n originalText = target.textContent;\n originalPointerEvents = target.style.pointerEvents;\n target.style.pointerEvents = 'none';\n target.style.opacity = '0.5';\n target.textContent = __('Processing...', 'security-malware-firewall');\n data = {\n action: 'spbc_tc__filter_ip',\n ip: row.ip_entry,\n status: 'allow'\n };\n _context.p = 1;\n _context.n = 2;\n return filterIpAjaxWrapper(data);\n case 2:\n response = _context.v;\n if (response.success) {\n alert(__('Success.', 'security-malware-firewall'));\n } else {\n alert(response.data || __('An error occurred.', 'security-malware-firewall'));\n }\n _context.n = 4;\n break;\n case 3:\n _context.p = 3;\n _t = _context.v;\n console.error('Error allowing IP:', _t);\n alert(_t.message || __('An error occurred.', 'security-malware-firewall'));\n case 4:\n _context.p = 4;\n target.style.pointerEvents = originalPointerEvents;\n target.style.opacity = '';\n target.textContent = originalText;\n return _context.f(4);\n case 5:\n return _context.a(2);\n }\n }, _callee, null, [[1, 3, 4, 5]]);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }(), [row.ip_entry]);\n\n // Handler for banning an IP\n var handleBanIp = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (e) {\n e.preventDefault();\n spbcModalConfirm(function () {\n return handleBanIpCallback(e.target);\n });\n }, []);\n var handleBanIpCallback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(target) {\n var originalText, originalPointerEvents, data, response, _t2;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n originalText = target.textContent;\n originalPointerEvents = target.style.pointerEvents;\n target.style.pointerEvents = 'none';\n target.style.opacity = '0.5';\n target.textContent = __('Processing...', 'security-malware-firewall');\n data = {\n action: 'spbc_tc__filter_ip',\n ip: row.ip_entry,\n status: 'deny'\n };\n _context2.p = 1;\n _context2.n = 2;\n return filterIpAjaxWrapper(data);\n case 2:\n response = _context2.v;\n if (response.success) {\n alert(__('Success.', 'security-malware-firewall'));\n } else {\n alert(response.data || __('An error occurred.', 'security-malware-firewall'));\n }\n _context2.n = 4;\n break;\n case 3:\n _context2.p = 3;\n _t2 = _context2.v;\n console.error('Error banning IP:', _t2);\n alert(_t2.message || __('An error occurred.', 'security-malware-firewall'));\n case 4:\n _context2.p = 4;\n target.style.pointerEvents = originalPointerEvents;\n target.style.opacity = '';\n target.textContent = originalText;\n return _context2.f(4);\n case 5:\n return _context2.a(2);\n }\n }, _callee2, null, [[1, 3, 4, 5]]);\n }));\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }(), [row.ip_entry]);\n var formatTimestamp = function formatTimestamp(timestamp) {\n if (!timestamp) return '';\n var date = new Date(timestamp * 1000); // Convert Unix timestamp to milliseconds\n var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n var month = months[date.getMonth()];\n var day = date.getDate();\n var year = date.getFullYear();\n var hours = String(date.getHours()).padStart(2, '0');\n var minutes = String(date.getMinutes()).padStart(2, '0');\n var seconds = String(date.getSeconds()).padStart(2, '0');\n return \"\".concat(month, \" \").concat(day, \" \").concat(year, \", \").concat(hours, \":\").concat(minutes, \":\").concat(seconds);\n };\n var formatUserAgent = function formatUserAgent(userAgent) {\n if (!userAgent) return '';\n var maxLength = 50;\n if (userAgent.length <= maxLength) {\n return userAgent;\n }\n return userAgent.substring(0, maxLength) + '...';\n };\n var getCleanTalkUrl = function getCleanTalkUrl(ip) {\n var params = new URLSearchParams({\n utm_id: '',\n utm_term: '',\n utm_source: 'wordpress',\n utm_medium: 'dashboard',\n utm_content: 'firewall_log',\n utm_campaign: 'firewall'\n });\n return \"https://cleantalk.org/blacklists/\".concat(ip, \"?\").concat(params.toString());\n };\n\n // Adds a locale-aware thousands separator, keeps non numeric values (like '-') untouched\n var formatNumber = function formatNumber(number) {\n var value = Number(number);\n if (number === '' || number === null || isNaN(value)) {\n return number;\n }\n return value.toLocaleString();\n };\n var getLocationPart = function getLocationPart(country) {\n var countryCode = country.country_code || '';\n var parts = [];\n [country.country_name, country.subdivision, country.city].filter(function (part) {\n return typeof part === 'string' && part.trim() !== '';\n }).forEach(function (part) {\n var value = part.trim();\n if (!parts.some(function (added) {\n return added.toLowerCase() === value.toLowerCase();\n })) {\n parts.push(value);\n }\n });\n var location = parts.join(', ');\n if (countryCode === '' && location === '') {\n return '-';\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, countryCode !== '' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n src: \"https://cleantalk.org/images/flags/\".concat(countryCode.toLowerCase(), \".png\"),\n alt: countryCode\n }) : null, countryCode !== '' && location !== '' ? \"\\xA0\" : null, location);\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: \"column-ip_entry column-primary mob_block_1\",\n \"data-before\": __('IP', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"ip_entry\"\n }, row.ip_entry), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: getCleanTalkUrl(row.ip_entry),\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, __('Lookup', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"i\", {\n className: \"spbc-icon-link-ext\"\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"br\", null), row.personal_status !== null && row.personal_status > 0 ? __('Allowed', 'security-malware-firewall') : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: \"#\",\n onClick: handleAllowIp,\n className: \"spbcGreen\"\n }, __('Allow', 'security-malware-firewall')), \"\\xA0|\\xA0\", row.personal_status !== null && row.personal_status <= 0 ? __('Banned', 'security-malware-firewall') : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: \"#\",\n onClick: handleBanIp,\n className: \"spbc---red\"\n }, __('Ban', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n type: \"button\",\n onClick: function onClick() {\n return window.spbcShowHideRows && window.spbcShowHideRows(rowIndex + 1, 'spbc_tbl__traffic_control_logs');\n },\n className: \"toggle-row\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"screen-reader-text\"\n }, __('Show more details', 'security-malware-firewall')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: \"country column-country mob_entries mob_block_1 spbc_tbl__traffic_control_logs_block_1\",\n \"data-before\": __('Location', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, row.country ? getLocationPart(row.country) : '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: ['entry_timestamp', 'column-entry_timestamp', 'mob_entries', 'mob_block_1', 'spbc_tbl__traffic_control_logs_block_1'].join(' '),\n \"data-before\": __('Last Request', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\",\n \"data-sort-value\": row.entry_timestamp\n }, formatTimestamp(row.entry_timestamp)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: ['status', 'column-status', 'mob_entries', 'mob_block_1', 'spbc_tbl__traffic_control_logs_block_1'].join(' '),\n \"data-before\": __('Status', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: row.statusColor || 'spbcRed'\n }, row.status || __('Unknown', 'security-malware-firewall'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: ['requests', 'column-requests', 'tbl-width--100px', 'mob_entries', 'mob_block_1', 'spbc_tbl__traffic_control_logs_block_1'].join(' '),\n \"data-before\": __('Requests and attempts', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, formatNumber(row.requests || 0))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: ['requests_per', 'column-requests_per', 'tbl-width--100px', 'mob_entries', 'mob_block_1', 'spbc_tbl__traffic_control_logs_block_1'].join(' '),\n \"data-before\": __('Requests per 5 minutes', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, formatNumber(row.requests_per || 0))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: \"page_url column-page_url mob_entries mob_block_1 spbc_tbl__traffic_control_logs_block_1\",\n \"data-before\": __('Page', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, row.page_url || '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", {\n className: ['http_user_agent', 'column-http_user_agent', 'tbl-width--100px', 'mob_entries', 'mob_block_1', 'spbc_tbl__traffic_control_logs_block_1'].join(' '),\n \"data-before\": __('User Agent', 'security-malware-firewall'),\n \"data-defore-no-code\": \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbcShortText\"\n }, formatUserAgent(row.http_user_agent || '')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbcFullText spbc_hide_table_cell_desc\"\n }, row.http_user_agent || '-')));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/TabContent/TabFirewall/FirewallTableRow.js?\n}");
/***/ },
@@ -416,7 +416,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\***********************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ TabFirewall)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/TabContent/TabFirewall/styles.css\");\n/* harmony import */ var _FirewallTableRow__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FirewallTableRow */ \"./js/src/react/components/TabContent/TabFirewall/FirewallTableRow.js\");\n/* harmony import */ var _tableSort__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tableSort */ \"./js/src/react/components/TabContent/TabFirewall/tableSort.js\");\n/* harmony import */ var _hooks_useGetHostNamesByIps__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../hooks/useGetHostNamesByIps */ \"./js/src/react/hooks/useGetHostNamesByIps.js\");\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n\n\n\n\n\nvar _wp$i18n = wp.i18n,\n __ = _wp$i18n.__,\n sprintf = _wp$i18n.sprintf;\nfunction TabFirewall(_ref) {\n var sectionId = _ref.sectionId,\n sectionData = _ref.sectionData,\n isActive = _ref.isActive;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(sectionData.objects.rows || []),\n _useState2 = _slicedToArray(_useState, 2),\n tableRows = _useState2[0],\n setTableRows = _useState2[1];\n var _useGetHostNamesByIps = (0,_hooks_useGetHostNamesByIps__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(),\n getHostNames = _useGetHostNamesByIps.getHostNames;\n var linkToControlPanel = 'https://cleantalk.org/my/logs_firewall';\n linkToControlPanel += \"?service=\".concat(sectionData.objects.service_id, \"&user_token=\").concat(sectionData.objects.user_token);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (sectionData.objects.rows) {\n setTableRows(sectionData.objects.rows);\n showHostnames();\n }\n }, [sectionData.objects.rows]);\n var topInfoText = function topInfoText() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"spbc_hint spbc_hint--left -display--inline-block\"\n }, sprintf(__(\n // eslint-disable-next-line max-len\n 'This list contains details of access attempts for the past hour and shows only the last %d records.', 'security-malware-firewall'), 20), \"\\xA0\", sprintf(__('The list updates itself every %d seconds automatically.', 'security-malware-firewall'), 60), \"\\xA0\", __('Traffic Control blocks visitors who open more than ', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, sectionData.objects.fw_settings.autoblock_amount), \" \", __('website pages within ', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, sectionData.objects.fw_settings.autoblock_timeframe), \" \", __('minutes.', 'security-malware-firewall'), __('You can adjust it ', 'security-malware-firewall'), \"\\xA0\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: \"#\",\n onClick: function onClick() {\n document.querySelector('#spbc_tab-traffic_control').remove();\n spbcSwitchTab(document.getElementsByClassName('spbc_tab_nav-settings_general')[0], {\n target: 'spbc_setting_traffic_control__autoblock_amount',\n action: 'highlight',\n times: 3\n });\n }\n }, __('here', 'security-malware-firewall')), \".\\xA0\", __('Traffic Control is ', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, sectionData.flags.is_traffic_control_enabled ? __('active', 'security-malware-firewall') : __('inactive', 'security-malware-firewall')), \".\", __('Web Application Firewall (WAF) is ', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, sectionData.flags.is_waf_enabled ? __('active', 'security-malware-firewall') : __('inactive', 'security-malware-firewall')), \".\");\n };\n\n // Callback promise wrapper\n var fwAjaxWrapper = function fwAjaxWrapper(data) {\n return new Promise(function (resolve, reject) {\n var params = {\n callback: function callback(response) {\n if (_typeof(response) === 'object' && response.error) {\n reject(new Error(response.error));\n } else {\n resolve(response);\n }\n },\n error_callback: function error_callback(error) {\n reject(error);\n }\n };\n spbcSendAJAXRequest(data, params);\n });\n };\n var showMoreButtonListener = function showMoreButtonListener() {\n if (!document.getElementById('spbc_show_more_fw_logs_button')) {\n return;\n }\n document.getElementById('spbc_show_more_fw_logs_button').addEventListener('click', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var data, response, _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n document.querySelector('.spbc__wrapper--show_more .spbc_preloader').style.display = 'block';\n if (!(spbcSettingsFWLogs.clicks < 2)) {\n _context.n = 5;\n break;\n }\n spbcSettingsFWLogs.clicks++;\n data = {\n action: 'spbc_show_more_security_firewall_logs',\n amount: spbcSettingsFWLogs.amount * spbcSettingsFWLogs.clicks\n };\n _context.p = 1;\n _context.n = 2;\n return fwAjaxWrapper(data);\n case 2:\n response = _context.v;\n if (response.error) {\n console.error(response.error);\n } else {\n // Add new rows to existing rows using React state\n if (response.objects && response.objects.rows) {\n setTableRows(function (prevRows) {\n return [].concat(_toConsumableArray(prevRows), _toConsumableArray(response.objects.rows));\n });\n if (response.objects.rows.length < spbcSettingsFWLogs.amount) {\n showControlPanelButton();\n }\n }\n }\n _context.n = 4;\n break;\n case 3:\n _context.p = 3;\n _t = _context.v;\n console.error(_t);\n case 4:\n _context.n = 6;\n break;\n case 5:\n showControlPanelButton();\n case 6:\n document.querySelector('.spbc__wrapper--show_more .spbc_preloader').style.display = 'none';\n case 7:\n return _context.a(2);\n }\n }, _callee, null, [[1, 3]]);\n })));\n };\n var showMoreButton = function showMoreButton() {\n var showMoreButtonLinkToControlPanel = document.querySelector('#spbc__show_more_logs_link_to_control_panel');\n if (showMoreButtonLinkToControlPanel) {\n showMoreButtonLinkToControlPanel.style.display = 'none';\n }\n var showMoreButton = document.querySelector('#spbc_show_more_fw_logs_button');\n if (showMoreButton) {\n showMoreButton.style.display = 'block';\n }\n };\n var showControlPanelButton = function showControlPanelButton() {\n var showMoreButton = document.querySelector('#spbc_show_more_fw_logs_button');\n if (showMoreButton) {\n showMoreButton.style.display = 'none';\n }\n var showMoreButtonLinkToControlPanel = document.querySelector('#spbc__show_more_logs_link_to_control_panel');\n if (showMoreButtonLinkToControlPanel) {\n showMoreButtonLinkToControlPanel.style.display = 'block';\n }\n };\n var moreLogsButtons = function moreLogsButtons() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc__wrapper--center spbc__wrapper--show_more\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_show_more_fw_logs_button\",\n className: \"spbc_manual_link\"\n }, \"Show more\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n className: \"spbc_preloader\",\n src: \"/wp-content/plugins/security-malware-firewall/images/preloader.gif\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc__show_more_logs_link_to_control_panel\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", {\n className: \"-display--inline-block\"\n }, \"Proceed to:\\xA0\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n target: \"_blank\",\n rel: \"noreferrer\",\n href: linkToControlPanel,\n className: \"spbc_manual_link -display--inline-block\"\n }, \"Security Control Panel\"), \"\\xA0\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", {\n className: \"-display--inline-block\"\n }, \"to see more.\")));\n };\n var table = function table(rows) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_tbl__traffic_control_logs\",\n type: \"traffic_control\",\n className: \"tbl-root\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n className: \"wp-list-table widefat fixed striped\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"thead\", null, tableColumnNames()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, rows.map(function (row, idx) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FirewallTableRow__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n key: idx,\n row: row,\n rowIndex: idx\n });\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tfoot\", null, tableColumnNames())));\n };\n var tableColumnNames = function tableColumnNames() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"ip_entry\",\n className: \"manage-column column-ip_entry column-primary\"\n }, __('IP', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"country\",\n className: \"manage-column column-country\"\n }, __('Location', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"entry_timestamp\",\n className: \"manage-column column-entry_timestamp\"\n }, __('Last Request', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"status\",\n className: \"manage-column column-status\"\n }, __('Status', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"requests\",\n className: \"manage-column column-requests tbl-width--100px\"\n }, __('Requests and attempts', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"requests_per\",\n className: \"manage-column column-requests_per tbl-width--100px\"\n }, __('Requests per ', 'security-malware-firewall'), sectionData.objects.fw_settings.autoblock_timeframe, __(' minutes', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"page_url\",\n className: \"manage-column column-page_url\"\n }, __('Page', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"http_user_agent\",\n className: \"manage-column column-http_user_agent\"\n }, __('User Agent', 'security-malware-firewall')));\n };\n var tableDescription = function tableDescription() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"description-firewall-table\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"spbc_hint spbc_hint--left\"\n }, __('Requests and attempts - shows the total number of requests with a designated status.', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"spbc_hint spbc_hint--left\"\n }, __('Requests per ', 'security-malware-firewall'), sectionData.objects.fw_settings.autoblock_timeframe, \" \", __('minutes - shows the total number of requests in the last ', 'security-malware-firewall'), sectionData.objects.fw_settings.autoblock_timeframe, \" \", __('minutes', 'security-malware-firewall'), \".\"));\n };\n\n /**\n * Show hostnames under IPs\n */\n function showHostnames() {\n var ips = jQuery.unique(jQuery('#spbc_tbl__traffic_control_logs tbody tr').map(function () {\n return jQuery(this).find('.ip_entry').text();\n }).get());\n getHostNames(ips, showHostnameCallback);\n }\n\n /**\n * Show hostname callback\n * @param {*} result\n * @param {*} data\n */\n function showHostnameCallback(result, data) {\n if (result.success && result.hostnames) {\n var ip;\n var hostname;\n for (var i = 0; i < result.hostnames.length; i++) {\n ip = result.hostnames[i].network;\n hostname = result.hostnames[i].hostname;\n jQuery('#spbc_tbl__traffic_control_logs tbody tr').each(function () {\n if (jQuery(this).find('.ip_entry').text() === ip) {\n jQuery(this).find('.ip_entry').append(' ' + hostname);\n }\n });\n }\n }\n }\n\n // Run showMoreButtonListener after showMoreButton renders\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (sectionData.flags.showMoreButton) {\n showMoreButton();\n showMoreButtonListener();\n } else {\n showControlPanelButton();\n }\n (0,_tableSort__WEBPACK_IMPORTED_MODULE_3__.sortTable)();\n (0,_tableSort__WEBPACK_IMPORTED_MODULE_3__.sortTableListener)();\n }, [sectionData.flags.showMoreButton, sectionData.objects.rows]);\n if (!sectionData.flags.is_key_ok) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_tab-traffic_control\",\n className: \"spbc_tab spbc_tab-traffic_control spbc_tab_section--active\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: 'contents'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_tab_fields_group\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_group_header\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_wrapper_field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n margin: '10px auto',\n textAlign: 'center'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", {\n style: {\n margin: '5px',\n display: 'inline-block'\n }\n }, __('Plugin does not work until you enter the Access key in ', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: '/wp-admin/options-general.php?page=spbc&spbc_tab=settings_general'\n }, __('General settings', 'security-malware-firewall')), \".\"))))));\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_tab-traffic_control\",\n className: \"spbc_tab spbc_tab-traffic_control spbc_tab_section--\".concat(isActive ? 'active' : 'inactive')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: 'contents'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_tab_fields_group\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_group_header\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_wrapper_field\"\n }, topInfoText(), table(tableRows), moreLogsButtons(), tableDescription()))));\n}\n;\n\n//# sourceURL=webpack:///./js/src/react/components/TabContent/TabFirewall/TabFirewall.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ TabFirewall)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/TabContent/TabFirewall/styles.css\");\n/* harmony import */ var _FirewallTableRow__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FirewallTableRow */ \"./js/src/react/components/TabContent/TabFirewall/FirewallTableRow.js\");\n/* harmony import */ var _tableSort__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tableSort */ \"./js/src/react/components/TabContent/TabFirewall/tableSort.js\");\n/* harmony import */ var _hooks_useGetHostNamesByIps__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../hooks/useGetHostNamesByIps */ \"./js/src/react/hooks/useGetHostNamesByIps.js\");\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n;\n\n\n\n\nvar _wp$i18n = wp.i18n,\n __ = _wp$i18n.__,\n sprintf = _wp$i18n.sprintf;\nfunction TabFirewall(_ref) {\n var sectionId = _ref.sectionId,\n sectionData = _ref.sectionData,\n isActive = _ref.isActive;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(sectionData.objects.rows || []),\n _useState2 = _slicedToArray(_useState, 2),\n tableRows = _useState2[0],\n setTableRows = _useState2[1];\n var _useGetHostNamesByIps = (0,_hooks_useGetHostNamesByIps__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(),\n getHostNames = _useGetHostNamesByIps.getHostNames;\n var linkToControlPanel = 'https://cleantalk.org/my/logs_firewall';\n linkToControlPanel += \"?service=\".concat(sectionData.objects.service_id, \"&user_token=\").concat(sectionData.objects.user_token);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (sectionData.objects.rows) {\n setTableRows(sectionData.objects.rows);\n showHostnames();\n }\n }, [sectionData.objects.rows]);\n var topInfoText = function topInfoText() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"spbc_hint spbc_hint--left -display--inline-block\"\n }, sprintf(__(\n // eslint-disable-next-line max-len\n 'This list contains details of access attempts for the past hour and shows only the last %d records.', 'security-malware-firewall'), 20), \"\\xA0\", sprintf(__('The list updates itself every %d seconds automatically.', 'security-malware-firewall'), 60), \"\\xA0\", __('Traffic Control blocks visitors who open more than ', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, sectionData.objects.fw_settings.autoblock_amount), \" \", __('website pages within ', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, sectionData.objects.fw_settings.autoblock_timeframe), \" \", __('minutes.', 'security-malware-firewall'), __('You can adjust it ', 'security-malware-firewall'), \"\\xA0\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: \"#\",\n onClick: function onClick() {\n document.querySelector('#spbc_tab-traffic_control').remove();\n spbcSwitchTab(document.getElementsByClassName('spbc_tab_nav-settings_general')[0], {\n target: 'spbc_setting_traffic_control__autoblock_amount',\n action: 'highlight',\n times: 3\n });\n }\n }, __('here', 'security-malware-firewall')), \".\\xA0\", __('Traffic Control is ', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, sectionData.flags.is_traffic_control_enabled ? __('active', 'security-malware-firewall') : __('inactive', 'security-malware-firewall')), \".\", __('Web Application Firewall (WAF) is ', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"b\", null, sectionData.flags.is_waf_enabled ? __('active', 'security-malware-firewall') : __('inactive', 'security-malware-firewall')), \".\");\n };\n\n // Callback promise wrapper\n var fwAjaxWrapper = function fwAjaxWrapper(data) {\n return new Promise(function (resolve, reject) {\n var params = {\n callback: function callback(response) {\n if (_typeof(response) === 'object' && response.error) {\n reject(new Error(response.error));\n } else {\n resolve(response);\n }\n },\n error_callback: function error_callback(error) {\n reject(error);\n }\n };\n spbcSendAJAXRequest(data, params);\n });\n };\n var showMoreButtonListener = function showMoreButtonListener() {\n if (!document.getElementById('spbc_show_more_fw_logs_button')) {\n return;\n }\n document.getElementById('spbc_show_more_fw_logs_button').addEventListener('click', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var data, response, _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n document.querySelector('.spbc__wrapper--show_more .spbc_preloader').style.display = 'block';\n if (!(spbcSettingsFWLogs.clicks < 2)) {\n _context.n = 5;\n break;\n }\n spbcSettingsFWLogs.clicks++;\n data = {\n action: 'spbc_show_more_security_firewall_logs',\n amount: spbcSettingsFWLogs.amount * spbcSettingsFWLogs.clicks\n };\n _context.p = 1;\n _context.n = 2;\n return fwAjaxWrapper(data);\n case 2:\n response = _context.v;\n if (response.error) {\n console.error(response.error);\n } else {\n // Add new rows to existing rows using React state\n if (response.objects && response.objects.rows) {\n setTableRows(function (prevRows) {\n return [].concat(_toConsumableArray(prevRows), _toConsumableArray(response.objects.rows));\n });\n if (response.objects.rows.length < spbcSettingsFWLogs.amount) {\n showControlPanelButton();\n }\n }\n }\n _context.n = 4;\n break;\n case 3:\n _context.p = 3;\n _t = _context.v;\n console.error(_t);\n case 4:\n _context.n = 6;\n break;\n case 5:\n showControlPanelButton();\n case 6:\n document.querySelector('.spbc__wrapper--show_more .spbc_preloader').style.display = 'none';\n case 7:\n return _context.a(2);\n }\n }, _callee, null, [[1, 3]]);\n })));\n };\n var showMoreButton = function showMoreButton() {\n var showMoreButtonLinkToControlPanel = document.querySelector('#spbc__show_more_logs_link_to_control_panel');\n if (showMoreButtonLinkToControlPanel) {\n showMoreButtonLinkToControlPanel.style.display = 'none';\n }\n var showMoreButton = document.querySelector('#spbc_show_more_fw_logs_button');\n if (showMoreButton) {\n showMoreButton.style.display = 'block';\n }\n };\n var showControlPanelButton = function showControlPanelButton() {\n var showMoreButton = document.querySelector('#spbc_show_more_fw_logs_button');\n if (showMoreButton) {\n showMoreButton.style.display = 'none';\n }\n var showMoreButtonLinkToControlPanel = document.querySelector('#spbc__show_more_logs_link_to_control_panel');\n if (showMoreButtonLinkToControlPanel) {\n showMoreButtonLinkToControlPanel.style.display = 'block';\n }\n };\n var moreLogsButtons = function moreLogsButtons() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc__wrapper--center spbc__wrapper--show_more\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_show_more_fw_logs_button\",\n className: \"spbc_manual_link\"\n }, \"Show more\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n className: \"spbc_preloader\",\n src: \"/wp-content/plugins/security-malware-firewall/images/preloader.gif\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc__show_more_logs_link_to_control_panel\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", {\n className: \"-display--inline-block\"\n }, \"Proceed to:\\xA0\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n target: \"_blank\",\n rel: \"noreferrer\",\n href: linkToControlPanel,\n className: \"spbc_manual_link -display--inline-block\"\n }, \"Security Control Panel\"), \"\\xA0\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", {\n className: \"-display--inline-block\"\n }, \"to see more.\")));\n };\n var table = function table(rows) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_tbl__traffic_control_logs\",\n type: \"traffic_control\",\n className: \"tbl-root\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n className: \"wp-list-table widefat fixed striped\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"thead\", null, tableColumnNames()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, rows.map(function (row, idx) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FirewallTableRow__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n key: idx,\n row: row,\n rowIndex: idx\n });\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tfoot\", null, tableColumnNames())));\n };\n var tableColumnNames = function tableColumnNames() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"ip_entry\",\n className: \"manage-column column-ip_entry column-primary\"\n }, __('IP', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"country\",\n className: \"manage-column column-country\"\n }, __('Location', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"entry_timestamp\",\n className: \"manage-column column-entry_timestamp\"\n }, __('Last Request', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"status\",\n className: \"manage-column column-status\"\n }, __('Status', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"requests\",\n className: \"manage-column column-requests tbl-width--100px\"\n }, __('Requests and attempts', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"requests_per\",\n className: \"manage-column column-requests_per tbl-width--100px\"\n }, __('Requests per ', 'security-malware-firewall'), sectionData.objects.fw_settings.autoblock_timeframe, __(' minutes', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"page_url\",\n className: \"manage-column column-page_url\"\n }, __('Page', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"th\", {\n id: \"http_user_agent\",\n className: \"manage-column column-http_user_agent\"\n }, __('User Agent', 'security-malware-firewall')));\n };\n var tableDescription = function tableDescription() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"description-firewall-table\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"spbc_hint spbc_hint--left\"\n }, __('Requests and attempts - shows the total number of requests with a designated status.', 'security-malware-firewall')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"spbc_hint spbc_hint--left\"\n }, __('Requests per ', 'security-malware-firewall'), sectionData.objects.fw_settings.autoblock_timeframe, \" \", __('minutes - shows the total number of requests in the last ', 'security-malware-firewall'), sectionData.objects.fw_settings.autoblock_timeframe, \" \", __('minutes', 'security-malware-firewall'), \".\"));\n };\n\n /**\n * Show hostnames under IPs\n */\n function showHostnames() {\n var ips = jQuery.unique(jQuery('#spbc_tbl__traffic_control_logs tbody tr').map(function () {\n return jQuery(this).find('.ip_entry').text();\n }).get());\n getHostNames(ips, showHostnameCallback);\n }\n\n /**\n * Show hostname callback\n * @param {*} result\n * @param {*} data\n */\n function showHostnameCallback(result, data) {\n if (result.success && result.hostnames) {\n var ip;\n var hostname;\n for (var i = 0; i < result.hostnames.length; i++) {\n ip = result.hostnames[i].network;\n hostname = result.hostnames[i].hostname;\n jQuery('#spbc_tbl__traffic_control_logs tbody tr').each(function () {\n if (jQuery(this).find('.ip_entry').text() === ip) {\n jQuery(this).find('.ip_entry').append(' ' + hostname);\n }\n });\n }\n }\n }\n\n // Run showMoreButtonListener after showMoreButton renders\n ;(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (sectionData.flags.showMoreButton) {\n showMoreButton();\n showMoreButtonListener();\n } else {\n showControlPanelButton();\n }\n ;(0,_tableSort__WEBPACK_IMPORTED_MODULE_3__.sortTable)();\n (0,_tableSort__WEBPACK_IMPORTED_MODULE_3__.sortTableListener)();\n }, [sectionData.flags.showMoreButton, sectionData.objects.rows]);\n if (!sectionData.flags.is_key_ok) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_tab-traffic_control\",\n className: \"spbc_tab spbc_tab-traffic_control spbc_tab_section--active\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: 'contents'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_tab_fields_group\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_group_header\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_wrapper_field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n margin: '10px auto',\n textAlign: 'center'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", {\n style: {\n margin: '5px',\n display: 'inline-block'\n }\n }, __('Plugin does not work until you enter the Access key in ', 'security-malware-firewall'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: '/wp-admin/options-general.php?page=spbc&spbc_tab=settings_general'\n }, __('General settings', 'security-malware-firewall')), \".\"))))));\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_tab-traffic_control\",\n className: \"spbc_tab spbc_tab-traffic_control spbc_tab_section--\".concat(isActive ? 'active' : 'inactive')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: 'contents'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_tab_fields_group\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_group_header\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_wrapper_field\"\n }, topInfoText(), table(tableRows), moreLogsButtons(), tableDescription()))));\n}\n;\n\n//# sourceURL=webpack:///./js/src/react/components/TabContent/TabFirewall/TabFirewall.js?\n}");
/***/ },
@@ -466,7 +466,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\*************************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\nvar FSWPreloader = function FSWPreloader(_ref) {\n var isVisible = _ref.isVisible,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? 'fsw_preloader_default' : _ref$id;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n style: _objectSpread({\n display: isVisible ? 'inline' : 'none',\n marginLeft: '10px',\n marginTop: '1px',\n width: '16px'\n }, style),\n src: \"../../wp-content/plugins/security-malware-firewall/images/preloader2.gif\",\n alt: \"Loading...\",\n id: id\n });\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FSWPreloader);\n\n//# sourceURL=webpack:///./js/src/react/components/TabContent/TabFsWatcher/FSWPreloader.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n;\nvar FSWPreloader = function FSWPreloader(_ref) {\n var isVisible = _ref.isVisible,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? 'fsw_preloader_default' : _ref$id;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n style: _objectSpread({\n display: isVisible ? 'inline' : 'none',\n marginLeft: '10px',\n marginTop: '1px',\n width: '16px'\n }, style),\n src: \"../../wp-content/plugins/security-malware-firewall/images/preloader2.gif\",\n alt: \"Loading...\",\n id: id\n });\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FSWPreloader);\n\n//# sourceURL=webpack:///./js/src/react/components/TabContent/TabFsWatcher/FSWPreloader.js?\n}");
/***/ },
@@ -476,7 +476,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\**************************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ TabFsWatchers)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/TabContent/TabFsWatcher/styles.css\");\n/* harmony import */ var _FSWPreloader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FSWPreloader */ \"./js/src/react/components/TabContent/TabFsWatcher/FSWPreloader.js\");\n/* harmony import */ var _FSWComparisonSelectComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FSWComparisonSelectComponent */ \"./js/src/react/components/TabContent/TabFsWatcher/FSWComparisonSelectComponent.js\");\n/* harmony import */ var _ReactFileViewDialog_ReactFileViewDialog__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../ReactFileViewDialog/ReactFileViewDialog */ \"./js/src/react/components/ReactFileViewDialog/ReactFileViewDialog.js\");\n/* harmony import */ var _ReactFileViewDialog_ReactFileViewContent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../ReactFileViewDialog/ReactFileViewContent */ \"./js/src/react/components/ReactFileViewDialog/ReactFileViewContent.js\");\n/* harmony import */ var _FSWComparisonTable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./FSWComparisonTable */ \"./js/src/react/components/TabContent/TabFsWatcher/FSWComparisonTable.js\");\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n\n\n\n\n\n\n\nvar __ = wp.i18n.__;\nfunction TabFsWatchers(_ref) {\n var sectionId = _ref.sectionId,\n sectionData = _ref.sectionData,\n isActive = _ref.isActive;\n // ---State vars---\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),\n _useState2 = _slicedToArray(_useState, 2),\n firstDate = _useState2[0],\n setFirstDate = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),\n _useState4 = _slicedToArray(_useState3, 2),\n secondDate = _useState4[0],\n setSecondDate = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),\n _useState6 = _slicedToArray(_useState5, 2),\n comparisonData = _useState6[0],\n setComparisonData = _useState6[1];\n var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState8 = _slicedToArray(_useState7, 2),\n isLoadingCompare = _useState8[0],\n setIsLoadingCompare = _useState8[1];\n var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState0 = _slicedToArray(_useState9, 2),\n isLoadingCreate = _useState0[0],\n setIsLoadingCreate = _useState0[1];\n var _useState1 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),\n _useState10 = _slicedToArray(_useState1, 2),\n fileContent = _useState10[0],\n setFileContent = _useState10[1];\n var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState12 = _slicedToArray(_useState11, 2),\n isDialogOpen = _useState12[0],\n setIsDialogOpen = _useState12[1];\n var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),\n _useState14 = _slicedToArray(_useState13, 2),\n dialogTitle = _useState14[0],\n setDialogTitle = _useState14[1];\n var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState16 = _slicedToArray(_useState15, 2),\n isLoadingFile = _useState16[0],\n setIsLoadingFile = _useState16[1];\n\n // ---On page load effects---\n\n // Selectors initialize\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n var datesObject = sectionData.objects.selectorOptionsDates;\n if (datesObject.length > 0) {\n var _datesObject$, _datesObject;\n setFirstDate(((_datesObject$ = datesObject[0]) === null || _datesObject$ === void 0 ? void 0 : _datesObject$.value) || '');\n setSecondDate(((_datesObject = datesObject[datesObject.length - 1]) === null || _datesObject === void 0 ? void 0 : _datesObject.value) || '');\n }\n }, [sectionData.objects.selectorOptionsDates]);\n\n // Automatic compare if any of selectors data prepared\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (firstDate && secondDate) {\n handleCompare();\n }\n }, [firstDate, secondDate]);\n\n // ---Callbacks---\n\n // Comparison logic callback\n var handleCompare = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var data, response, responseDataObj, availableFSWDataSetNames, _i, _availableFSWDataSetN, dataSetName, tableData, hasChanges, _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n if (!(!firstDate || !secondDate)) {\n _context.n = 1;\n break;\n }\n return _context.a(2);\n case 1:\n setIsLoadingCompare(true);\n data = {\n action: 'spbct_fswatcher_compare',\n fswatcher__first_date: firstDate,\n fswatcher__second_date: secondDate\n };\n _context.p = 2;\n _context.n = 3;\n return fswAjaxWrapper(data);\n case 3:\n response = _context.v;\n responseDataObj = typeof response === 'string' ? JSON.parse(response) : response;\n if (!responseDataObj.error) {\n _context.n = 4;\n break;\n }\n alert(__('File System watcher JSON parse error: see console for details.', 'security-malware-firewall'));\n console.log('File System watcher JSON parse error: ' + responseDataObj.error);\n return _context.a(2);\n case 4:\n if (!(!responseDataObj || _typeof(responseDataObj) !== 'object')) {\n _context.n = 5;\n break;\n }\n throw new Error(__('Response is invalid.', 'security-malware-firewall'));\n case 5:\n availableFSWDataSetNames = ['added', 'changed', 'deleted'];\n _i = 0, _availableFSWDataSetN = availableFSWDataSetNames;\n case 6:\n if (!(_i < _availableFSWDataSetN.length)) {\n _context.n = 8;\n break;\n }\n dataSetName = _availableFSWDataSetN[_i];\n if (responseDataObj.hasOwnProperty(dataSetName)) {\n _context.n = 7;\n break;\n }\n throw new Error(__('Response has no required properties.', 'security-malware-firewall'));\n case 7:\n _i++;\n _context.n = 6;\n break;\n case 8:\n // Data transforming\n tableData = [];\n hasChanges = false;\n availableFSWDataSetNames.forEach(function (eventType) {\n var eventsArray = responseDataObj[eventType];\n if (eventsArray.length > 0) {\n hasChanges = true;\n eventsArray.forEach(function (event) {\n tableData.push(convertFSWEventToRow(event, eventType));\n });\n }\n });\n if (!hasChanges) {\n tableData.push({\n path: '',\n event_type: 'no_changes',\n date: '',\n isNoChanges: true\n });\n }\n setComparisonData(tableData);\n _context.n = 10;\n break;\n case 9:\n _context.p = 9;\n _t = _context.v;\n alert(_t.message + ' ' + __('Please contact', 'security-malware-firewall') + ' support@cleantalk.org');\n console.log('File System watcher response validating error: ' + _t.message);\n case 10:\n _context.p = 10;\n setIsLoadingCompare(false);\n return _context.f(10);\n case 11:\n return _context.a(2);\n }\n }, _callee, null, [[2, 9, 10, 11]]);\n })), [firstDate, secondDate]);\n\n // Snap creation logic callback\n var handleCreateSnapshot = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {\n var data, _t2;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n setIsLoadingCreate(true);\n data = {\n action: 'spbct_fswatcher_create_snapshot'\n };\n _context2.p = 1;\n _context2.n = 2;\n return fswAjaxWrapper(data);\n case 2:\n _context2.n = 4;\n break;\n case 3:\n _context2.p = 3;\n _t2 = _context2.v;\n console.error('Error creating snapshot:', _t2);\n case 4:\n _context2.p = 4;\n setIsLoadingCreate(false);\n // TODO crunch, we need to rebuild page without reloading\n window.location.reload();\n return _context2.f(4);\n case 5:\n return _context2.a(2);\n }\n }, _callee2, null, [[1, 3, 4, 5]]);\n })), []);\n\n // View file callback\n var handleViewFile = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(filePath) {\n var data, response, _t3;\n return _regenerator().w(function (_context3) {\n while (1) switch (_context3.p = _context3.n) {\n case 0:\n setDialogTitle(__('Content of', 'security-malware-firewall') + ' ' + filePath);\n setIsDialogOpen(true);\n setIsLoadingFile(true);\n setFileContent(null);\n data = {\n action: 'spbct_fswatcher_view_file',\n fswatcher_file_path: filePath,\n fswatcher__first_date: firstDate,\n fswatcher__second_date: secondDate\n };\n _context3.p = 1;\n _context3.n = 2;\n return fswAjaxWrapper(data);\n case 2:\n response = _context3.v;\n if (response.error) {\n setFileContent([response.error]);\n } else if (response.data) {\n setFileContent(response.data.split('\\n'));\n } else {\n setFileContent(['Unknown error on reading file. Data is empty.']);\n }\n _context3.n = 4;\n break;\n case 3:\n _context3.p = 3;\n _t3 = _context3.v;\n setFileContent([\"Error loading file: \".concat(_t3.message)]);\n case 4:\n _context3.p = 4;\n setIsLoadingFile(false);\n return _context3.f(4);\n case 5:\n return _context3.a(2);\n }\n }, _callee3, null, [[1, 3, 4, 5]]);\n }));\n return function (_x) {\n return _ref4.apply(this, arguments);\n };\n }(), [firstDate, secondDate]);\n\n // Callback promise wrapper\n var fswAjaxWrapper = function fswAjaxWrapper(data) {\n return new Promise(function (resolve, reject) {\n var params = {\n callback: function callback(response) {\n if (_typeof(response) === 'object' && response.error) {\n reject(new Error(response.error));\n } else {\n resolve(response);\n }\n },\n error_callback: function error_callback(error) {\n reject(error);\n }\n };\n spbcSendAJAXRequest(data, params);\n });\n };\n\n // --Misc--\n\n var closeDialog = function closeDialog() {\n setIsDialogOpen(false);\n setFileContent(null);\n setDialogTitle('');\n setIsLoadingFile(false);\n };\n var convertFSWEventToRow = function convertFSWEventToRow(event, eventType) {\n var row = {\n path: 'unknown',\n event_type: eventType.toUpperCase(),\n date: 'unknown',\n isNoChanges: false\n };\n if (event.length === 2) {\n if (typeof event[0] === 'string') {\n row.path = event[0];\n }\n if (typeof event[1] === 'string') {\n var d = new Date(Number(event[1]) * 1000);\n var shortMonthName = new Intl.DateTimeFormat('en-US', {\n month: 'short'\n }).format;\n var minutes = String(d.getMinutes()).padStart(2, '0');\n var seconds = String(d.getSeconds()).padStart(2, '0');\n row.date = \"\".concat(shortMonthName(d), \" \").concat(d.getDate(), \" \").concat(d.getFullYear(), \" \").concat(d.getHours(), \":\").concat(minutes, \":\").concat(seconds);\n }\n }\n return row;\n };\n var fswSettingsLink = sectionData.strings.spbcSettingsRootLink + '&spbc_tab=settings_general#spbc_setting_scanner__fs_watcher';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_tab_fields_group\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_group_header\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_wrapper_field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_tab_fields_group\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_group_header\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", null, sectionData.strings.innerHeader)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n padding: '0 0 0 10px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_fswatcher_description_box\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, sectionData.strings.commonDescription), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, sectionData.strings.extendedDescriptionPrefix, ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: fswSettingsLink\n }, sectionData.strings.innerHeader), ' ', sectionData.strings.extendedDescriptionPostfix, sectionData.strings.extendedDescription)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_fswatcher_create_snaps_button_area\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n className: \"spbc-icon-download\",\n id: \"fswatcher__create_snapshot\",\n onClick: handleCreateSnapshot,\n disabled: isLoadingCreate\n }, sectionData.strings.createSnapButtonText), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FSWPreloader__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isVisible: isLoadingCreate,\n id: 'fsw_preloader__create_snapshot'\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_fswatcher_snaps_not_ready_text\",\n style: {\n display: sectionData.flags.snapshotsAreReady ? 'none' : 'block'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, sectionData.strings.snapshotNotReadyText1), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, sectionData.strings.snapshotNotReadyText2)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: sectionData.flags.snapshotsAreReady ? 'block' : 'none'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, sectionData.strings.compareButtonDescription), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: '16px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FSWComparisonSelectComponent__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: 'fswatcher__first_date',\n selectLabel: sectionData.strings.firstDateLabel,\n value: firstDate,\n onChange: setFirstDate,\n options: sectionData.objects.selectorOptionsDates\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FSWComparisonSelectComponent__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: 'fswatcher__second_date',\n selectLabel: sectionData.strings.secondDateLabel,\n value: secondDate,\n onChange: setSecondDate,\n options: sectionData.objects.selectorOptionsDates\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: 'inline',\n alignContent: 'flex-end'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n className: \"spbc-icon-exchange\",\n onClick: handleCompare,\n disabled: isLoadingCompare || !firstDate || !secondDate,\n style: {\n minHeight: '30px'\n }\n }, sectionData.strings.compareButtonText), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FSWPreloader__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isVisible: isLoadingCompare,\n id: 'fsw_preloader__compare_snaps'\n }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FSWComparisonTable__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n comparisonData: comparisonData,\n firstDate: firstDate,\n secondDate: secondDate,\n selectorOptionsDates: sectionData.objects.selectorOptionsDates,\n onViewFile: handleViewFile,\n strings: {\n columnHeaderPath: sectionData.strings.columnHeaderPath,\n columnHeaderEvent: sectionData.strings.columnHeaderEvent,\n columnHeaderChangeOn: sectionData.strings.columnHeaderChangeOn,\n noLogsText: sectionData.strings.noLogsText\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ReactFileViewDialog_ReactFileViewDialog__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n isOpen: isDialogOpen,\n onClose: closeDialog,\n title: dialogTitle,\n maxWidth: \"90%\",\n maxHeight: \"80vh\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ReactFileViewDialog_ReactFileViewContent__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n fileContent: fileContent,\n isLoading: isLoadingFile,\n preloaderStyle: {\n width: '50px',\n height: '50px'\n }\n })))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/TabContent/TabFsWatcher/TabFsWatchers.js?\n}");
+eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ TabFsWatchers)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/TabContent/TabFsWatcher/styles.css\");\n/* harmony import */ var _FSWPreloader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FSWPreloader */ \"./js/src/react/components/TabContent/TabFsWatcher/FSWPreloader.js\");\n/* harmony import */ var _FSWComparisonSelectComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FSWComparisonSelectComponent */ \"./js/src/react/components/TabContent/TabFsWatcher/FSWComparisonSelectComponent.js\");\n/* harmony import */ var _ReactFileViewDialog_ReactFileViewDialog__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../ReactFileViewDialog/ReactFileViewDialog */ \"./js/src/react/components/ReactFileViewDialog/ReactFileViewDialog.js\");\n/* harmony import */ var _ReactFileViewDialog_ReactFileViewContent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../ReactFileViewDialog/ReactFileViewContent */ \"./js/src/react/components/ReactFileViewDialog/ReactFileViewContent.js\");\n/* harmony import */ var _FSWComparisonTable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./FSWComparisonTable */ \"./js/src/react/components/TabContent/TabFsWatcher/FSWComparisonTable.js\");\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\n;\n\n\n\n\n\n\nvar __ = wp.i18n.__;\nfunction TabFsWatchers(_ref) {\n var sectionId = _ref.sectionId,\n sectionData = _ref.sectionData,\n isActive = _ref.isActive;\n // ---State vars---\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),\n _useState2 = _slicedToArray(_useState, 2),\n firstDate = _useState2[0],\n setFirstDate = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),\n _useState4 = _slicedToArray(_useState3, 2),\n secondDate = _useState4[0],\n setSecondDate = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),\n _useState6 = _slicedToArray(_useState5, 2),\n comparisonData = _useState6[0],\n setComparisonData = _useState6[1];\n var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState8 = _slicedToArray(_useState7, 2),\n isLoadingCompare = _useState8[0],\n setIsLoadingCompare = _useState8[1];\n var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState0 = _slicedToArray(_useState9, 2),\n isLoadingCreate = _useState0[0],\n setIsLoadingCreate = _useState0[1];\n var _useState1 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),\n _useState10 = _slicedToArray(_useState1, 2),\n fileContent = _useState10[0],\n setFileContent = _useState10[1];\n var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState12 = _slicedToArray(_useState11, 2),\n isDialogOpen = _useState12[0],\n setIsDialogOpen = _useState12[1];\n var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),\n _useState14 = _slicedToArray(_useState13, 2),\n dialogTitle = _useState14[0],\n setDialogTitle = _useState14[1];\n var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState16 = _slicedToArray(_useState15, 2),\n isLoadingFile = _useState16[0],\n setIsLoadingFile = _useState16[1];\n\n // ---On page load effects---\n\n // Selectors initialize\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n var datesObject = sectionData.objects.selectorOptionsDates;\n if (datesObject.length > 0) {\n var _datesObject$, _datesObject;\n setFirstDate(((_datesObject$ = datesObject[0]) === null || _datesObject$ === void 0 ? void 0 : _datesObject$.value) || '');\n setSecondDate(((_datesObject = datesObject[datesObject.length - 1]) === null || _datesObject === void 0 ? void 0 : _datesObject.value) || '');\n }\n }, [sectionData.objects.selectorOptionsDates]);\n\n // Automatic compare if any of selectors data prepared\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (firstDate && secondDate) {\n handleCompare();\n }\n }, [firstDate, secondDate]);\n\n // ---Callbacks---\n\n // Comparison logic callback\n var handleCompare = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var data, response, responseDataObj, availableFSWDataSetNames, _i, _availableFSWDataSetN, dataSetName, tableData, hasChanges, _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n if (!(!firstDate || !secondDate)) {\n _context.n = 1;\n break;\n }\n return _context.a(2);\n case 1:\n setIsLoadingCompare(true);\n data = {\n action: 'spbct_fswatcher_compare',\n fswatcher__first_date: firstDate,\n fswatcher__second_date: secondDate\n };\n _context.p = 2;\n _context.n = 3;\n return fswAjaxWrapper(data);\n case 3:\n response = _context.v;\n responseDataObj = typeof response === 'string' ? JSON.parse(response) : response;\n if (!responseDataObj.error) {\n _context.n = 4;\n break;\n }\n alert(__('File System watcher JSON parse error: see console for details.', 'security-malware-firewall'));\n console.log('File System watcher JSON parse error: ' + responseDataObj.error);\n return _context.a(2);\n case 4:\n if (!(!responseDataObj || _typeof(responseDataObj) !== 'object')) {\n _context.n = 5;\n break;\n }\n throw new Error(__('Response is invalid.', 'security-malware-firewall'));\n case 5:\n availableFSWDataSetNames = ['added', 'changed', 'deleted'];\n _i = 0, _availableFSWDataSetN = availableFSWDataSetNames;\n case 6:\n if (!(_i < _availableFSWDataSetN.length)) {\n _context.n = 8;\n break;\n }\n dataSetName = _availableFSWDataSetN[_i];\n if (responseDataObj.hasOwnProperty(dataSetName)) {\n _context.n = 7;\n break;\n }\n throw new Error(__('Response has no required properties.', 'security-malware-firewall'));\n case 7:\n _i++;\n _context.n = 6;\n break;\n case 8:\n // Data transforming\n tableData = [];\n hasChanges = false;\n availableFSWDataSetNames.forEach(function (eventType) {\n var eventsArray = responseDataObj[eventType];\n if (eventsArray.length > 0) {\n hasChanges = true;\n eventsArray.forEach(function (event) {\n tableData.push(convertFSWEventToRow(event, eventType));\n });\n }\n });\n if (!hasChanges) {\n tableData.push({\n path: '',\n event_type: 'no_changes',\n date: '',\n isNoChanges: true\n });\n }\n setComparisonData(tableData);\n _context.n = 10;\n break;\n case 9:\n _context.p = 9;\n _t = _context.v;\n alert(_t.message + ' ' + __('Please contact', 'security-malware-firewall') + ' support@cleantalk.org');\n console.log('File System watcher response validating error: ' + _t.message);\n case 10:\n _context.p = 10;\n setIsLoadingCompare(false);\n return _context.f(10);\n case 11:\n return _context.a(2);\n }\n }, _callee, null, [[2, 9, 10, 11]]);\n })), [firstDate, secondDate]);\n\n // Snap creation logic callback\n var handleCreateSnapshot = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {\n var data, _t2;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n setIsLoadingCreate(true);\n data = {\n action: 'spbct_fswatcher_create_snapshot'\n };\n _context2.p = 1;\n _context2.n = 2;\n return fswAjaxWrapper(data);\n case 2:\n _context2.n = 4;\n break;\n case 3:\n _context2.p = 3;\n _t2 = _context2.v;\n console.error('Error creating snapshot:', _t2);\n case 4:\n _context2.p = 4;\n setIsLoadingCreate(false);\n // TODO crunch, we need to rebuild page without reloading\n window.location.reload();\n return _context2.f(4);\n case 5:\n return _context2.a(2);\n }\n }, _callee2, null, [[1, 3, 4, 5]]);\n })), []);\n\n // View file callback\n var handleViewFile = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(/*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(filePath) {\n var data, response, _t3;\n return _regenerator().w(function (_context3) {\n while (1) switch (_context3.p = _context3.n) {\n case 0:\n setDialogTitle(__('Content of', 'security-malware-firewall') + ' ' + filePath);\n setIsDialogOpen(true);\n setIsLoadingFile(true);\n setFileContent(null);\n data = {\n action: 'spbct_fswatcher_view_file',\n fswatcher_file_path: filePath,\n fswatcher__first_date: firstDate,\n fswatcher__second_date: secondDate\n };\n _context3.p = 1;\n _context3.n = 2;\n return fswAjaxWrapper(data);\n case 2:\n response = _context3.v;\n if (response.error) {\n setFileContent([response.error]);\n } else if (response.data) {\n setFileContent(response.data.split('\\n'));\n } else {\n setFileContent(['Unknown error on reading file. Data is empty.']);\n }\n _context3.n = 4;\n break;\n case 3:\n _context3.p = 3;\n _t3 = _context3.v;\n setFileContent([\"Error loading file: \".concat(_t3.message)]);\n case 4:\n _context3.p = 4;\n setIsLoadingFile(false);\n return _context3.f(4);\n case 5:\n return _context3.a(2);\n }\n }, _callee3, null, [[1, 3, 4, 5]]);\n }));\n return function (_x) {\n return _ref4.apply(this, arguments);\n };\n }(), [firstDate, secondDate]);\n\n // Callback promise wrapper\n var fswAjaxWrapper = function fswAjaxWrapper(data) {\n return new Promise(function (resolve, reject) {\n var params = {\n callback: function callback(response) {\n if (_typeof(response) === 'object' && response.error) {\n reject(new Error(response.error));\n } else {\n resolve(response);\n }\n },\n error_callback: function error_callback(error) {\n reject(error);\n }\n };\n spbcSendAJAXRequest(data, params);\n });\n };\n\n // --Misc--\n\n var closeDialog = function closeDialog() {\n setIsDialogOpen(false);\n setFileContent(null);\n setDialogTitle('');\n setIsLoadingFile(false);\n };\n var convertFSWEventToRow = function convertFSWEventToRow(event, eventType) {\n var row = {\n path: 'unknown',\n event_type: eventType.toUpperCase(),\n date: 'unknown',\n isNoChanges: false\n };\n if (event.length === 2) {\n if (typeof event[0] === 'string') {\n row.path = event[0];\n }\n if (typeof event[1] === 'string') {\n var d = new Date(Number(event[1]) * 1000);\n var shortMonthName = new Intl.DateTimeFormat('en-US', {\n month: 'short'\n }).format;\n var minutes = String(d.getMinutes()).padStart(2, '0');\n var seconds = String(d.getSeconds()).padStart(2, '0');\n row.date = \"\".concat(shortMonthName(d), \" \").concat(d.getDate(), \" \").concat(d.getFullYear(), \" \").concat(d.getHours(), \":\").concat(minutes, \":\").concat(seconds);\n }\n }\n return row;\n };\n var fswSettingsLink = sectionData.strings.spbcSettingsRootLink + '&spbc_tab=settings_general#spbc_setting_scanner__fs_watcher';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_tab_fields_group\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_group_header\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_wrapper_field\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_tab_fields_group\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"spbc_group_header\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", null, sectionData.strings.innerHeader)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n padding: '0 0 0 10px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_fswatcher_description_box\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, sectionData.strings.commonDescription), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, sectionData.strings.extendedDescriptionPrefix, ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: fswSettingsLink\n }, sectionData.strings.innerHeader), ' ', sectionData.strings.extendedDescriptionPostfix, sectionData.strings.extendedDescription)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_fswatcher_create_snaps_button_area\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n className: \"spbc-icon-download\",\n id: \"fswatcher__create_snapshot\",\n onClick: handleCreateSnapshot,\n disabled: isLoadingCreate\n }, sectionData.strings.createSnapButtonText), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FSWPreloader__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isVisible: isLoadingCreate,\n id: 'fsw_preloader__create_snapshot'\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"spbc_fswatcher_snaps_not_ready_text\",\n style: {\n display: sectionData.flags.snapshotsAreReady ? 'none' : 'block'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, sectionData.strings.snapshotNotReadyText1), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, sectionData.strings.snapshotNotReadyText2)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: sectionData.flags.snapshotsAreReady ? 'block' : 'none'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", null, sectionData.strings.compareButtonDescription), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: '16px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FSWComparisonSelectComponent__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: 'fswatcher__first_date',\n selectLabel: sectionData.strings.firstDateLabel,\n value: firstDate,\n onChange: setFirstDate,\n options: sectionData.objects.selectorOptionsDates\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FSWComparisonSelectComponent__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: 'fswatcher__second_date',\n selectLabel: sectionData.strings.secondDateLabel,\n value: secondDate,\n onChange: setSecondDate,\n options: sectionData.objects.selectorOptionsDates\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: 'inline',\n alignContent: 'flex-end'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n className: \"spbc-icon-exchange\",\n onClick: handleCompare,\n disabled: isLoadingCompare || !firstDate || !secondDate,\n style: {\n minHeight: '30px'\n }\n }, sectionData.strings.compareButtonText), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FSWPreloader__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isVisible: isLoadingCompare,\n id: 'fsw_preloader__compare_snaps'\n }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FSWComparisonTable__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n comparisonData: comparisonData,\n firstDate: firstDate,\n secondDate: secondDate,\n selectorOptionsDates: sectionData.objects.selectorOptionsDates,\n onViewFile: handleViewFile,\n strings: {\n columnHeaderPath: sectionData.strings.columnHeaderPath,\n columnHeaderEvent: sectionData.strings.columnHeaderEvent,\n columnHeaderChangeOn: sectionData.strings.columnHeaderChangeOn,\n noLogsText: sectionData.strings.noLogsText\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ReactFileViewDialog_ReactFileViewDialog__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n isOpen: isDialogOpen,\n onClose: closeDialog,\n title: dialogTitle,\n maxWidth: \"90%\",\n maxHeight: \"80vh\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ReactFileViewDialog_ReactFileViewContent__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n fileContent: fileContent,\n isLoading: isLoadingFile,\n preloaderStyle: {\n width: '50px',\n height: '50px'\n }\n })))));\n}\n\n//# sourceURL=webpack:///./js/src/react/components/TabContent/TabFsWatcher/TabFsWatchers.js?\n}");
/***/ },
@@ -486,7 +486,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
\*********************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
-eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ TabScanner)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./styles.css */ \"./js/src/react/components/TabContent/TabScanner/styles.css\");\n/* harmony import */ var _TabContentTypes_Html_TabContentHtml__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../TabContentTypes/Html/TabContentHtml */ \"./js/src/react/components/TabContentTypes/Html/TabContentHtml.js\");\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _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.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\n\n\n\nfunction TabScanner(_ref) {\n var sectionId = _ref.sectionId,\n sectionData = _ref.sectionData,\n isActive = _ref.isActive;\n /**\n * Show popup tip\n *\n * @param {object} showIcon\n */\n window.spbcPopupTipShow = function (showIcon) {\n // eslint-disable-line no-unused-vars\n var tipTitle = showIcon.attr('spbc_tip_title') || null;\n var tipText = showIcon.attr('spbc_tip_text') || null;\n var _removeDescFunc = function removeDescFunc(e) {\n if (typeof e === 'undefined' || jQuery(e.target).parent('.spbc_popup_tip--wrapper').length == 0 || jQuery(e.target).hasClass('spbc_popup_tip--icon---cancel')) {\n jQuery('.spbc_popup_tip--wrapper').hide();\n jQuery(document).off('click', _removeDescFunc);\n }\n };\n _removeDescFunc();\n showIcon.after('');\n var obj = jQuery('.spbc_popup_tip--wrapper');\n obj.empty().append('').css({\n top: showIcon.position().top - 2,\n left: showIcon.position().left + 25\n });\n obj.append('').append('
' + tipTitle + '
').append('
' + tipText + '
');\n jQuery(document).on('click', _removeDescFunc);\n showIcon.parents('tr').on('mouseout', _removeDescFunc);\n };\n\n /**\n * View file in the scanner\n *\n * @param {object} obj\n */\n window.spbcScannerButtonFileViewEvent = function (obj) {\n // eslint-disable-line no-unused-vars\n var self = jQuery(obj);\n var data = {\n action: 'spbc_scanner_file_view',\n file_id: self.parents('.row-actions').attr('uid')\n };\n var params = {\n spinner: self.parent().siblings('.tbl-preloader--tiny'),\n callback: spbcScannerButtonViewCallback,\n errorOutput: function errorOutput(msg) {\n spbcModal.open().putError(msg);\n document.addEventListener('spbcModalClosed', function (e) {\n spbcReloadAccordion();\n });\n }\n };\n spbcSendAJAXRequest(data, params);\n };\n\n /**\n * Delete file from analysis log\n *\n * @param {object} obj\n */\n window.spbcScannerAnalysisLogDeleteFromLog = function (obj) {\n // eslint-disable-line no-unused-vars\n var fileIds = [];\n var self = jQuery(obj);\n var spinner;\n if (jQuery(obj).hasClass('tbl-row_action')) {\n fileIds.push(self.parents('.row-actions').attr('uid'));\n spinner = self.parent().siblings('.tbl-preloader--tiny');\n } else {\n var selectedItems = self.closest('#spbc_tbl__scanner_analysis_log').find('.cb-select:checked');\n if (selectedItems.length === 0) {\n alert('Please, select elements.');\n return;\n }\n selectedItems.each(function (index, element) {\n var elementId = jQuery(element).val();\n fileIds.push(elementId);\n });\n spinner = self.children('.tbl-preloader--small');\n }\n var data = {\n action: 'spbc_scanner_analysis_log_delete_from_log',\n file_ids: fileIds\n };\n var params = {\n spinner: spinner,\n callback: function callback() {\n window.location.reload();\n }\n };\n spbcSendAJAXRequest(data, params);\n };\n\n /**\n * View page in the scanner\n *\n * @param {object} obj\n */\n window.spbcScannerButtonPageViewEvent = function (obj) {\n // eslint-disable-line no-unused-vars\n var self = jQuery(obj);\n var data = {\n action: 'spbc_scanner_page_view',\n page_url: self.parents('.row-actions').attr('uid')\n };\n var params = {\n spinner: self.parent().siblings('.tbl-preloader--tiny'),\n callback: spbcScannerButtonViewCallback,\n errorOutput: function errorOutput(msg) {\n spbcModal.open().putError(msg);\n }\n };\n var wpWrap = jQuery('#wpwrap');\n var dialogWindow = jQuery('#spbc_dialog');\n dialogWindow.dialog({\n modal: true,\n title: 'Loading..',\n position: {\n my: 'center top',\n at: 'center top+100px',\n of: window\n },\n width: +(wpWrap.width() / 100 * 80),\n show: {\n effect: 'blind',\n duration: 500\n },\n draggable: false,\n resizable: false,\n closeText: 'X',\n classes: {\n 'ui-dialog': 'spbc---top'\n },\n open: function open(event, ui) {\n event.target.style.overflow = 'auto';\n jQuery('#spbc_dialog').height(document.documentElement.clientHeight / 100 * 25);\n },\n beforeClose: function beforeClose(event, ui) {\n document.body.style.overflow = 'auto';\n jQuery('#spbc_dialog').empty();\n }\n });\n dialogWindow.append('');\n var spinner = jQuery('#spbc_file_view_preloader');\n var sizeMultiplier = wpWrap.width() * 0.0004;\n spinner.height(128 * sizeMultiplier);\n spinner.width(128 * sizeMultiplier);\n spinner.css({\n left: dialogWindow.width() / 2 - 128 * sizeMultiplier / 2\n });\n spinner.css({\n top: dialogWindow.height() / 2 - 128 * sizeMultiplier / 2\n });\n spbcSendAJAXRequest(data, params);\n };\n\n /**\n * Callback for file view\n *\n * @param {object} result\n */\n function spbcScannerButtonViewCallback(result) {\n // eslint-disable-line no-unused-vars\n var dialogWindow = jQuery('#spbc_dialog');\n dialogWindow.empty();\n jQuery('#spbc_file_view_preloader').css({\n display: 'none'\n });\n var rowTemplate = '
",jQuery(c).insertAfter(jQuery(a)))}})}}),jQuery(document).on("click","#spbc_settings_templates_export_button",function(){jQuery("#spbc-ajax-result").remove();var t=jQuery("option:selected",jQuery("#spbc_settings_templates_export")),s=jQuery("#spbc_settings_templates_export_name");if(s.css("border-color","inherit"),void 0===t.data("id"))console.log('Attribute "data-id" not set for the option.');else{let e;if("new_template"===t.data("id")){var n=s.val();if(""===n)return void s.css("border-color","red");e={template_name:n}}else e={template_id:t.data("id")};let a=this;spbcSendAJAXRequest({action:"spbc_settings_templates_export",data:e},{timeout:25e3,button:a,spinner:jQuery("#spbc_settings_templates_export_button .spbc_preloader_button"),callback:function(e,t,s,n){let c;e.success?(c="
",jQuery(c).insertAfter(jQuery(a)))}})}}),jQuery(document).on("click","#spbc_settings_templates_export_button",function(){jQuery("#spbc-ajax-result").remove();var t=jQuery("option:selected",jQuery("#spbc_settings_templates_export")),s=jQuery("#spbc_settings_templates_export_name");if(s.css("border-color","inherit"),void 0===t.data("id"))console.log('Attribute "data-id" not set for the option.');else{let e;if("new_template"===t.data("id")){var n=s.val();if(""===n)return void s.css("border-color","red");e={template_name:n}}else e={template_id:t.data("id")};let a=this;spbcSendAJAXRequest({action:"spbc_settings_templates_export",data:e},{timeout:25e3,button:a,spinner:jQuery("#spbc_settings_templates_export_button .spbc_preloader_button"),callback:function(e,t,s,n){let c;e.success?(c="
';\n jQuery( selector ).insertAfter( jQuery(button) );\n }\n },\n },\n );\n });\n\n jQuery(document).on('change', '#spbc_settings_templates_export', function() {\n let optionSelected = jQuery('option:selected', this);\n if ( optionSelected.data('id') === 'new_template' ) {\n jQuery(this).parent().parent().find('#spbc_settings_templates_export_name').show();\n } else {\n jQuery(this).parent().parent().find('#spbc_settings_templates_export_name').hide();\n }\n });\n\n //* TAB_CONTROL\n // migrated to react\n //* / REFRESH TAB IF ctrl+F5 END\n\n /**\n * Change cleantalk account email\n */\n jQuery(document).on('click', '#spbc-change-account-email', function(e) {\n e.preventDefault();\n\n let $this = jQuery(this);\n let accountEmailField = jQuery('#spbc-account-email');\n let accountEmail = accountEmailField.text();\n\n spbcToggleClass($this, 'active');\n\n if ($this.hasClass('active')) {\n $this.text($this.data('save-text'));\n accountEmailField.attr('contenteditable', 'true');\n accountEmailField.focus();\n accountEmailField.on('keydown', function(e) {\n if (e.code === 'Enter') {\n e.preventDefault();\n }\n });\n accountEmailField.on('input', function(e) {\n if (e.inputType === 'insertParagraph') {\n e.preventDefault();\n }\n });\n } else {\n spbcSendAJAXRequest(\n {\n action: 'spbc_update_account_email',\n accountEmail: accountEmail,\n },\n {\n timeout: 5000,\n callback: function(result, data, params, obj) {\n if (result.success !== undefined && result.success === 'ok') {\n if (result.manuallyLink !== undefined) {\n jQuery('#spbc-key-manually-link').attr('href', result.manuallyLink);\n }\n }\n\n if (result.error !== undefined) {\n jQuery('#spbc-account-email').css('border-color', 'red');\n }\n },\n errorOutput: function(msg) {\n spbcModal.loaded = msg;\n spbcModal.open();\n },\n },\n );\n\n accountEmailField.attr('contenteditable', 'false');\n $this.text($this.data('default-text'));\n }\n });\n\n // Only handle legacy banners, not React Components\n // @ToDo remove the outdated way to close notice after transferring all tabs to components.\n jQuery(document).on('click', '.spbct_notice-dismiss', function(e) {\n let classListNotice = this.parentElement.classList;\n let classNoticeForClose = classListNotice[classListNotice.length - 1];\n\n document.querySelectorAll('.' + classNoticeForClose).forEach((element) => {\n element.parentElement.setAttribute('style', 'display:none;');\n spbcSetCookie(classNoticeForClose, 1, 86400 * 30);\n });\n });\n\n // @ToDo need to be refactored - this is the code dublication\n jQuery(document).off( 'click', '.spbc_long_description__show');\n jQuery(document).on('click', '.spbc_long_description__show', function() {\n self = jQuery(this);\n spbcHandleLongDescription(self, self.attr('data-setting') || self.attr('setting'));\n });\n\n // @ToDo need to be refactored - this is the code dublication\n jQuery(document).off( 'click', '.spbc_long_recommendation__show');\n jQuery(document).on('click', '.spbc_long_recommendation__show', function() {\n self = jQuery(this);\n spbcSettingsShowRecommendation(self, self.attr('data-setting') || self.attr('setting'));\n });\n\n // Reset dismiss flag if user came from outside plugin settings\n if (!document.referrer || document.referrer.indexOf('page=spbc') === -1) {\n sessionStorage.removeItem('spbc_trial_renew_fullpage_dismissed');\n }\n\n // Hide fullpage trial banner if it was already dismissed in this browser session\n if (sessionStorage.getItem('spbc_trial_renew_fullpage_dismissed')) {\n jQuery('.spbc-trial-renew-fullpage').hide();\n jQuery('#spbct-page--react').show();\n }\n\n jQuery('body').on('click', '.spbc-trial-renew-fullpage .notice-dismiss', function(e) {\n e.preventDefault();\n sessionStorage.setItem('spbc_trial_renew_fullpage_dismissed', '1');\n jQuery('.spbc-trial-renew-fullpage').hide();\n jQuery('#spbct-page--react').show();\n });\n\n jQuery(document)\n .off('click', '#spbc_debug__run_pass_check_btn')\n .on('click', '#spbc_debug__run_pass_check_btn', function() {\n let $btn = jQuery(this);\n let $st = jQuery('#spbc_debug__pass_check_status');\n $btn.prop('disabled', true);\n $st.css('color', '').text('Resetting records and running check, please wait...');\n jQuery.ajax({\n type: 'POST',\n url: ajaxurl,\n data: {\n action: 'spbc_debug_users_pass_check_run',\n security: spbcSettings.ajax_nonce,\n },\n success: function(response) {\n $btn.prop('disabled', false);\n if (response.success) {\n $st.css('color', 'green').html(\n '✓ Done! Total: ' + response.data.total +\n ', Checked: ' + response.data.checked +\n ', Leaked: ' + response.data.leaked +\n ' — You can now test the login form in incognito.',\n );\n } else {\n $st.css('color', 'red').text('Error: ' + (response.data || 'unknown error'));\n }\n },\n error: function(xhr) {\n $btn.prop('disabled', false);\n $st.css('color', 'red').text('Request failed: ' + xhr.status + ' ' + xhr.statusText);\n },\n });\n });\n});\n\n/**\n * Toggle class for DOM elements\n * @param {Array} arr\n * @param {string} className\n * @return {void}\n */\nfunction spbcToggleClass(arr, className) {\n for (let i=0; i {
if (onFormDataChange) {
@@ -32,13 +32,14 @@ export default function SignupInterface({
action: 'spbc_get_key_auto',
email: email,
ct_admin_timezone: ctAdminTimezone,
+ spbct_wizard_request: 1,
},
{
timeout: 25000,
button: document.getElementById('spbct-signup-wizard-get-key-btn'),
spinner: '',
callback: function(result) {
- setButtonText(__('Connect to Account', 'security-malware-firewall'));
+ setButtonText(__('Activate Security', 'security-malware-firewall'));
if (result.success) {
if (result.getTemplates) {
// @ToDo Is this functionality needed? If yes - need to be fixed, not worked for now.
@@ -97,7 +98,7 @@ export default function SignupInterface({
- {__('Connect your website to CleanTalk cloud', 'security-malware-firewall')}
+ {__('Connect Your Website to the Anti-Spam Cloud', 'security-malware-firewall')}