Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent - Version 2.11.1

Version Description

Download this release

Release Info

Developer devowl
Plugin Icon 128x128 Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent
Version 2.11.1
Comparing to
See all releases

Code changes from version 2.11.0 to 2.11.1

Files changed (48) hide show
  1. CHANGELOG.md +68 -0
  2. inc/Activator.php +1 -1
  3. inc/Core.php +58 -57
  4. inc/MyConsent.php +4 -1
  5. inc/UserConsent.php +3 -0
  6. inc/Utils.php +17 -0
  7. inc/api/consent.php +110 -0
  8. inc/base/others/cachebuster-lib.php +1 -1
  9. inc/base/others/cachebuster.php +47 -47
  10. inc/comp/PresetsPluginIntegrations.php +37 -1
  11. inc/overrides/interfce/IOverrideCore.php +4 -0
  12. inc/overrides/lite/Core.php +4 -0
  13. inc/presets/BannerPresets.php +10 -0
  14. inc/presets/BlockerPresets.php +40 -14
  15. inc/presets/CookiePresets.php +39 -3
  16. inc/presets/free/RealCookieBannerPreset.php +5 -3
  17. inc/presets/free/blocker/YoutubePreset.php +0 -4
  18. inc/presets/middleware/BlockerHostsOptionsMiddleware.php +11 -25
  19. inc/presets/pro/blocker/GoogleAnalytics4Preset.php +13 -1
  20. inc/presets/pro/blocker/GoogleAnalyticsPreset.php +13 -8
  21. inc/presets/pro/blocker/GoogleMapsPreset.php +5 -1
  22. inc/presets/pro/blocker/ProvenExpertWidgetPreset.php +8 -1
  23. inc/rest/Config.php +15 -3
  24. inc/rest/Scanner.php +11 -9
  25. inc/scanner/HostScanOptions.php +102 -0
  26. inc/scanner/Persist.php +116 -59
  27. inc/scanner/PresetBlockable.php +80 -16
  28. inc/scanner/Scanner.php +16 -31
  29. inc/settings/Revision.php +25 -2
  30. inc/view/Banner.php +12 -0
  31. inc/view/Blocker.php +11 -0
  32. inc/view/blocker/Plugin.php +3 -1
  33. index.php +1 -1
  34. languages/real-cookie-banner-de_AT.mo +0 -0
  35. languages/real-cookie-banner-de_AT.po +184 -193
  36. languages/real-cookie-banner-de_CH.mo +0 -0
  37. languages/real-cookie-banner-de_CH.po +184 -193
  38. languages/real-cookie-banner-de_CH_informal.mo +0 -0
  39. languages/real-cookie-banner-de_CH_informal.po +184 -193
  40. languages/real-cookie-banner-de_DE.mo +0 -0
  41. languages/real-cookie-banner-de_DE.po +184 -193
  42. languages/real-cookie-banner-de_DE_formal.mo +0 -0
  43. languages/real-cookie-banner-de_DE_formal.po +189 -200
  44. languages/real-cookie-banner.pot +0 -112
  45. public/dist/152.lite.js +2 -2
  46. public/dist/152.lite.js.map +1 -1
  47. public/dist/admin.lite.js +1 -1
  48. public/dist/admin.lite.js.map +0 -1
CHANGELOG.md CHANGED
@@ -3,6 +3,74 @@
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  # 2.11.0 (2021-12-01)
7
 
8
 
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
6
+ ## 2.11.1 (2021-12-15)
7
+
8
+
9
+ ### build
10
+
11
+ * disable bundle analyzer for RCB development build (CU-1wzqjg7)
12
+
13
+
14
+ ### chore
15
+
16
+ * backwards compatible footer visibility in List of consents table (CU-1vhtwa2)
17
+ * cleanup code for scanner (CU-1v6cf91)
18
+ * description of the legitimate interest and essential cookies according to the TTDSG concretized (CU-1wejt3d)
19
+ * introduce new PHP api wp_rcb_consent_given (CU-1rgeyre)
20
+ * introduce plugin and design version for new consents (CU-1vhtwa2)
21
+ * introduce query argument validations for scanner (CU-1v6crwz)
22
+ * new developer filter RCB/Presets/Cookies/Recommended and RCB/Presets/Blocker/Recommended (CU-1xazcrh)
23
+ * remove non-saw-out descriptions from conteent blocker templates to save space in the content blocker ()CU-1vhtwa2)
24
+ * review 1 (CU-1wtzm8t)
25
+
26
+
27
+ ### docs
28
+
29
+ * highlight availability of German formal translations in wordpress.org description (CU-1n9qnvz)
30
+
31
+
32
+ ### fix
33
+
34
+ * allow to dismiss the Request new consent notice (CU-1wtzm8t)
35
+ * apply preset middlewares in correct order (CU-1x5cj8w)
36
+ * compatibility with Ark theme and jQuery(window).load (CU-1wznta2)
37
+ * compatibility with fitVids when using together with a caching plugin (CU-1wm4u9v)
38
+ * compatibility with Journey theme (indieground, CU-1wu21c3)
39
+ * compatibility with latest Advanced Ads version and floating tracking (CU-1vxejft)
40
+ * compatibility with Plesk security as hosts are not allowed in scanner result URLs (CU-1vxd9gz)
41
+ * compatibility with ProvenExpert PRO Seal in ProvenExpert content blocker (CU-1xb3cmd)
42
+ * consider empty values for query parameters as optional in scanner (CU-1x5az10)
43
+ * do no longer request consent for abandoded TCF vendors (CU-1xaz66y)
44
+ * external DNS prefetches should be checked again against known presets (CU-1vxd8qc)
45
+ * false-positive when using Google Analytics with googletagmanager.com and gtag directive (CU-1v6crwz)
46
+ * find inline scripts semantically loading another script and show as external URL (CU-1v6cf91)
47
+ * formal german texts got not updated for new Real Cookie Banner service (CU-1vxdu4n)
48
+ * only remove external URLs while scanning when a proper preset was also found (CU-1v6cf91)
49
+ * recommened Jetpack Site Stats when module is active (CU-1v6c4da)
50
+ * refreshing the settings form with F5 leads to an error (CU-1weh6c2)
51
+ * register custom post types and taxonomies earlier (CU-1rgeyre)
52
+ * scanner shows Google Trends when using an unknown Google service (CU-1vxd8qc)
53
+ * show potential external URL found in inline-script (CU-1v6cf91)
54
+ * the new MonsterInsights update could no longer be scanned (missing protocol in script URL, CU-1x5az10)
55
+ * unblock attributes also for selector-syntax applied on inline scripts (CU-1xb6wg7)
56
+
57
+
58
+ ### refactor
59
+
60
+ * move mustHosts definitions into scanOptions (CU-1v6crwz)
61
+
62
+
63
+ ### style
64
+
65
+ * content blocker last teaching should be above the link and styled as teaching (CU-1vhtwa2)
66
+ * customizer presets should respect hidden powered-by-link
67
+ * do not show footer for visual content blockers as not needed (CU-1vhtwa2)
68
+ * sho ePrivacy USA notice in visual content blocker only when needed (CU-1vhtwa2)
69
+
70
+
71
+
72
+
73
+
74
  # 2.11.0 (2021-12-01)
75
 
76
 
inc/Activator.php CHANGED
@@ -146,7 +146,7 @@ class Activator {
146
  }
147
  // wp_rcb_consent
148
  $table_name = $this->getTableName(\DevOwl\RealCookieBanner\UserConsent::TABLE_NAME);
149
- $sql = "CREATE TABLE {$table_name} (\n id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,\n ipv4 int UNSIGNED,\n ipv6 binary(16),\n ipv4_hash char(64),\n ipv6_hash char(64),\n uuid char(36) NOT NULL,\n revision char(32) NOT NULL,\n revision_independent char(32) NOT NULL,\n previous_decision tinytext NOT NULL,\n decision_hash char(32) NOT NULL,\n decision tinytext NOT NULL,\n blocker bigint(20) UNSIGNED,\n button_clicked varchar(32) NOT NULL,\n context varchar(200) NOT NULL,\n viewport_width int UNSIGNED NOT NULL,\n viewport_height int UNSIGNED NOT NULL,\n referer tinytext NOT NULL,\n pure_referer tinytext NOT NULL,\n url_imprint tinytext NOT NULL,\n url_privacy_policy tinytext NOT NULL,\n dnt tinyint(1) UNSIGNED NOT NULL,\n custom_bypass varchar(50),\n created datetime NOT NULL,\n forwarded bigint(20) UNSIGNED,\n forwarded_blocker tinyint(1) NOT NULL,\n user_country varchar(5),\n tcf_string text,\n PRIMARY KEY (id)\n ) {$charset_collate};";
150
  dbDelta($sql);
151
  if ($errorlevel) {
152
  $wpdb->print_error();
146
  }
147
  // wp_rcb_consent
148
  $table_name = $this->getTableName(\DevOwl\RealCookieBanner\UserConsent::TABLE_NAME);
149
+ $sql = "CREATE TABLE {$table_name} (\n id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,\n plugin_version varchar(20) DEFAULT '0.0.0' NOT NULL,\n design_version int(4) UNSIGNED DEFAULT 1 NOT NULL,\n ipv4 int UNSIGNED,\n ipv6 binary(16),\n ipv4_hash char(64),\n ipv6_hash char(64),\n uuid char(36) NOT NULL,\n revision char(32) NOT NULL,\n revision_independent char(32) NOT NULL,\n previous_decision tinytext NOT NULL,\n decision_hash char(32) NOT NULL,\n decision tinytext NOT NULL,\n blocker bigint(20) UNSIGNED,\n button_clicked varchar(32) NOT NULL,\n context varchar(200) NOT NULL,\n viewport_width int UNSIGNED NOT NULL,\n viewport_height int UNSIGNED NOT NULL,\n referer tinytext NOT NULL,\n pure_referer tinytext NOT NULL,\n url_imprint tinytext NOT NULL,\n url_privacy_policy tinytext NOT NULL,\n dnt tinyint(1) UNSIGNED NOT NULL,\n custom_bypass varchar(50),\n created datetime NOT NULL,\n forwarded bigint(20) UNSIGNED,\n forwarded_blocker tinyint(1) NOT NULL,\n user_country varchar(5),\n tcf_string text,\n PRIMARY KEY (id)\n ) {$charset_collate};";
150
  dbDelta($sql);
151
  if ($errorlevel) {
152
  $wpdb->print_error();
inc/Core.php CHANGED
@@ -159,7 +159,7 @@ class Core extends \DevOwl\RealCookieBanner\base\Core implements
159
  protected function __construct() {
160
  parent::__construct();
161
  // Load no-namespace API functions
162
- foreach (['services'] as $apiInclude) {
163
  require_once RCB_PATH . '/inc/api/' . $apiInclude . '.php';
164
  }
165
  // The Uuid4 must start with a non-number character to work with CSS selectors
@@ -187,63 +187,58 @@ class Core extends \DevOwl\RealCookieBanner\base\Core implements
187
  $extendsMiddleware = new \DevOwl\RealCookieBanner\presets\middleware\ExtendsMiddleware();
188
  $adoptTierFromClassNamespaceMiddleware = new \DevOwl\RealCookieBanner\presets\middleware\AdoptTierFromClassNamespaceMiddleware();
189
  $disablePresetByNeedsMiddleware = new \DevOwl\RealCookieBanner\presets\middleware\DisablePresetByNeedsMiddleware();
190
- add_filter('RCB/Presets/Cookies/Middleware', [$extendsMiddleware, 'middleware'], 1, 6);
191
- add_filter(
192
- 'RCB/Presets/Cookies/Middleware',
193
- [
 
 
 
 
194
  new \DevOwl\RealCookieBanner\presets\middleware\DisableTechnicalHandlingThroughPluginMiddleware(),
195
  'middleware'
196
- ],
197
- 1
198
- );
199
- add_filter('RCB/Presets/Cookies/Middleware', [
200
- \DevOwl\RealCookieBanner\presets\middleware\CookieGroupNamesBackwardsCompatibleMiddleware::createMiddlewareStatisticStatics(),
201
- 'middleware'
202
- ]);
203
- add_filter(
204
- 'RCB/Presets/Cookies/Middleware',
205
- [new \DevOwl\RealCookieBanner\presets\middleware\CookieManagerMiddleware(), 'middleware'],
206
- 10,
207
- 2
208
- );
209
- add_filter(
210
- 'RCB/Presets/Cookies/Middleware',
211
- [new \DevOwl\RealCookieBanner\presets\middleware\CookieExistsMiddleware(), 'middleware'],
212
- 9,
213
- 3
214
- );
215
- add_filter(
216
- 'RCB/Presets/Cookies/Middleware',
217
- [new \DevOwl\RealCookieBanner\presets\middleware\CookieBlockerPresetIdsMiddleware(), 'middleware'],
218
- 10,
219
- 4
220
- );
221
- add_filter('RCB/Presets/Cookies/Middleware', [$adoptTierFromClassNamespaceMiddleware, 'middleware'], 10, 2);
222
- add_filter('RCB/Presets/Cookies/Middleware', [$disablePresetByNeedsMiddleware, 'middleware'], 10, 2);
223
- add_filter('RCB/Presets/Cookies/Middleware', [$presetsPluginIntegrations, 'middleware_cookies_recommended']);
224
- add_filter('RCB/Presets/Cookies/Middleware', [
225
- new \DevOwl\RealCookieBanner\presets\middleware\CookiesDeactivateAutomaticContentBlockerCreationByNeedsMiddleware(),
226
- 'middleware'
227
- ]);
228
- add_filter('RCB/Presets/Blocker/Middleware', [$extendsMiddleware, 'middleware'], 1, 6);
229
- add_filter(
230
- 'RCB/Presets/Blocker/Middleware',
231
- [new \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware(), 'middleware'],
232
- 5,
233
- 5
234
- );
235
- add_filter(
236
- 'RCB/Presets/Blocker/Middleware',
237
- [new \DevOwl\RealCookieBanner\presets\middleware\BlockerExistsMiddleware(), 'middleware'],
238
- 10,
239
- 4
240
- );
241
- add_filter('RCB/Presets/Blocker/Middleware', [$adoptTierFromClassNamespaceMiddleware, 'middleware'], 10, 2);
242
- add_filter('RCB/Presets/Blocker/Middleware', [$disablePresetByNeedsMiddleware, 'middleware'], 10, 2);
243
- add_filter('RCB/Presets/Blocker/Middleware', [$presetsPluginIntegrations, 'middleware_blocker_recommended']);
244
  // Official Consent API
245
  add_filter('Consent/Block/HTML', [$this->getBlocker(), 'replace']);
246
  add_action('init', [$presetsPluginIntegrations, 'init']);
 
 
247
  add_action('RCB/Presets/Active', [$presetsPluginIntegrations, 'presets_active'], 10, 4);
248
  add_action('activated_plugin', [$this->getActivator(), 'anyPluginToggledState']);
249
  add_action('deactivated_plugin', [$this->getActivator(), 'anyPluginToggledState']);
@@ -270,7 +265,7 @@ class Core extends \DevOwl\RealCookieBanner\base\Core implements
270
  ]);
271
  add_action('DevOwl/Utils/NewVersionInstallation/' . RCB_SLUG, [
272
  \DevOwl\RealCookieBanner\presets\free\RealCookieBannerPreset::class,
273
- 'new_version_installation_after_2_10_1'
274
  ]);
275
  add_filter('RCB/Blocker/Enabled', [$this->getScanner(), 'force_blocker_enabled']);
276
  add_filter('customize_save_response', [$this, 'customize_save_response'], 10, 1);
@@ -381,13 +376,19 @@ class Core extends \DevOwl\RealCookieBanner\base\Core implements
381
  $this->overrideRegisterSettings();
382
  }
383
  /**
384
- * The init function is fired even the init hook of WordPress. If possible
385
- * it should register all hooks to have them in one place.
386
  */
387
- public function init() {
388
  \DevOwl\RealCookieBanner\settings\Cookie::getInstance()->register();
389
  \DevOwl\RealCookieBanner\settings\Blocker::getInstance()->register();
390
  \DevOwl\RealCookieBanner\settings\CookieGroup::getInstance()->register();
 
 
 
 
 
 
 
391
  $this->configPage = \DevOwl\RealCookieBanner\view\ConfigPage::instance();
392
  $this->banner = \DevOwl\RealCookieBanner\view\Banner::instance();
393
  $this->excludeAssets = new \DevOwl\RealCookieBanner\Vendor\DevOwl\CacheInvalidate\ExcludeAssets($this);
159
  protected function __construct() {
160
  parent::__construct();
161
  // Load no-namespace API functions
162
+ foreach (['services', 'consent'] as $apiInclude) {
163
  require_once RCB_PATH . '/inc/api/' . $apiInclude . '.php';
164
  }
165
  // The Uuid4 must start with a non-number character to work with CSS selectors
187
  $extendsMiddleware = new \DevOwl\RealCookieBanner\presets\middleware\ExtendsMiddleware();
188
  $adoptTierFromClassNamespaceMiddleware = new \DevOwl\RealCookieBanner\presets\middleware\AdoptTierFromClassNamespaceMiddleware();
189
  $disablePresetByNeedsMiddleware = new \DevOwl\RealCookieBanner\presets\middleware\DisablePresetByNeedsMiddleware();
190
+ add_filter('RCB/Presets/Cookies/MiddlewareCallbacks', function ($callbacks) use (
191
+ $extendsMiddleware,
192
+ $adoptTierFromClassNamespaceMiddleware,
193
+ $disablePresetByNeedsMiddleware,
194
+ $presetsPluginIntegrations
195
+ ) {
196
+ $callbacks[] = [$extendsMiddleware, 'middleware'];
197
+ $callbacks[] = [
198
  new \DevOwl\RealCookieBanner\presets\middleware\DisableTechnicalHandlingThroughPluginMiddleware(),
199
  'middleware'
200
+ ];
201
+ $callbacks[] = [new \DevOwl\RealCookieBanner\presets\middleware\CookieExistsMiddleware(), 'middleware'];
202
+ $callbacks[] = [
203
+ \DevOwl\RealCookieBanner\presets\middleware\CookieGroupNamesBackwardsCompatibleMiddleware::createMiddlewareStatisticStatics(),
204
+ 'middleware'
205
+ ];
206
+ $callbacks[] = [new \DevOwl\RealCookieBanner\presets\middleware\CookieManagerMiddleware(), 'middleware'];
207
+ $callbacks[] = [
208
+ new \DevOwl\RealCookieBanner\presets\middleware\CookieBlockerPresetIdsMiddleware(),
209
+ 'middleware'
210
+ ];
211
+ $callbacks[] = [$adoptTierFromClassNamespaceMiddleware, 'middleware'];
212
+ $callbacks[] = [$disablePresetByNeedsMiddleware, 'middleware'];
213
+ $callbacks[] = [$presetsPluginIntegrations, 'middleware_cookies_recommended'];
214
+ $callbacks[] = [
215
+ new \DevOwl\RealCookieBanner\presets\middleware\CookiesDeactivateAutomaticContentBlockerCreationByNeedsMiddleware(),
216
+ 'middleware'
217
+ ];
218
+ return $callbacks;
219
+ });
220
+ add_filter('RCB/Presets/Blocker/MiddlewareCallbacks', function ($callbacks) use (
221
+ $extendsMiddleware,
222
+ $adoptTierFromClassNamespaceMiddleware,
223
+ $disablePresetByNeedsMiddleware,
224
+ $presetsPluginIntegrations
225
+ ) {
226
+ $callbacks[] = [$extendsMiddleware, 'middleware'];
227
+ $callbacks[] = [
228
+ new \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware(),
229
+ 'middleware'
230
+ ];
231
+ $callbacks[] = [new \DevOwl\RealCookieBanner\presets\middleware\BlockerExistsMiddleware(), 'middleware'];
232
+ $callbacks[] = [$adoptTierFromClassNamespaceMiddleware, 'middleware'];
233
+ $callbacks[] = [$disablePresetByNeedsMiddleware, 'middleware'];
234
+ $callbacks[] = [$presetsPluginIntegrations, 'middleware_blocker_recommended'];
235
+ return $callbacks;
236
+ });
 
 
 
 
 
 
 
 
 
 
 
237
  // Official Consent API
238
  add_filter('Consent/Block/HTML', [$this->getBlocker(), 'replace']);
239
  add_action('init', [$presetsPluginIntegrations, 'init']);
240
+ add_action('init', [$this, 'registerPostTypes'], 0);
241
+ // E.g. WooCommerce does not know at 10 priority about the custom post types
242
  add_action('RCB/Presets/Active', [$presetsPluginIntegrations, 'presets_active'], 10, 4);
243
  add_action('activated_plugin', [$this->getActivator(), 'anyPluginToggledState']);
244
  add_action('deactivated_plugin', [$this->getActivator(), 'anyPluginToggledState']);
265
  ]);
266
  add_action('DevOwl/Utils/NewVersionInstallation/' . RCB_SLUG, [
267
  \DevOwl\RealCookieBanner\presets\free\RealCookieBannerPreset::class,
268
+ 'new_version_installation_after_2_11_0'
269
  ]);
270
  add_filter('RCB/Blocker/Enabled', [$this->getScanner(), 'force_blocker_enabled']);
271
  add_filter('customize_save_response', [$this, 'customize_save_response'], 10, 1);
376
  $this->overrideRegisterSettings();
377
  }
378
  /**
379
+ * Register post types and custom taxonomies.
 
380
  */
381
+ public function registerPostTypes() {
382
  \DevOwl\RealCookieBanner\settings\Cookie::getInstance()->register();
383
  \DevOwl\RealCookieBanner\settings\Blocker::getInstance()->register();
384
  \DevOwl\RealCookieBanner\settings\CookieGroup::getInstance()->register();
385
+ $this->overrideRegisterPostTypes();
386
+ }
387
+ /**
388
+ * The init function is fired even the init hook of WordPress. If possible
389
+ * it should register all hooks to have them in one place.
390
+ */
391
+ public function init() {
392
  $this->configPage = \DevOwl\RealCookieBanner\view\ConfigPage::instance();
393
  $this->banner = \DevOwl\RealCookieBanner\view\Banner::instance();
394
  $this->excludeAssets = new \DevOwl\RealCookieBanner\Vendor\DevOwl\CacheInvalidate\ExcludeAssets($this);
inc/MyConsent.php CHANGED
@@ -6,6 +6,7 @@ use DevOwl\RealCookieBanner\base\UtilsProvider;
6
  use DevOwl\RealCookieBanner\settings\Consent;
7
  use DevOwl\RealCookieBanner\settings\General;
8
  use DevOwl\RealCookieBanner\settings\Revision;
 
9
  // @codeCoverageIgnoreStart
10
  \defined('ABSPATH') or die('No script kiddies please!');
11
  // Avoid direct file request
@@ -83,7 +84,9 @@ class MyConsent {
83
  "'NULL'",
84
  'NULL',
85
  $wpdb->prepare(
86
- "INSERT IGNORE INTO {$table_name}\n (ipv4, ipv6, ipv4_hash, ipv6_hash, uuid, revision, revision_independent, previous_decision, decision, decision_hash, blocker, dnt, custom_bypass, button_clicked, context, viewport_width, viewport_height, referer, pure_referer, url_imprint, url_privacy_policy, forwarded, forwarded_blocker, tcf_string, created)\n VALUES\n (%d, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %d, %s, %s, %s, %d, %d, %s, %s, %s, %s, %s, %s, %s, %s)",
 
 
87
  $ips['ipv4'] === null ? 'NULL' : $ips['ipv4'],
88
  $ips['ipv6'] === null ? 'NULL' : $ips['ipv6'],
89
  $ips['ipv4_hash'] === null ? 'NULL' : $ips['ipv4_hash'],
6
  use DevOwl\RealCookieBanner\settings\Consent;
7
  use DevOwl\RealCookieBanner\settings\General;
8
  use DevOwl\RealCookieBanner\settings\Revision;
9
+ use DevOwl\RealCookieBanner\view\Banner;
10
  // @codeCoverageIgnoreStart
11
  \defined('ABSPATH') or die('No script kiddies please!');
12
  // Avoid direct file request
84
  "'NULL'",
85
  'NULL',
86
  $wpdb->prepare(
87
+ "INSERT IGNORE INTO {$table_name}\n (plugin_version, design_version, ipv4, ipv6, ipv4_hash, ipv6_hash, uuid, revision, revision_independent, previous_decision, decision, decision_hash, blocker, dnt, custom_bypass, button_clicked, context, viewport_width, viewport_height, referer, pure_referer, url_imprint, url_privacy_policy, forwarded, forwarded_blocker, tcf_string, created)\n VALUES\n (%s, %d, %d, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %d, %s, %s, %s, %d, %d, %s, %s, %s, %s, %s, %s, %s, %s)",
88
+ RCB_VERSION,
89
+ \DevOwl\RealCookieBanner\view\Banner::DESIGN_VERSION,
90
  $ips['ipv4'] === null ? 'NULL' : $ips['ipv4'],
91
  $ips['ipv6'] === null ? 'NULL' : $ips['ipv6'],
92
  $ips['ipv4_hash'] === null ? 'NULL' : $ips['ipv4_hash'],
inc/UserConsent.php CHANGED
@@ -228,6 +228,8 @@ class UserConsent {
228
  $where[] = empty($context) ? '1 = 1' : $wpdb->prepare('c.context = %s', $context);
229
  $fields = [
230
  'c.id',
 
 
231
  'c.ipv4',
232
  'c.ipv6',
233
  'c.ipv4_hash',
@@ -301,6 +303,7 @@ class UserConsent {
301
  $revisionHashes = [];
302
  foreach ($results as &$row) {
303
  $row->id = \intval($row->id);
 
304
  $row->ipv4 = $row->ipv4 === '0' ? null : $row->ipv4;
305
  $row->context = empty($row->context)
306
  ? ''
228
  $where[] = empty($context) ? '1 = 1' : $wpdb->prepare('c.context = %s', $context);
229
  $fields = [
230
  'c.id',
231
+ 'c.plugin_version',
232
+ 'c.design_version',
233
  'c.ipv4',
234
  'c.ipv6',
235
  'c.ipv4_hash',
303
  $revisionHashes = [];
304
  foreach ($results as &$row) {
305
  $row->id = \intval($row->id);
306
+ $row->design_version = \intval($row->design_version);
307
  $row->ipv4 = $row->ipv4 === '0' ? null : $row->ipv4;
308
  $row->context = empty($row->context)
309
  ? ''
inc/Utils.php CHANGED
@@ -34,6 +34,23 @@ class Utils {
34
  */
35
  const HOST_TYPE_CURRENT_WITH_ALL_SUBDOMAINS = 'current+subdomains';
36
  const PREINSTALLED_ENV_IONOS = 'ionos';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  /**
38
  * Remove all query arguments not designed in our permalink structure.
39
  *
34
  */
35
  const HOST_TYPE_CURRENT_WITH_ALL_SUBDOMAINS = 'current+subdomains';
36
  const PREINSTALLED_ENV_IONOS = 'ionos';
37
+ /**
38
+ * Flatten an array.
39
+ *
40
+ * @param array $array
41
+ * @param boolean $recursive
42
+ */
43
+ public static function array_flatten($array, $recursive = \false) {
44
+ $return = [];
45
+ foreach ($array as $key => $value) {
46
+ if (\is_array($value)) {
47
+ $return = \array_merge($return, $recursive ? self::array_flatten($array, $recursive) : $value);
48
+ } else {
49
+ $return[$key] = $value;
50
+ }
51
+ }
52
+ return $return;
53
+ }
54
  /**
55
  * Remove all query arguments not designed in our permalink structure.
56
  *
inc/api/consent.php ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Utils;
4
+ use DevOwl\RealCookieBanner\MyConsent;
5
+ use DevOwl\RealCookieBanner\settings\Cookie;
6
+ use DevOwl\RealCookieBanner\settings\Revision;
7
+ use DevOwl\RealCookieBanner\Utils as RealCookieBannerUtils;
8
+ // @codeCoverageIgnoreStart
9
+ \defined('ABSPATH') or die('No script kiddies please!');
10
+ // Avoid direct file request
11
+ // @codeCoverageIgnoreEnd
12
+ if (!\function_exists('wp_rcb_consent_given')) {
13
+ /**
14
+ * Check if a given technical information (e.g. HTTP Cookie, LocalStorage, ...) has a consent:
15
+ *
16
+ * - When a technical information exists in defined cookies, the Promise is only resolved after given consent
17
+ * - When no technical information exists, the Promise is immediate resolved
18
+ *
19
+ * ```php
20
+ * $consent = function_exists('wp_rcb_consent_given') ? wp_rcb_consent_given("http", "_twitter_sess", ".twitter.com") : true;
21
+ * ```
22
+ *
23
+ * You can also check for consent by cookie ID (ID in `wp_posts`, post id):
24
+ *
25
+ * ```php
26
+ * $consent = function_exists('wp_rcb_consent_given') ? wp_rcb_consent_given(15) : true;
27
+ * ```
28
+ *
29
+ * **Attention:** Do not use this function if you can get the conditional consent into your frontend
30
+ * coding and use instead the `window.consentApi`!
31
+ *
32
+ * @param string|int $typeOrId
33
+ * @param string $name
34
+ * @param string $host
35
+ * @since 2.11.1
36
+ */
37
+ function wp_rcb_consent_given($typeOrId, $name = null, $host = null) {
38
+ // Find matching cookie
39
+ $found = [];
40
+ /**
41
+ * All cookies.
42
+ *
43
+ * @var WP_Post[]
44
+ */
45
+ $allCookies = [];
46
+ $groups = \wp_rcb_service_groups();
47
+ foreach ($groups as $group) {
48
+ $groupCookies = \wp_rcb_services_by_group($group->term_id);
49
+ $allCookies = \array_merge($allCookies, $groupCookies);
50
+ }
51
+ foreach ($allCookies as $cookie) {
52
+ if (\is_int($typeOrId)) {
53
+ if ($cookie->ID === $typeOrId) {
54
+ $found[] = ['cookie' => $cookie, 'relevance' => 10];
55
+ }
56
+ } else {
57
+ $technicalDefinitions =
58
+ $cookie->metas[\DevOwl\RealCookieBanner\settings\Cookie::META_NAME_TECHNICAL_DEFINITIONS] ?? [];
59
+ if (\count($technicalDefinitions) > 0) {
60
+ // Check if technical information matches
61
+ foreach ($technicalDefinitions as $key => $td) {
62
+ $regex = \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Utils::createRegexpPatternFromWildcardName(
63
+ $td['name']
64
+ );
65
+ \preg_match_all($regex, $name, $matches, \PREG_SET_ORDER, 0);
66
+ if (
67
+ $td['type'] === $typeOrId &&
68
+ ($td['name'] === $name || !empty($matches)) &&
69
+ ($td['host'] === $host || $host === '*')
70
+ ) {
71
+ $found[] = [
72
+ 'cookie' => $cookie,
73
+ // Create a priority by "relevance" inside the technical definitions
74
+ // This is the case if e.g. another Cookie consumes the same technical cookie
75
+ // Example: Vimeo uses Facebook Pixel, too
76
+ 'relevance' => \count($technicalDefinitions) + $key + 1
77
+ ];
78
+ }
79
+ }
80
+ }
81
+ }
82
+ }
83
+ $already = \DevOwl\RealCookieBanner\MyConsent::getInstance()->getCurrentUser();
84
+ if (\count($found) > 0) {
85
+ \array_multisort(\array_column($found, 'relevance'), \SORT_DESC, $found);
86
+ $relevantCookie = $found[0]['cookie'];
87
+ if (
88
+ $already &&
89
+ \DevOwl\RealCookieBanner\settings\Revision::getInstance()->getCurrentHash() ===
90
+ $already['cookie_revision']
91
+ ) {
92
+ $consentCookieIds = \DevOwl\RealCookieBanner\Utils::array_flatten($already['decision_in_cookie']);
93
+ if (\in_array($relevantCookie->ID, $consentCookieIds, \true)) {
94
+ return ['cookie' => $relevantCookie, 'consentGiven' => \true, 'cookieOptIn' => \true];
95
+ } else {
96
+ return ['cookie' => $relevantCookie, 'consentGiven' => \true, 'cookieOptIn' => \false];
97
+ }
98
+ } else {
99
+ return ['cookie' => $relevantCookie, 'consentGiven' => \false, 'cookieOptIn' => \false];
100
+ }
101
+ } else {
102
+ return [
103
+ 'cookie' => null,
104
+ 'consentGiven' => $already !== \false,
105
+ // TODO
106
+ 'cookieOptIn' => \true
107
+ ];
108
+ }
109
+ }
110
+ }
inc/base/others/cachebuster-lib.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- /* This file was automatically generated (Wed Dec 01 2021 06:59:10 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'animate.css' => '4.1.1',
5
  'mobx' => '4.15.7',
1
  <?php
2
+ /* This file was automatically generated (Wed Dec 15 2021 11:01:23 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'animate.css' => '4.1.1',
5
  'mobx' => '4.15.7',
inc/base/others/cachebuster.php CHANGED
@@ -1,8 +1,8 @@
1
  <?php
2
- /* This file was automatically generated (Wed Dec 01 2021 06:59:10 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'src/public/dist/138.lite.js' => '7bb52c010098ad4fe761a58de9aaccc7',
5
- 'src/public/dist/152.lite.js' => 'fc5251505ba8aa4612d579e6bfe1e7c3',
6
  'src/public/dist/193.lite.js' => 'd7a0722155f835c915b08b6c93a9208d',
7
  'src/public/dist/193.pro.js' => 'd71177a05a4f8e8252c7a480e8a2842b',
8
  'src/public/dist/289.pro.js' => '1e66b8cdf84fecf524444a8534473092',
@@ -17,7 +17,7 @@ return [
17
  'src/public/dist/717.pro.js' => '6d4d196df6482b00c12e89c8165d2406',
18
  'src/public/dist/728.lite.js' => '68a96825de2ef34290003ba0ac5101a4',
19
  'src/public/dist/728.pro.js' => '969665cf863f3355590c7ee8278ac41f',
20
- 'src/public/dist/77.pro.js' => 'db522822b5bafba2de7c53495ab874d9',
21
  'src/public/dist/795.lite.js' => 'f24c07d99365d028468d9a8eef40ca37',
22
  'src/public/dist/795.pro.js' => '0f2c5c70d9be03caab24126e536c3c3d',
23
  'src/public/dist/813.lite.js' => 'aab23dc65e1b86ccd60890e0ae75643b',
@@ -28,18 +28,18 @@ return [
28
  'src/public/dist/930.pro.js' => '757d70b559d754597000612bed3f870b',
29
  'src/public/dist/954.lite.js' => 'ee2cda44e2cd4c19a1f7288055efa5d0',
30
  'src/public/dist/954.pro.js' => 'c39fe799c52c7690d66633725671963f',
31
- 'src/public/dist/admin.lite.js' => 'b04461c6339147633a0755dff186b62c',
32
- 'src/public/dist/admin.pro.js' => '0c1b57926b1c5f2623d99ff64d176b3c',
33
- 'src/public/dist/banner_tcf.pro.js' => '0efcbc6e353e413bf68cc54af82b79d4',
34
- 'src/public/dist/banner.lite.js' => '07320f27faa1ff35331e65b89641390f',
35
- 'src/public/dist/banner.pro.js' => 'b0ac6c0a50bc80559999d0a47623a124',
36
- 'src/public/dist/blocker_tcf.pro.js' => '8c7bb862f7ebec29da2c5c7bf19226ef',
37
- 'src/public/dist/blocker.lite.js' => '20136467b8a83204f0086b798965bf1a',
38
- 'src/public/dist/blocker.pro.js' => '0720a9762a5471746944b3add05e42f3',
39
- 'src/public/dist/chunk-config-tab-blocker.lite.js' => '388d87c6ccfcd11edf7e919ba23767b6',
40
- 'src/public/dist/chunk-config-tab-blocker.pro.js' => '989fb39624aceee02e798ca8258e4bbb',
41
  'src/public/dist/chunk-config-tab-consent.lite.js' => 'ff3c43e445f86faf57311d80bf0544fb',
42
- 'src/public/dist/chunk-config-tab-consent.pro.js' => '0cdcd6e187865f802699ee1f85b0808c',
43
  'src/public/dist/chunk-config-tab-cookies.lite.js' => '9c5ef8af4a81c24abbc569d118a59a1b',
44
  'src/public/dist/chunk-config-tab-cookies.pro.js' => '106628424a86dbb3f935d00fc1cfee37',
45
  'src/public/dist/chunk-config-tab-dashboard.lite.js' => '6f990a856b1bca56f4d280dcda8f3d74',
@@ -48,18 +48,18 @@ return [
48
  'src/public/dist/chunk-config-tab-import.pro.js' => 'c402d8c01a8d59adb4f18efc40bf502d',
49
  'src/public/dist/chunk-config-tab-licensing.lite.js' => 'f0bfb9817f440c8028ee4515b0ee8253',
50
  'src/public/dist/chunk-config-tab-licensing.pro.js' => 'a8f79d7bf7415ecc281a5b523fe6a209',
51
- 'src/public/dist/chunk-config-tab-scanner.lite.js' => 'd9e0594df671e94ab946ad1d52466e27',
52
- 'src/public/dist/chunk-config-tab-scanner.pro.js' => 'cb8a98ece5bcb06817e409d0dd07a401',
53
  'src/public/dist/chunk-config-tab-settings.lite.js' => 'c64a21423a1cbe70c1ab03711310f75c',
54
  'src/public/dist/chunk-config-tab-settings.pro.js' => '31314045eea4c06a01eff85de9a85e03',
55
- 'src/public/dist/chunk-config-tab-tcf.lite.js' => '6d748198d8926bffc15a071170d7b82f',
56
- 'src/public/dist/chunk-config-tab-tcf.pro.js' => '84c4880084528d38643584d98a4d2a8f',
57
- 'src/public/dist/customize_banner.lite.js' => 'da6539f3f636476640f7e27a7685e6eb',
58
- 'src/public/dist/customize_banner.pro.js' => 'a65f6626e0c04e2788e454bb3babf355',
59
- 'src/public/dist/customize.lite.js' => 'eceac1e9c7c976363d93bb245354ab93',
60
- 'src/public/dist/customize.pro.js' => '61ea5c08768a9e63a149309adfbbbaef',
61
- 'src/public/dist/queue.lite.js' => '6a213f21af53538884cbbbc085ed6e16',
62
- 'src/public/dist/queue.pro.js' => '341d7af92e1be07f517f23cd763baa4e',
63
  'src/public/dist/vendor-admin.lite.js' => 'e0cf45ce940f9b6e805b030e7427288f',
64
  'src/public/dist/vendor-admin.pro.js' => 'e40114707663c6e20e4a06bb5422bf28',
65
  'src/public/dist/vendor-banner_tcf.pro.js' => '44ef7e97d00f2d575d40cda9596e0d1a',
@@ -80,7 +80,7 @@ return [
80
  'src/public/dev/185.pro.js' => '6555e02b38f06d3d1343f68277547107',
81
  'src/public/dev/223.lite.js' => '8f474dcdca219c07226ac7db7be7f9cb',
82
  'src/public/dev/223.pro.js' => '0bdfadec099bba4304b166cbb6d63bf8',
83
- 'src/public/dev/251.lite.js' => 'eedcddb67f1dd4b0cfa34f02df2249bf',
84
  'src/public/dev/327.lite.js' => 'c6f174970a7ca5497293fbb6dc36e4bb',
85
  'src/public/dev/327.pro.js' => '22c1bb9d33b284d7120724faab73f88d',
86
  'src/public/dev/387.pro.js' => '8b80ee9477c7221171635b1b57d68f3c',
@@ -90,7 +90,7 @@ return [
90
  'src/public/dev/4.pro.js' => 'e41a590814a721f65355b1db08a1da78',
91
  'src/public/dev/413.lite.js' => 'a31b8076e0fae8c1fefe458a71014367',
92
  'src/public/dev/413.pro.js' => '6613b6dd40b189493bc6f7cbffde69bb',
93
- 'src/public/dev/438.pro.js' => '66970954482376cd36f8cb8d0120fadd',
94
  'src/public/dev/49.lite.js' => 'c274aa43099dff2090379084970fa3e3',
95
  'src/public/dev/49.pro.js' => '05b01984902025c2f120393d80976ec3',
96
  'src/public/dev/574.lite.js' => '83abef008f7df466edfdacb2a8913763',
@@ -108,18 +108,18 @@ return [
108
  'src/public/dev/815.pro.js' => 'e09ee126c15c4668a9431551ca417dbe',
109
  'src/public/dev/868.lite.js' => '1b1544806a04023fa1b7fb42abeb99f2',
110
  'src/public/dev/868.pro.js' => '3dd05132fe294b025a10046c7cfae1fd',
111
- 'src/public/dev/admin.lite.js' => 'd90a499370e52f6de2802296ef510297',
112
- 'src/public/dev/admin.pro.js' => 'f48e85ebf486ea5dadb92ffc051493a2',
113
- 'src/public/dev/banner_tcf.pro.js' => '009ceac6e5e0ebe11e73f3319db66e4c',
114
- 'src/public/dev/banner.lite.js' => 'a7dacd54e64091da3379267503aceaf3',
115
- 'src/public/dev/banner.pro.js' => 'c9a2d7c1878652e7b45c55c9ad16e90f',
116
- 'src/public/dev/blocker_tcf.pro.js' => '18ccd02e6eab2569c17574fa1d94d3bb',
117
- 'src/public/dev/blocker.lite.js' => 'b2525c1167f654f0b21133654c74838f',
118
- 'src/public/dev/blocker.pro.js' => 'e07b67bea8d9901fd208c993c92582a3',
119
- 'src/public/dev/chunk-config-tab-blocker.lite.js' => 'ad080e23b42ed10c3abdef08cd9d90c5',
120
- 'src/public/dev/chunk-config-tab-blocker.pro.js' => '0dd60d157e95acd9ad693ce903a48bb9',
121
  'src/public/dev/chunk-config-tab-consent.lite.js' => '8fd307a2a1e78febb2e2a9987dcbb356',
122
- 'src/public/dev/chunk-config-tab-consent.pro.js' => '87e8caf39ea396a4a4c279c0c75db2ac',
123
  'src/public/dev/chunk-config-tab-cookies.lite.js' => 'df7c8d0f0bc946944ebd604aab30cd85',
124
  'src/public/dev/chunk-config-tab-cookies.pro.js' => 'f192bfc3c72aa51478f4e8c61371b51d',
125
  'src/public/dev/chunk-config-tab-dashboard.lite.js' => '9f6e3230964ec642f57843942cbcea07',
@@ -128,18 +128,18 @@ return [
128
  'src/public/dev/chunk-config-tab-import.pro.js' => 'c3bf75ed240f8b5ee5d7d4e686b4d249',
129
  'src/public/dev/chunk-config-tab-licensing.lite.js' => '8973f14d6a207597eb94c4b275ade4bd',
130
  'src/public/dev/chunk-config-tab-licensing.pro.js' => 'ef8aa165319102c83983c17192e7a15c',
131
- 'src/public/dev/chunk-config-tab-scanner.lite.js' => '2baeffbd3877266c51f0f5ead9d75ff3',
132
- 'src/public/dev/chunk-config-tab-scanner.pro.js' => 'c4a90b06e9f2624a9914000b9c839956',
133
  'src/public/dev/chunk-config-tab-settings.lite.js' => '3aa5237352b0f03638c154bf3ee111dc',
134
  'src/public/dev/chunk-config-tab-settings.pro.js' => 'b9d6baf49b082216f8dd198c64ca17e6',
135
- 'src/public/dev/chunk-config-tab-tcf.lite.js' => '01773a56690b52f311d3f855480eecee',
136
- 'src/public/dev/chunk-config-tab-tcf.pro.js' => '9d07b6c5e41ad19b9a3b91cb6b3dc959',
137
- 'src/public/dev/customize_banner.lite.js' => '11fa3fa130707b42cc20e8b48265b91a',
138
- 'src/public/dev/customize_banner.pro.js' => '846b555ac4dff3f05faf955c5b883130',
139
- 'src/public/dev/customize.lite.js' => '12f8781cedeb0ad7a70405f55ddeff4e',
140
- 'src/public/dev/customize.pro.js' => 'c4732c26ea438770e2da3d6cf9659be8',
141
- 'src/public/dev/queue.lite.js' => 'e08758dc323b8440a8bf946a8b51308d',
142
- 'src/public/dev/queue.pro.js' => 'dc80ebb5255ec432e582804a61111148',
143
  'src/public/dev/vendor-admin.lite.js' => 'e216d47187588647436a92094ed9fd36',
144
  'src/public/dev/vendor-admin.pro.js' => '5f0dbd167cc87ce5fe0b5d5791ee677f',
145
  'src/public/dev/vendor-banner_tcf.pro.js' => '3a3f1f226e9e5d68d8c903242de3fdbc',
1
  <?php
2
+ /* This file was automatically generated (Wed Dec 15 2021 11:01:23 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'src/public/dist/138.lite.js' => '7bb52c010098ad4fe761a58de9aaccc7',
5
+ 'src/public/dist/152.lite.js' => 'baac9fdcafae11243e16b168120c2fe5',
6
  'src/public/dist/193.lite.js' => 'd7a0722155f835c915b08b6c93a9208d',
7
  'src/public/dist/193.pro.js' => 'd71177a05a4f8e8252c7a480e8a2842b',
8
  'src/public/dist/289.pro.js' => '1e66b8cdf84fecf524444a8534473092',
17
  'src/public/dist/717.pro.js' => '6d4d196df6482b00c12e89c8165d2406',
18
  'src/public/dist/728.lite.js' => '68a96825de2ef34290003ba0ac5101a4',
19
  'src/public/dist/728.pro.js' => '969665cf863f3355590c7ee8278ac41f',
20
+ 'src/public/dist/77.pro.js' => '943dc2cad3eeae089422d4ee462b520b',
21
  'src/public/dist/795.lite.js' => 'f24c07d99365d028468d9a8eef40ca37',
22
  'src/public/dist/795.pro.js' => '0f2c5c70d9be03caab24126e536c3c3d',
23
  'src/public/dist/813.lite.js' => 'aab23dc65e1b86ccd60890e0ae75643b',
28
  'src/public/dist/930.pro.js' => '757d70b559d754597000612bed3f870b',
29
  'src/public/dist/954.lite.js' => 'ee2cda44e2cd4c19a1f7288055efa5d0',
30
  'src/public/dist/954.pro.js' => 'c39fe799c52c7690d66633725671963f',
31
+ 'src/public/dist/admin.lite.js' => '3bc76b0c16cc8383794028992fcd5f48',
32
+ 'src/public/dist/admin.pro.js' => 'e903e25cfd1b3230b66fbd8d8b9f9037',
33
+ 'src/public/dist/banner_tcf.pro.js' => 'b56168470001a8971b8840d95b391a69',
34
+ 'src/public/dist/banner.lite.js' => '83f640758955c897f8f4f0b62ce60e7b',
35
+ 'src/public/dist/banner.pro.js' => 'd390fa6f2bd5284d146c1aa05b724f29',
36
+ 'src/public/dist/blocker_tcf.pro.js' => '8e0ff5bdfecadea80464dc8287ef233a',
37
+ 'src/public/dist/blocker.lite.js' => '04f032e67bd94ad217acd3a8988c8489',
38
+ 'src/public/dist/blocker.pro.js' => '08488f1f7fb97cce3ab500bb8edcfed8',
39
+ 'src/public/dist/chunk-config-tab-blocker.lite.js' => '5707b242466d224731520573aa857e53',
40
+ 'src/public/dist/chunk-config-tab-blocker.pro.js' => '9f1db0c3084d5f57075e01f8db19fa58',
41
  'src/public/dist/chunk-config-tab-consent.lite.js' => 'ff3c43e445f86faf57311d80bf0544fb',
42
+ 'src/public/dist/chunk-config-tab-consent.pro.js' => '133b10e3ea1a4717ecaf4f212843410d',
43
  'src/public/dist/chunk-config-tab-cookies.lite.js' => '9c5ef8af4a81c24abbc569d118a59a1b',
44
  'src/public/dist/chunk-config-tab-cookies.pro.js' => '106628424a86dbb3f935d00fc1cfee37',
45
  'src/public/dist/chunk-config-tab-dashboard.lite.js' => '6f990a856b1bca56f4d280dcda8f3d74',
48
  'src/public/dist/chunk-config-tab-import.pro.js' => 'c402d8c01a8d59adb4f18efc40bf502d',
49
  'src/public/dist/chunk-config-tab-licensing.lite.js' => 'f0bfb9817f440c8028ee4515b0ee8253',
50
  'src/public/dist/chunk-config-tab-licensing.pro.js' => 'a8f79d7bf7415ecc281a5b523fe6a209',
51
+ 'src/public/dist/chunk-config-tab-scanner.lite.js' => '691c52c1254a9dbcacd1c90b22a4c817',
52
+ 'src/public/dist/chunk-config-tab-scanner.pro.js' => '850c02b2f89e73abcebcfd993a4e86c5',
53
  'src/public/dist/chunk-config-tab-settings.lite.js' => 'c64a21423a1cbe70c1ab03711310f75c',
54
  'src/public/dist/chunk-config-tab-settings.pro.js' => '31314045eea4c06a01eff85de9a85e03',
55
+ 'src/public/dist/chunk-config-tab-tcf.lite.js' => '49039aa52b34f9a47693edfb552ebe56',
56
+ 'src/public/dist/chunk-config-tab-tcf.pro.js' => '0d5d765ffa4b8ad490392c2e8e79a09b',
57
+ 'src/public/dist/customize_banner.lite.js' => '7f71927ca1977967f4454ab6021bdffb',
58
+ 'src/public/dist/customize_banner.pro.js' => 'e18907ac7cdccb455533d7016a2868a9',
59
+ 'src/public/dist/customize.lite.js' => 'e48c9b5aa58fa9d7913265f4947350a1',
60
+ 'src/public/dist/customize.pro.js' => 'e40fac9714985b96628346e17bf32d21',
61
+ 'src/public/dist/queue.lite.js' => '4808189af9984edb3d6aa51c8bc988a2',
62
+ 'src/public/dist/queue.pro.js' => 'b695e3488bd6ffb2eb6cf68f96be530b',
63
  'src/public/dist/vendor-admin.lite.js' => 'e0cf45ce940f9b6e805b030e7427288f',
64
  'src/public/dist/vendor-admin.pro.js' => 'e40114707663c6e20e4a06bb5422bf28',
65
  'src/public/dist/vendor-banner_tcf.pro.js' => '44ef7e97d00f2d575d40cda9596e0d1a',
80
  'src/public/dev/185.pro.js' => '6555e02b38f06d3d1343f68277547107',
81
  'src/public/dev/223.lite.js' => '8f474dcdca219c07226ac7db7be7f9cb',
82
  'src/public/dev/223.pro.js' => '0bdfadec099bba4304b166cbb6d63bf8',
83
+ 'src/public/dev/251.lite.js' => 'ce956d5e2252cc011d74268900cc4f77',
84
  'src/public/dev/327.lite.js' => 'c6f174970a7ca5497293fbb6dc36e4bb',
85
  'src/public/dev/327.pro.js' => '22c1bb9d33b284d7120724faab73f88d',
86
  'src/public/dev/387.pro.js' => '8b80ee9477c7221171635b1b57d68f3c',
90
  'src/public/dev/4.pro.js' => 'e41a590814a721f65355b1db08a1da78',
91
  'src/public/dev/413.lite.js' => 'a31b8076e0fae8c1fefe458a71014367',
92
  'src/public/dev/413.pro.js' => '6613b6dd40b189493bc6f7cbffde69bb',
93
+ 'src/public/dev/438.pro.js' => '2075e5b451bfb479404d3673b7364730',
94
  'src/public/dev/49.lite.js' => 'c274aa43099dff2090379084970fa3e3',
95
  'src/public/dev/49.pro.js' => '05b01984902025c2f120393d80976ec3',
96
  'src/public/dev/574.lite.js' => '83abef008f7df466edfdacb2a8913763',
108
  'src/public/dev/815.pro.js' => 'e09ee126c15c4668a9431551ca417dbe',
109
  'src/public/dev/868.lite.js' => '1b1544806a04023fa1b7fb42abeb99f2',
110
  'src/public/dev/868.pro.js' => '3dd05132fe294b025a10046c7cfae1fd',
111
+ 'src/public/dev/admin.lite.js' => 'd13410401a7457dc24737947b34cc134',
112
+ 'src/public/dev/admin.pro.js' => '36c2bf924a26a5282f06fe0acf1b3b6d',
113
+ 'src/public/dev/banner_tcf.pro.js' => '4fe7ab0e9b7e54a9aaca3a977b4efe04',
114
+ 'src/public/dev/banner.lite.js' => 'f500198f60f5c4b33d323ce48931a775',
115
+ 'src/public/dev/banner.pro.js' => 'ee6ab9da81c4922ed228875e8c2e1e01',
116
+ 'src/public/dev/blocker_tcf.pro.js' => '2438dfd1da0ef7f40928cd0107195c50',
117
+ 'src/public/dev/blocker.lite.js' => '1a98a25fcee020233d34318902301392',
118
+ 'src/public/dev/blocker.pro.js' => '29296c5f428a599698c44096662ae2fc',
119
+ 'src/public/dev/chunk-config-tab-blocker.lite.js' => '52e95ee770820d08fc5fae00da43840b',
120
+ 'src/public/dev/chunk-config-tab-blocker.pro.js' => 'b9f99652ef5facb82c72672f0aa7a418',
121
  'src/public/dev/chunk-config-tab-consent.lite.js' => '8fd307a2a1e78febb2e2a9987dcbb356',
122
+ 'src/public/dev/chunk-config-tab-consent.pro.js' => '81b488b6e4924e29d508536f9000ea0e',
123
  'src/public/dev/chunk-config-tab-cookies.lite.js' => 'df7c8d0f0bc946944ebd604aab30cd85',
124
  'src/public/dev/chunk-config-tab-cookies.pro.js' => 'f192bfc3c72aa51478f4e8c61371b51d',
125
  'src/public/dev/chunk-config-tab-dashboard.lite.js' => '9f6e3230964ec642f57843942cbcea07',
128
  'src/public/dev/chunk-config-tab-import.pro.js' => 'c3bf75ed240f8b5ee5d7d4e686b4d249',
129
  'src/public/dev/chunk-config-tab-licensing.lite.js' => '8973f14d6a207597eb94c4b275ade4bd',
130
  'src/public/dev/chunk-config-tab-licensing.pro.js' => 'ef8aa165319102c83983c17192e7a15c',
131
+ 'src/public/dev/chunk-config-tab-scanner.lite.js' => 'c23d79deb53e70e5e1e5cf8846c5f1f0',
132
+ 'src/public/dev/chunk-config-tab-scanner.pro.js' => '6f8a9505ba281bef7d946a7e9caaf0b3',
133
  'src/public/dev/chunk-config-tab-settings.lite.js' => '3aa5237352b0f03638c154bf3ee111dc',
134
  'src/public/dev/chunk-config-tab-settings.pro.js' => 'b9d6baf49b082216f8dd198c64ca17e6',
135
+ 'src/public/dev/chunk-config-tab-tcf.lite.js' => '3b019195d9bde5b0cb950c36a184fc8a',
136
+ 'src/public/dev/chunk-config-tab-tcf.pro.js' => 'e907af8e58d1f1385e1355b6aa1f3ed1',
137
+ 'src/public/dev/customize_banner.lite.js' => '3a8bf0c2bb29db7f57ca89846b79cbcb',
138
+ 'src/public/dev/customize_banner.pro.js' => '3b9ba295fccef61b8eaacddf05338e37',
139
+ 'src/public/dev/customize.lite.js' => '9c764245662b67e472aadfdd439a64bf',
140
+ 'src/public/dev/customize.pro.js' => '4c1ed65ae0a020dbdce9ba0acccf6b03',
141
+ 'src/public/dev/queue.lite.js' => '638f3f42f96c0b974f26862c58589007',
142
+ 'src/public/dev/queue.pro.js' => '8b2688054a8486a25176e513614ae855',
143
  'src/public/dev/vendor-admin.lite.js' => 'e216d47187588647436a92094ed9fd36',
144
  'src/public/dev/vendor-admin.pro.js' => '5f0dbd167cc87ce5fe0b5d5791ee677f',
145
  'src/public/dev/vendor-banner_tcf.pro.js' => '3a3f1f226e9e5d68d8c903242de3fdbc',
inc/comp/PresetsPluginIntegrations.php CHANGED
@@ -5,6 +5,7 @@ namespace DevOwl\RealCookieBanner\comp;
5
  use DevOwl\RealCookieBanner\presets\BlockerPresets;
6
  use DevOwl\RealCookieBanner\presets\CookiePresets;
7
  use DevOwl\RealCookieBanner\presets\PresetIdentifierMap;
 
8
  // @codeCoverageIgnoreStart
9
  \defined('ABSPATH') or die('No script kiddies please!');
10
  // Avoid direct file request
@@ -42,6 +43,7 @@ class PresetsPluginIntegrations {
42
  const OPTION_NAME_WP_PIWIK = 'wp-piwik_global-track_mode';
43
  const OPTION_NAME_MATOMO_PLUGIN = 'matomo-global-option';
44
  const OPTION_NAME_PERFMATTERS_GA = 'perfmatters_options';
 
45
  // Network options
46
  const OPTION_NAME_EXACTMETRICS_NETWORK_PROFIL = 'exactmetrics_network_profile';
47
  const OPTION_NAME_MONSTERINSIGHTS_NETWORK_PROFIL = 'monsterinsights_network_profile';
@@ -57,7 +59,8 @@ class PresetsPluginIntegrations {
57
  self::OPTION_NAME_WOOCOMMERCE_GOOGLE_ANALYTICS,
58
  self::OPTION_NAME_WP_PIWIK,
59
  self::OPTION_NAME_MATOMO_PLUGIN,
60
- self::OPTION_NAME_PERFMATTERS_GA
 
61
  ];
62
  const INVALIDATE_WHEN_SITE_OPTION_CHANGES = [
63
  self::OPTION_NAME_EXACTMETRICS_NETWORK_PROFIL,
@@ -114,9 +117,28 @@ class PresetsPluginIntegrations {
114
  case \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::EZOIC_STATISTIC:
115
  $preset['recommended'] = isset($header['x-middleton']);
116
  break;
 
 
 
 
 
117
  default:
118
  break;
119
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  return $preset;
121
  }
122
  /**
@@ -130,6 +152,20 @@ class PresetsPluginIntegrations {
130
  default:
131
  break;
132
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  return $preset;
134
  }
135
  /**
5
  use DevOwl\RealCookieBanner\presets\BlockerPresets;
6
  use DevOwl\RealCookieBanner\presets\CookiePresets;
7
  use DevOwl\RealCookieBanner\presets\PresetIdentifierMap;
8
+ use Jetpack;
9
  // @codeCoverageIgnoreStart
10
  \defined('ABSPATH') or die('No script kiddies please!');
11
  // Avoid direct file request
43
  const OPTION_NAME_WP_PIWIK = 'wp-piwik_global-track_mode';
44
  const OPTION_NAME_MATOMO_PLUGIN = 'matomo-global-option';
45
  const OPTION_NAME_PERFMATTERS_GA = 'perfmatters_options';
46
+ const OPTION_NAME_JETPACK_SITE_STATS = 'stats_options';
47
  // Network options
48
  const OPTION_NAME_EXACTMETRICS_NETWORK_PROFIL = 'exactmetrics_network_profile';
49
  const OPTION_NAME_MONSTERINSIGHTS_NETWORK_PROFIL = 'monsterinsights_network_profile';
59
  self::OPTION_NAME_WOOCOMMERCE_GOOGLE_ANALYTICS,
60
  self::OPTION_NAME_WP_PIWIK,
61
  self::OPTION_NAME_MATOMO_PLUGIN,
62
+ self::OPTION_NAME_PERFMATTERS_GA,
63
+ self::OPTION_NAME_JETPACK_SITE_STATS
64
  ];
65
  const INVALIDATE_WHEN_SITE_OPTION_CHANGES = [
66
  self::OPTION_NAME_EXACTMETRICS_NETWORK_PROFIL,
117
  case \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::EZOIC_STATISTIC:
118
  $preset['recommended'] = isset($header['x-middleton']);
119
  break;
120
+ case \DevOwl\RealCookieBanner\presets\PresetIdentifierMap::JETPACK_SITE_STATS:
121
+ if (\class_exists(\Jetpack::class) && \method_exists(\Jetpack::class, 'is_module_active')) {
122
+ $preset['recommended'] = \Jetpack::is_module_active('stats');
123
+ }
124
+ break;
125
  default:
126
  break;
127
  }
128
+ /**
129
+ * Show a cookie service template in the scanner, or hide it depending on a given condition.
130
+ *
131
+ * @hook RCB/Presets/Cookies/Recommended
132
+ * @param {boolean} $recommended
133
+ * @param {array} $preset The preset passed as reference
134
+ * @returns {callable[]}
135
+ * @since 2.11.1
136
+ */
137
+ $preset['recommended'] = apply_filters(
138
+ 'RCB/Presets/Cookies/Recommended',
139
+ $preset['recommended'] ?? \false,
140
+ $preset
141
+ );
142
  return $preset;
143
  }
144
  /**
152
  default:
153
  break;
154
  }
155
+ /**
156
+ * Show a content blocker template in the scanner, or hide it depending on a given condition.
157
+ *
158
+ * @hook RCB/Presets/Blocker/Recommended
159
+ * @param {boolean} $recommended
160
+ * @param {array} $preset The preset passed as reference
161
+ * @returns {callable[]}
162
+ * @since 2.11.1
163
+ */
164
+ $preset['recommended'] = apply_filters(
165
+ 'RCB/Presets/Blocker/Recommended',
166
+ $preset['recommended'] ?? \false,
167
+ $preset
168
+ );
169
  return $preset;
170
  }
171
  /**
inc/overrides/interfce/IOverrideCore.php CHANGED
@@ -16,6 +16,10 @@ interface IOverrideCore extends \DevOwl\RealCookieBanner\Vendor\DevOwl\Freemium\
16
  * Register additional settings.
17
  */
18
  public function overrideRegisterSettings();
 
 
 
 
19
  /**
20
  * Additional init.
21
  */
16
  * Register additional settings.
17
  */
18
  public function overrideRegisterSettings();
19
+ /**
20
+ * Register additional custom post types and taxonmies.
21
+ */
22
+ public function overrideRegisterPostTypes();
23
  /**
24
  * Additional init.
25
  */
inc/overrides/lite/Core.php CHANGED
@@ -237,6 +237,10 @@ trait Core {
237
  // Silence is golden.
238
  }
239
  // Documented in IOverrideCore
 
 
 
 
240
  public function overrideInit() {
241
  add_action('rest_api_init', [\DevOwl\RealCookieBanner\lite\rest\Service::instance(), 'rest_api_init']);
242
  }
237
  // Silence is golden.
238
  }
239
  // Documented in IOverrideCore
240
+ public function overrideRegisterPostTypes() {
241
+ // Silence is golden.
242
+ }
243
+ // Documented in IOverrideCore
244
  public function overrideInit() {
245
  add_action('rest_api_init', [\DevOwl\RealCookieBanner\lite\rest\Service::instance(), 'rest_api_init']);
246
  }
inc/presets/BannerPresets.php CHANGED
@@ -1860,6 +1860,16 @@ class BannerPresets {
1860
  }
1861
  foreach ($section['controls'] as $controlId => $control) {
1862
  $setting = isset($control['setting']) ? $control['setting'] : null;
 
 
 
 
 
 
 
 
 
 
1863
  if (isset($setting)) {
1864
  $defaults[$controlId] = isset($setting['default']) ? $setting['default'] : \false;
1865
  }
1860
  }
1861
  foreach ($section['controls'] as $controlId => $control) {
1862
  $setting = isset($control['setting']) ? $control['setting'] : null;
1863
+ // Exclude some controls as they are not preset-relevant...
1864
+ if (
1865
+ \in_array(
1866
+ $controlId,
1867
+ [\DevOwl\RealCookieBanner\view\customize\banner\FooterDesign::SETTING_POWERED_BY_LINK],
1868
+ \true
1869
+ )
1870
+ ) {
1871
+ continue;
1872
+ }
1873
  if (isset($setting)) {
1874
  $defaults[$controlId] = isset($setting['default']) ? $setting['default'] : \false;
1875
  }
inc/presets/BlockerPresets.php CHANGED
@@ -138,7 +138,7 @@ class BlockerPresets extends \DevOwl\RealCookieBanner\presets\Presets {
138
  // Documented in Presets
139
  public function getOtherMetaKeys() {
140
  // Make hosts always available in cache cause we need this for the scanner
141
- return [\DevOwl\RealCookieBanner\settings\Blocker::META_NAME_HOSTS, 'extended', 'mustHosts'];
142
  }
143
  /**
144
  * Resolve `attributes.cookies` so we can e.g. show created cookies in "Connected cookies"
@@ -201,12 +201,47 @@ class BlockerPresets extends \DevOwl\RealCookieBanner\presets\Presets {
201
  }
202
  $result[$id] = $preset;
203
  }
 
204
  // Iterate again to apply middleware
205
  foreach ($result as &$preset) {
206
- $this->applyMiddleware($preset, $existingCookies, $existingBlockers, $result);
 
 
 
207
  }
208
  return $result;
209
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
210
  /**
211
  * See filter `RCB/Presets/Blocker/Middleware`.
212
  *
@@ -214,8 +249,9 @@ class BlockerPresets extends \DevOwl\RealCookieBanner\presets\Presets {
214
  * @param WP_Post[] $existingCookies
215
  * @param WP_Post[] $existingBlockers
216
  * @param array $result
 
217
  */
218
- public function applyMiddleware(&$preset, $existingCookies, $existingBlockers, &$result) {
219
  /**
220
  * Inject some middleware directly to the content blocker preset. This can be useful to
221
  * enhance the preset with functionalities like `extends`.
@@ -227,6 +263,7 @@ class BlockerPresets extends \DevOwl\RealCookieBanner\presets\Presets {
227
  * @param {WP_Post[]} $existingCookies
228
  * @param {array[]} $result All collected presets (since 2.6.0); when requesting a single preset attributes, this can be of size 1
229
  * @param {Presets} $presetsInstance
 
230
  * @returns {array}
231
  */
232
  $preset = apply_filters_ref_array('RCB/Presets/Blocker/Middleware', [
@@ -237,17 +274,6 @@ class BlockerPresets extends \DevOwl\RealCookieBanner\presets\Presets {
237
  &$result,
238
  $this
239
  ]);
240
- // Make `hosts` always available in metadata (needed for scanner)
241
- if (
242
- isset(
243
- $preset['attributes'],
244
- $preset['attributes'][\DevOwl\RealCookieBanner\settings\Blocker::META_NAME_HOSTS]
245
- )
246
- ) {
247
- $preset[\DevOwl\RealCookieBanner\settings\Blocker::META_NAME_HOSTS] =
248
- $preset['attributes'][\DevOwl\RealCookieBanner\settings\Blocker::META_NAME_HOSTS];
249
- }
250
- unset($preset['instance']);
251
  }
252
  /**
253
  * Get all available blocker with a preset.
138
  // Documented in Presets
139
  public function getOtherMetaKeys() {
140
  // Make hosts always available in cache cause we need this for the scanner
141
+ return [\DevOwl\RealCookieBanner\settings\Blocker::META_NAME_HOSTS, 'extended', 'scanOptions'];
142
  }
143
  /**
144
  * Resolve `attributes.cookies` so we can e.g. show created cookies in "Connected cookies"
201
  }
202
  $result[$id] = $preset;
203
  }
204
+ $this->applyMiddleware($existingCookies, $existingBlockers, $result);
205
  // Iterate again to apply middleware
206
  foreach ($result as &$preset) {
207
+ $this->applyLegacyMiddleware($preset, $existingCookies, $existingBlockers, $result);
208
+ }
209
+ foreach ($result as &$preset) {
210
+ unset($preset['instance']);
211
  }
212
  return $result;
213
  }
214
+ /**
215
+ * See filter `RCB/Presets/Blocker/MiddlewareCallbacks`.
216
+ *
217
+ * @param WP_Post[] $existingCookies
218
+ * @param WP_Post[] $existingBlockers
219
+ * @param array $result
220
+ */
221
+ public function applyMiddleware($existingCookies, $existingBlockers, &$result) {
222
+ /**
223
+ * Inject some middleware directly to the content blocker preset. This can be useful to
224
+ * enhance the preset with functionalities like `extends`.
225
+ *
226
+ * @hook RCB/Presets/Blocker/MiddlewareCallbacks
227
+ * @param {callable[]} $callbacks
228
+ * @returns {callable[]}
229
+ * @since 2.11.1
230
+ */
231
+ $callbacks = apply_filters('RCB/Presets/Blocker/MiddlewareCallbacks', []);
232
+ foreach ($callbacks as $callback) {
233
+ foreach ($result as &$preset) {
234
+ \call_user_func_array($callback, [
235
+ &$preset,
236
+ $preset['instance'] ?? null,
237
+ $existingBlockers,
238
+ $existingCookies,
239
+ &$result,
240
+ $this
241
+ ]);
242
+ }
243
+ }
244
+ }
245
  /**
246
  * See filter `RCB/Presets/Blocker/Middleware`.
247
  *
249
  * @param WP_Post[] $existingCookies
250
  * @param WP_Post[] $existingBlockers
251
  * @param array $result
252
+ * @deprecated Will be removed with Real Cookie Banner v3
253
  */
254
+ public function applyLegacyMiddleware(&$preset, $existingCookies, $existingBlockers, &$result) {
255
  /**
256
  * Inject some middleware directly to the content blocker preset. This can be useful to
257
  * enhance the preset with functionalities like `extends`.
263
  * @param {WP_Post[]} $existingCookies
264
  * @param {array[]} $result All collected presets (since 2.6.0); when requesting a single preset attributes, this can be of size 1
265
  * @param {Presets} $presetsInstance
266
+ * @deprecated Will be removed with Real Cookie Banner v3; use `RCB/Presets/Blocker/MiddlewareCallbacks` instead
267
  * @returns {array}
268
  */
269
  $preset = apply_filters_ref_array('RCB/Presets/Blocker/Middleware', [
274
  &$result,
275
  $this
276
  ]);
 
 
 
 
 
 
 
 
 
 
 
277
  }
278
  /**
279
  * Get all available blocker with a preset.
inc/presets/CookiePresets.php CHANGED
@@ -178,12 +178,47 @@ class CookiePresets extends \DevOwl\RealCookieBanner\presets\Presets {
178
  }
179
  $result[$id] = $preset;
180
  }
 
181
  // Iterate again to apply middleware
182
  foreach ($result as &$preset) {
183
- $this->applyMiddleware($preset, $existingCookies, $existingBlockers, $result);
 
 
 
184
  }
185
  return $result;
186
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
187
  /**
188
  * See filter `RCB/Presets/Cookies/Middleware`.
189
  *
@@ -191,8 +226,9 @@ class CookiePresets extends \DevOwl\RealCookieBanner\presets\Presets {
191
  * @param WP_Post[] $existingCookies
192
  * @param WP_Post[] $existingBlockers
193
  * @param array $result
 
194
  */
195
- public function applyMiddleware(&$preset, $existingCookies, $existingBlockers, &$result) {
196
  /**
197
  * Inject some middleware directly to the cookie preset. This can be useful to
198
  * enhance the preset with functionalities like `extends`.
@@ -204,6 +240,7 @@ class CookiePresets extends \DevOwl\RealCookieBanner\presets\Presets {
204
  * @param {WP_Post[]} $existingBlocker
205
  * @param {array[]} $result All collected presets (since 2.6.0); when requesting a single preset attributes, this can be of size 1
206
  * @param {Presets} $presetsInstance
 
207
  * @returns {array}
208
  */
209
  $preset = apply_filters_ref_array('RCB/Presets/Cookies/Middleware', [
@@ -214,7 +251,6 @@ class CookiePresets extends \DevOwl\RealCookieBanner\presets\Presets {
214
  &$result,
215
  $this
216
  ]);
217
- unset($preset['instance']);
218
  }
219
  /**
220
  * Get all available cookies with a preset.
178
  }
179
  $result[$id] = $preset;
180
  }
181
+ $this->applyMiddleware($existingCookies, $existingBlockers, $result);
182
  // Iterate again to apply middleware
183
  foreach ($result as &$preset) {
184
+ $this->applyLegacyMiddleware($preset, $existingCookies, $existingBlockers, $result);
185
+ }
186
+ foreach ($result as &$preset) {
187
+ unset($preset['instance']);
188
  }
189
  return $result;
190
  }
191
+ /**
192
+ * See filter `RCB/Presets/Cookies/MiddlewareCallbacks`.
193
+ *
194
+ * @param WP_Post[] $existingCookies
195
+ * @param WP_Post[] $existingBlockers
196
+ * @param array $result
197
+ */
198
+ public function applyMiddleware($existingCookies, $existingBlockers, &$result) {
199
+ /**
200
+ * Inject some middleware directly to the content blocker preset. This can be useful to
201
+ * enhance the preset with functionalities like `extends`.
202
+ *
203
+ * @hook RCB/Presets/Cookies/MiddlewareCallbacks
204
+ * @param {callable[]} $callbacks
205
+ * @returns {callable[]}
206
+ * @since 2.11.1
207
+ */
208
+ $callbacks = apply_filters('RCB/Presets/Cookies/MiddlewareCallbacks', []);
209
+ foreach ($callbacks as $callback) {
210
+ foreach ($result as &$preset) {
211
+ \call_user_func_array($callback, [
212
+ &$preset,
213
+ $preset['instance'] ?? null,
214
+ $existingBlockers,
215
+ $existingCookies,
216
+ &$result,
217
+ $this
218
+ ]);
219
+ }
220
+ }
221
+ }
222
  /**
223
  * See filter `RCB/Presets/Cookies/Middleware`.
224
  *
226
  * @param WP_Post[] $existingCookies
227
  * @param WP_Post[] $existingBlockers
228
  * @param array $result
229
+ * @deprecated Will be removed with Real Cookie Banner v3
230
  */
231
+ public function applyLegacyMiddleware(&$preset, $existingCookies, $existingBlockers, &$result) {
232
  /**
233
  * Inject some middleware directly to the cookie preset. This can be useful to
234
  * enhance the preset with functionalities like `extends`.
240
  * @param {WP_Post[]} $existingBlocker
241
  * @param {array[]} $result All collected presets (since 2.6.0); when requesting a single preset attributes, this can be of size 1
242
  * @param {Presets} $presetsInstance
243
+ * @deprecated Will be removed with Real Cookie Banner v3; use `RCB/Presets/Cookies/MiddlewareCallbacks` instead
244
  * @returns {array}
245
  */
246
  $preset = apply_filters_ref_array('RCB/Presets/Cookies/Middleware', [
251
  &$result,
252
  $this
253
  ]);
 
254
  }
255
  /**
256
  * Get all available cookies with a preset.
inc/presets/free/RealCookieBannerPreset.php CHANGED
@@ -99,8 +99,8 @@ class RealCookieBannerPreset extends \DevOwl\RealCookieBanner\presets\AbstractCo
99
  * @param string|false $installed
100
  * @see https://app.clickup.com/t/1td2xu0
101
  */
102
- public static function new_version_installation_after_2_10_1($installed) {
103
- if ($installed && \version_compare($installed, '2.10.1', '<=')) {
104
  // Lazy it, to be compatible with other plugins like WPML or PolyLang...
105
  add_action(
106
  'init',
@@ -120,15 +120,17 @@ class RealCookieBannerPreset extends \DevOwl\RealCookieBanner\presets\AbstractCo
120
  ],
121
  'post_status' => ['publish', 'private', 'draft']
122
  ],
123
- 'RealCookieBannerPreset::new_version_installation_after_2_10_1'
124
  )
125
  );
126
  if (\count($realCookieBannerService) > 0) {
 
127
  (new \DevOwl\RealCookieBanner\presets\CookiePresets())->createFromPreset(
128
  self::IDENTIFIER,
129
  \false,
130
  $realCookieBannerService[0]->ID
131
  );
 
132
  }
133
  },
134
  20
99
  * @param string|false $installed
100
  * @see https://app.clickup.com/t/1td2xu0
101
  */
102
+ public static function new_version_installation_after_2_11_0($installed) {
103
+ if ($installed && \version_compare($installed, '2.11.0', '<=')) {
104
  // Lazy it, to be compatible with other plugins like WPML or PolyLang...
105
  add_action(
106
  'init',
120
  ],
121
  'post_status' => ['publish', 'private', 'draft']
122
  ],
123
+ 'RealCookieBannerPreset::new_version_installation_after_2_11_0'
124
  )
125
  );
126
  if (\count($realCookieBannerService) > 0) {
127
+ $td = \DevOwl\RealCookieBanner\comp\language\Hooks::getInstance()->createTemporaryTextDomain();
128
  (new \DevOwl\RealCookieBanner\presets\CookiePresets())->createFromPreset(
129
  self::IDENTIFIER,
130
  \false,
131
  $realCookieBannerService[0]->ID
132
  );
133
+ $td->teardown();
134
  }
135
  },
136
  20
inc/presets/free/blocker/YoutubePreset.php CHANGED
@@ -26,10 +26,6 @@ class YoutubePreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerPres
26
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/youtube.png'),
27
  'attributes' => [
28
  'name' => $name,
29
- 'description' => __(
30
- 'Video from YouTube has been blocked because you did not allow to load it.',
31
- \DevOwl\RealCookieBanner\comp\language\Hooks::TD_FORCED
32
- ),
33
  'hosts' => [
34
  '*youtube.com*',
35
  '*youtu.be*',
26
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/youtube.png'),
27
  'attributes' => [
28
  'name' => $name,
 
 
 
 
29
  'hosts' => [
30
  '*youtube.com*',
31
  '*youtu.be*',
inc/presets/middleware/BlockerHostsOptionsMiddleware.php CHANGED
@@ -10,22 +10,15 @@ use WP_Post;
10
  // Avoid direct file request
11
  // @codeCoverageIgnoreEnd
12
  /**
13
- * Middleware that adds a `mustHosts` attribute to the blocker metadata from `hosts` options.
14
  *
15
- * Available options:
16
  *
17
- * ```
18
- * "hosts" => [
19
- * ["*google.com/recaptcha*", [
20
- * // This is necessary for the scanner: If a host is marked as must, the URL must exist when scanning
21
- * // In this case `recaptcha` is the "must-group", that means one of the hosts must be available within the group
22
- * BlockerHostsOptionsMiddleware::LOGICAL_MUST => self::IDENTIFIER // can be another string if you want to group multiple hosts with OR in a group
23
- * ]]
24
- * ]
25
- * ```
26
  */
27
  class BlockerHostsOptionsMiddleware {
28
  const LOGICAL_MUST = 'must';
 
29
  /**
30
  * See class description.
31
  *
@@ -37,25 +30,18 @@ class BlockerHostsOptionsMiddleware {
37
  */
38
  public function middleware(&$preset, $unused0, $unused1, $unused2, &$result) {
39
  if (isset($preset['attributes'], $preset['attributes']['hosts'])) {
40
- // Allow middleware also for extended blockers
41
- if (
42
- isset($preset['extended']) &&
43
- isset($result[$preset['extended']], $result[$preset['extended']]['mustHosts']) &&
44
- (!isset($preset['overwrittenAttributes']) ||
45
- !\in_array('hosts', $preset['overwrittenAttributes'], \true))
46
- ) {
47
- $preset['mustHosts'] = $result[$preset['extended']]['mustHosts'];
48
- }
49
  foreach ($preset['attributes']['hosts'] as $key => $host) {
50
  if (\is_array($host)) {
 
51
  $preset['attributes']['hosts'][$key] = $host[0];
52
- $options = wp_parse_args($host[1], [self::LOGICAL_MUST => \false]);
53
- // `must`
54
- if ($options[self::LOGICAL_MUST] !== \false) {
55
- $preset['mustHosts'][$options[self::LOGICAL_MUST]][] = $host[0];
56
- }
57
  }
58
  }
 
 
 
 
 
59
  }
60
  return $preset;
61
  }
10
  // Avoid direct file request
11
  // @codeCoverageIgnoreEnd
12
  /**
13
+ * Middleware that adds a `scanOptions` attribute to the blocker metadata from `hosts` options.
14
  *
15
+ * If you are using this in conjunction with an `extends` middleware, make sure to add this afterwards!
16
  *
17
+ * See `HostScanOptions` for more information.
 
 
 
 
 
 
 
 
18
  */
19
  class BlockerHostsOptionsMiddleware {
20
  const LOGICAL_MUST = 'must';
21
+ const QUERY_ARGS = 'queryArgs';
22
  /**
23
  * See class description.
24
  *
30
  */
31
  public function middleware(&$preset, $unused0, $unused1, $unused2, &$result) {
32
  if (isset($preset['attributes'], $preset['attributes']['hosts'])) {
33
+ $scanOptions = [];
 
 
 
 
 
 
 
 
34
  foreach ($preset['attributes']['hosts'] as $key => $host) {
35
  if (\is_array($host)) {
36
+ $scanOptions[] = $host;
37
  $preset['attributes']['hosts'][$key] = $host[0];
 
 
 
 
 
38
  }
39
  }
40
+ if (\count($scanOptions) > 0) {
41
+ $preset['scanOptions'] = $scanOptions;
42
+ }
43
+ // Make `hosts` always available in metadata (needed for scanner)
44
+ $preset['hosts'] = $preset['attributes']['hosts'];
45
  }
46
  return $preset;
47
  }
inc/presets/pro/blocker/GoogleAnalytics4Preset.php CHANGED
@@ -52,7 +52,19 @@ class GoogleAnalytics4Preset extends \DevOwl\RealCookieBanner\presets\AbstractBl
52
  ]
53
  ]
54
  ],
55
- \DevOwl\RealCookieBanner\presets\pro\blocker\GoogleAnalyticsPreset::HOSTS_GROUP_SCRIPT
 
 
 
 
 
 
 
 
 
 
 
 
56
  )
57
  ],
58
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/google-analytics.png')
52
  ]
53
  ]
54
  ],
55
+ \DevOwl\RealCookieBanner\presets\pro\blocker\GoogleAnalyticsPreset::HOSTS_GROUP_SCRIPT,
56
+ [
57
+ [
58
+ '*googletagmanager.com/gtag/js?*',
59
+ [
60
+ \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware::LOGICAL_MUST =>
61
+ \DevOwl\RealCookieBanner\presets\pro\blocker\GoogleAnalyticsPreset::HOSTS_GROUP_SCRIPT_NAME,
62
+ \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware::QUERY_ARGS => [
63
+ 'id' => ['optional' => \true, 'regexp' => '/^G-/']
64
+ ]
65
+ ]
66
+ ]
67
+ ]
68
  )
69
  ],
70
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/google-analytics.png')
inc/presets/pro/blocker/GoogleAnalyticsPreset.php CHANGED
@@ -26,13 +26,6 @@ class GoogleAnalyticsPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlo
26
  self::HOSTS_GROUP_SCRIPT_NAME
27
  ]
28
  ],
29
- [
30
- '*googletagmanager.com/gtag/js?*',
31
- [
32
- \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware::LOGICAL_MUST =>
33
- self::HOSTS_GROUP_SCRIPT_NAME
34
- ]
35
- ],
36
  [
37
  '*google-analytics.com/ga.js*',
38
  [
@@ -92,7 +85,19 @@ class GoogleAnalyticsPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlo
92
  ]
93
  ]
94
  ],
95
- self::HOSTS_GROUP_SCRIPT
 
 
 
 
 
 
 
 
 
 
 
 
96
  )
97
  ],
98
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/google-analytics.png')
26
  self::HOSTS_GROUP_SCRIPT_NAME
27
  ]
28
  ],
 
 
 
 
 
 
 
29
  [
30
  '*google-analytics.com/ga.js*',
31
  [
85
  ]
86
  ]
87
  ],
88
+ self::HOSTS_GROUP_SCRIPT,
89
+ [
90
+ [
91
+ '*googletagmanager.com/gtag/js?*',
92
+ [
93
+ \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware::LOGICAL_MUST =>
94
+ self::HOSTS_GROUP_SCRIPT_NAME,
95
+ \DevOwl\RealCookieBanner\presets\middleware\BlockerHostsOptionsMiddleware::QUERY_ARGS => [
96
+ 'id' => ['optional' => \true, 'regexp' => '/^UA-/']
97
+ ]
98
+ ]
99
+ ]
100
+ ]
101
  )
102
  ],
103
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/google-analytics.png')
inc/presets/pro/blocker/GoogleMapsPreset.php CHANGED
@@ -77,7 +77,11 @@ class GoogleMapsPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerP
77
  // [Plugin Comp] https://premiumaddons.com/
78
  'div[class*="elementor-widget-premium-addon-maps"]',
79
  'div[class*="premium-maps-container"]',
80
- '*/wp-content/plugins/premium-addons-for-elementor/assets/frontend/min-js/premium-maps.min.js*'
 
 
 
 
81
  ]
82
  ],
83
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/google-maps.png')
77
  // [Plugin Comp] https://premiumaddons.com/
78
  'div[class*="elementor-widget-premium-addon-maps"]',
79
  'div[class*="premium-maps-container"]',
80
+ '*/wp-content/plugins/premium-addons-for-elementor/assets/frontend/min-js/premium-maps.min.js*',
81
+ // [Plugin Comp] http://arktheme.com/
82
+ 'section[class*="ff-map"]',
83
+ '*/wp-content/themes/ark/assets/plugins/google-map*',
84
+ '*/wp-content/themes/ark/assets/scripts/components/google-map*'
85
  ]
86
  ],
87
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/google-maps.png')
inc/presets/pro/blocker/ProvenExpertWidgetPreset.php CHANGED
@@ -23,7 +23,14 @@ class ProvenExpertWidgetPreset extends \DevOwl\RealCookieBanner\presets\Abstract
23
  'version' => self::VERSION,
24
  'name' => $name,
25
  'attributes' => [
26
- 'hosts' => ['*images.provenexpert.com*', '*provenexpert.com/widget*', '*provenexpert.com/css*']
 
 
 
 
 
 
 
27
  ],
28
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/provenexpert.png')
29
  ];
23
  'version' => self::VERSION,
24
  'name' => $name,
25
  'attributes' => [
26
+ 'hosts' => [
27
+ '*images.provenexpert.com*',
28
+ '*provenexpert.com/widget*',
29
+ '*provenexpert.com/css*',
30
+ // https://lp.provenexpert.com/de/provenexpert-pro-seal/
31
+ '*provenexpert.net/seals*',
32
+ 'provenExpert.proSeal'
33
+ ]
34
  ],
35
  'logoFile' => \DevOwl\RealCookieBanner\Core::getInstance()->getBaseAssetsUrl('logos/provenexpert.png')
36
  ];
inc/rest/Config.php CHANGED
@@ -72,7 +72,8 @@ class Config {
72
  register_rest_route($namespace, '/revision/current', [
73
  'methods' => 'PUT',
74
  'callback' => [$this, 'routePutRevisionCurrent'],
75
- 'permission_callback' => [$this, 'permission_callback']
 
76
  ]);
77
  register_rest_route($namespace, '/cookie-groups/order', [
78
  'methods' => 'PUT',
@@ -250,15 +251,26 @@ class Config {
250
  /**
251
  * See API docs.
252
  *
 
 
253
  * @api {put} /real-cookie-banner/v1/revision/current Update current revision hash from the latest settings
254
  * @apiHeader {string} X-WP-Nonce
255
  * @apiName RevisionCurrentPut
 
256
  * @apiGroup Config
257
  * @apiPermission manage_options
258
  * @apiVersion 1.0.0
259
  */
260
- public function routePutRevisionCurrent() {
261
- return new \WP_REST_Response(\DevOwl\RealCookieBanner\settings\Revision::getInstance()->getCurrent(\true));
 
 
 
 
 
 
 
 
262
  }
263
  /**
264
  * See API docs.
72
  register_rest_route($namespace, '/revision/current', [
73
  'methods' => 'PUT',
74
  'callback' => [$this, 'routePutRevisionCurrent'],
75
+ 'permission_callback' => [$this, 'permission_callback'],
76
+ 'args' => ['needs_retrigger' => ['type' => 'boolean', 'default' => \true]]
77
  ]);
78
  register_rest_route($namespace, '/cookie-groups/order', [
79
  'methods' => 'PUT',
251
  /**
252
  * See API docs.
253
  *
254
+ * @param WP_REST_Request $request
255
+ *
256
  * @api {put} /real-cookie-banner/v1/revision/current Update current revision hash from the latest settings
257
  * @apiHeader {string} X-WP-Nonce
258
  * @apiName RevisionCurrentPut
259
+ * @apiParam {boolean} [needs_retrigger=true] If you do not want to collect new consents for the current revision, pass `false`
260
  * @apiGroup Config
261
  * @apiPermission manage_options
262
  * @apiVersion 1.0.0
263
  */
264
+ public function routePutRevisionCurrent($request) {
265
+ $revision = \DevOwl\RealCookieBanner\settings\Revision::getInstance();
266
+ $needsRetrigger = $request->get_param('needs_retrigger');
267
+ if (!$needsRetrigger) {
268
+ $revision->ignoreCurrentRetriggers();
269
+ }
270
+ $current = $revision->getCurrent($needsRetrigger);
271
+ return new \WP_REST_Response(
272
+ \array_merge(['needs_retrigger' => $revision->needsRetrigger($current)], $current)
273
+ );
274
  }
275
  /**
276
  * See API docs.
inc/rest/Scanner.php CHANGED
@@ -47,12 +47,12 @@ class Scanner {
47
  'callback' => [$this, 'routeResultExternalUrls'],
48
  'permission_callback' => [$this, 'permission_callback']
49
  ]);
50
- register_rest_route($namespace, '/scanner/result/externals/(?P<host>[a-zA-Z0-9\\._-]+\\.[a-zA-Z0-9_-]+)', [
51
  'methods' => 'GET',
52
  'callback' => [$this, 'routeResultAllExternalUrlsByHost'],
53
  'permission_callback' => [$this, 'permission_callback']
54
  ]);
55
- register_rest_route($namespace, '/scanner/result/externals/(?P<preset>[a-zA-Z0-9_-]+)', [
56
  'methods' => 'GET',
57
  'callback' => [$this, 'routeResultAllExternalUrlsByPreset'],
58
  'permission_callback' => [$this, 'permission_callback']
@@ -141,29 +141,30 @@ class Scanner {
141
  *
142
  * @param WP_REST_Request $request
143
  *
144
- * @api {get} /real-cookie-banner/v1/scanner/result/externals/:host Get all blocked URLs for a given host
145
  * @apiHeader {string} X-WP-Nonce
146
- * @apiParam {string} host
147
  * @apiName AllExternalUrlsByHost
148
  * @apiGroup Scanner
149
  * @apiVersion 1.0.0
150
  * @apiPermission manage_options
151
  */
152
  public function routeResultAllExternalUrlsByHost($request) {
 
153
  $result = \DevOwl\RealCookieBanner\Core::getInstance()
154
  ->getScanner()
155
  ->getQuery()
156
- ->getAllScannedExternalUrlsBy('host', $request->get_param('host'));
157
  return \count($result) > 0
158
  ? new \WP_REST_Response(['items' => $result])
159
- : new \WP_Error('rest_not_found', 'Host not found');
160
  }
161
  /**
162
  * See API docs.
163
  *
164
  * @param WP_REST_Request $request
165
  *
166
- * @api {get} /real-cookie-banner/v1/scanner/result/externals/:preset Get all blocked URLs for a given preset ID
167
  * @apiHeader {string} X-WP-Nonce
168
  * @apiParam {string} preset
169
  * @apiName AllExternalUrlsByPreset
@@ -187,7 +188,7 @@ class Scanner {
187
  *
188
  * @api {put} /real-cookie-banner/v1/scanner/result/externals/:host Update an external URL host
189
  * @apiHeader {string} X-WP-Nonce
190
- * @apiParam {string} host
191
  * @apiParam {boolean} [ignored]
192
  * @apiName ExternalUrlIgnore
193
  * @apiGroup Scanner
@@ -196,12 +197,13 @@ class Scanner {
196
  */
197
  public function routeResultExternalUrlPatch($request) {
198
  $ignored = $request->get_param('ignored');
 
199
  $query = \DevOwl\RealCookieBanner\Core::getInstance()
200
  ->getScanner()
201
  ->getQuery();
202
  $result = [];
203
  if ($ignored !== null) {
204
- $result['ignored'] = $query->ignoreBlockedUrlHosts([$request->get_param('host')], $ignored);
205
  }
206
  return new \WP_REST_Response((object) $result);
207
  }
47
  'callback' => [$this, 'routeResultExternalUrls'],
48
  'permission_callback' => [$this, 'permission_callback']
49
  ]);
50
+ register_rest_route($namespace, '/scanner/result/externals/host/(?P<host>[a-zA-Z0-9\\._-]+)', [
51
  'methods' => 'GET',
52
  'callback' => [$this, 'routeResultAllExternalUrlsByHost'],
53
  'permission_callback' => [$this, 'permission_callback']
54
  ]);
55
+ register_rest_route($namespace, '/scanner/result/externals/preset/(?P<preset>[a-zA-Z0-9_-]+)', [
56
  'methods' => 'GET',
57
  'callback' => [$this, 'routeResultAllExternalUrlsByPreset'],
58
  'permission_callback' => [$this, 'permission_callback']
141
  *
142
  * @param WP_REST_Request $request
143
  *
144
+ * @api {get} /real-cookie-banner/v1/scanner/result/externals/host/:host Get all blocked URLs for a given host
145
  * @apiHeader {string} X-WP-Nonce
146
+ * @apiParam {string} host Replace dots with underscores as some security plugins do not allow hosts in URL path
147
  * @apiName AllExternalUrlsByHost
148
  * @apiGroup Scanner
149
  * @apiVersion 1.0.0
150
  * @apiPermission manage_options
151
  */
152
  public function routeResultAllExternalUrlsByHost($request) {
153
+ $host = \str_replace('_', '.', $request->get_param('host'));
154
  $result = \DevOwl\RealCookieBanner\Core::getInstance()
155
  ->getScanner()
156
  ->getQuery()
157
+ ->getAllScannedExternalUrlsBy('host', $host);
158
  return \count($result) > 0
159
  ? new \WP_REST_Response(['items' => $result])
160
+ : new \WP_Error('rest_not_found', 'Host not found. Did you forgot to replace dots with underscores?');
161
  }
162
  /**
163
  * See API docs.
164
  *
165
  * @param WP_REST_Request $request
166
  *
167
+ * @api {get} /real-cookie-banner/v1/scanner/result/externals/preset/:preset Get all blocked URLs for a given preset ID
168
  * @apiHeader {string} X-WP-Nonce
169
  * @apiParam {string} preset
170
  * @apiName AllExternalUrlsByPreset
188
  *
189
  * @api {put} /real-cookie-banner/v1/scanner/result/externals/:host Update an external URL host
190
  * @apiHeader {string} X-WP-Nonce
191
+ * @apiParam {string} host Replace dots with underscores as some security plugins do not allow hosts in URL path
192
  * @apiParam {boolean} [ignored]
193
  * @apiName ExternalUrlIgnore
194
  * @apiGroup Scanner
197
  */
198
  public function routeResultExternalUrlPatch($request) {
199
  $ignored = $request->get_param('ignored');
200
+ $host = \str_replace('_', '.', $request->get_param('host'));
201
  $query = \DevOwl\RealCookieBanner\Core::getInstance()
202
  ->getScanner()
203
  ->getQuery();
204
  $result = [];
205
  if ($ignored !== null) {
206
+ $result['ignored'] = $query->ignoreBlockedUrlHosts([$host], $ignored);
207
  }
208
  return new \WP_REST_Response((object) $result);
209
  }
inc/scanner/HostScanOptions.php ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace DevOwl\RealCookieBanner\scanner;
4
+
5
+ use DevOwl\RealCookieBanner\base\UtilsProvider;
6
+ // @codeCoverageIgnoreStart
7
+ \defined('ABSPATH') or die('No script kiddies please!');
8
+ // Avoid direct file request
9
+ // @codeCoverageIgnoreEnd
10
+ /**
11
+ * Describe scan options for a specific host expression.
12
+ */
13
+ class HostScanOptions {
14
+ use UtilsProvider;
15
+ private $hostExpression;
16
+ private $must;
17
+ /**
18
+ * A list of query argument validations. Example:
19
+ *
20
+ * ```
21
+ * [
22
+ * 'id' => ['optional' => true, 'regexp' => '/^UA-/']
23
+ * ]
24
+ * ```
25
+ */
26
+ private $queryArgs;
27
+ /**
28
+ * C'tor.
29
+ *
30
+ * @param string $hostExpression
31
+ * @param string $must
32
+ * @param array[] $queryArgs
33
+ * @codeCoverageIgnore
34
+ */
35
+ public function __construct($hostExpression, $must = null, $queryArgs = []) {
36
+ $this->hostExpression = $hostExpression;
37
+ $this->must = $must;
38
+ $this->queryArgs = $queryArgs;
39
+ }
40
+ /**
41
+ * Check if a given URL matches our query argument validations.
42
+ *
43
+ * @param string $url
44
+ */
45
+ public function urlMatchesQueryArgumentValidations($url) {
46
+ // E.g. URLs without Scheme
47
+ if (\filter_var(set_url_scheme($url, 'http'), \FILTER_VALIDATE_URL)) {
48
+ $queryString = \parse_url($url, \PHP_URL_QUERY);
49
+ $query = [];
50
+ if (!empty($queryString)) {
51
+ \parse_str($queryString, $query);
52
+ }
53
+ // Remove empty values, so they get considered as null
54
+ foreach ($query as $key => $value) {
55
+ if (empty($value)) {
56
+ $query[$key] = null;
57
+ }
58
+ }
59
+ foreach ($this->queryArgs as $queryKey => $queryValidation) {
60
+ $isOptional = $queryValidation['optional'] ?? \false;
61
+ $queryValue = $query[$queryKey] ?? null;
62
+ if (!$isOptional && $queryValue === null) {
63
+ return \false;
64
+ } elseif ($isOptional && $queryValue === null) {
65
+ continue;
66
+ }
67
+ if ($queryValue !== null) {
68
+ $regexp = $queryValidation['regexp'] ?? null;
69
+ if ($regexp !== null && !\preg_match($regexp, $queryValue)) {
70
+ return \false;
71
+ }
72
+ }
73
+ }
74
+ return \true;
75
+ }
76
+ return \false;
77
+ }
78
+ /**
79
+ * Getter.
80
+ *
81
+ * @codeCoverageIgnore
82
+ */
83
+ public function getHostExpression() {
84
+ return $this->hostExpression;
85
+ }
86
+ /**
87
+ * Getter.
88
+ *
89
+ * @codeCoverageIgnore
90
+ */
91
+ public function getMust() {
92
+ return $this->must;
93
+ }
94
+ /**
95
+ * Getter.
96
+ *
97
+ * @codeCoverageIgnore
98
+ */
99
+ public function getQueryArgs() {
100
+ return $this->queryArgs;
101
+ }
102
+ }
inc/scanner/Persist.php CHANGED
@@ -4,7 +4,7 @@ namespace DevOwl\RealCookieBanner\scanner;
4
 
5
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Constants;
6
  use DevOwl\RealCookieBanner\base\UtilsProvider;
7
- use DevOwl\RealCookieBanner\view\Blocker;
8
  // @codeCoverageIgnoreStart
9
  \defined('ABSPATH') or die('No script kiddies please!');
10
  // Avoid direct file request
@@ -32,6 +32,30 @@ class Persist {
32
  public function __construct($entries) {
33
  $this->entries = $entries;
34
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  /**
36
  * Persist current entries to the database.
37
  */
@@ -125,9 +149,9 @@ class Persist {
125
  $this->entries = \array_values($this->entries);
126
  }
127
  /**
128
- * Remove all entries with `mustHosts` and there is not a scan entry with the needed host.
129
  */
130
- public function removePresetsWithNonMatchingMustHosts() {
131
  $removeByIdentifier = [];
132
  foreach ($this->entries as $key => $scanEntry) {
133
  if (!isset($scanEntry->preset) || \in_array($scanEntry->preset, $removeByIdentifier, \true)) {
@@ -137,71 +161,36 @@ class Persist {
137
  if (\is_null($blockable)) {
138
  continue;
139
  }
140
- $mustHosts = $blockable->getMustHosts();
141
- if (\is_null($mustHosts)) {
142
- continue;
143
- }
144
  // Collect all found host expressions for this preset
145
  $foundExpressions = [];
146
  foreach ($this->entries as $anotherEntry) {
147
  if ($anotherEntry->preset === $scanEntry->preset) {
148
- $foundExpressions = \array_merge($foundExpressions, $anotherEntry->expressions);
 
 
 
 
 
 
 
 
 
 
 
 
149
  }
150
  }
151
- foreach ($mustHosts as $mustHostsBlockable) {
152
- $originalHosts = $mustHostsBlockable->getOriginalHosts();
153
- // Check if one of our must's exists in found expressions
154
- $mustHostExists = !empty(\array_intersect($originalHosts, $foundExpressions));
155
- if (!$mustHostExists) {
156
- $removeByIdentifier[] = $scanEntry->preset;
157
- }
158
  }
159
  }
160
  foreach ($this->entries as $key => $value) {
161
  if (\in_array($value->preset, $removeByIdentifier, \true)) {
162
- unset($this->entries[$key]);
163
- }
164
- }
165
- // Reset indexes
166
- $this->entries = \array_values($this->entries);
167
- }
168
- /**
169
- * Remove entries which does not have found an external URL, cause they do not matter us.
170
- * Example: WordPress User Login (`form[name="login-form"]`).
171
- *
172
- * This should not be applied to script and styles cause they can load external URL, too (e.g. WordPress Emojis).
173
- *
174
- * Use this function with caution! Only use this function if you really want to remove presets without external URLs.
175
- * If you do this, e.g. entries will no longer be list in your scanner tab if you expand a preset.
176
- */
177
- public function removePresetsWithoutExternalUrl() {
178
- foreach ($this->entries as $key => $value) {
179
- if (!empty($value->tag) && \in_array($value->tag, ['script', 'style'], \true)) {
180
- continue;
181
- }
182
- if (!isset($value->preset) || !empty($value->blocked_url)) {
183
- continue;
184
- }
185
- /**
186
- * For usual, blocker presets without external URLs (e.g. only `SyntaxSelector`)
187
- * are considered as skipped cause they do not really block anything.
188
- *
189
- * This filter is currently not in use!
190
- *
191
- * @param {boolean} $skip
192
- * @param {ScanEntry} $scanEntry
193
- * @return {boolean}
194
- * @hook RCB/Scanner/SkipPresetWithoutExternalUrl/$identifier
195
- * @since 2.6.0
196
- */
197
- $skip = apply_filters(
198
- 'RCB/Scanner/SkipPresetWithoutExternalUrl/' . $value->preset,
199
- $this->hasPresetFoundExternalUrl($value),
200
- $value
201
- );
202
- if (!$skip) {
203
- // We did not found any external URL for this blocked preset, ignore it
204
- unset($this->entries[$key]);
205
  }
206
  }
207
  // Reset indexes
@@ -210,10 +199,28 @@ class Persist {
210
  /**
211
  * Remove external URLs which got covered by a preset. When is this the case? When using a
212
  * `SelectorSyntaxBlocker` with e.g. `link[href=""]` (for example WordPress emojis).
 
 
213
  */
214
- public function removeExternalUrlsCoveredByPreset() {
215
  add_filter('RCB/Blocker/Enabled', '__return_true');
 
 
 
 
 
 
 
 
 
 
 
 
 
216
  foreach ($this->entries as $key => $entry) {
 
 
 
217
  if (!empty($entry->markup) && !empty($entry->tag) && !empty($entry->blocked_url) && empty($entry->preset)) {
218
  $markup = apply_filters('Consent/Block/HTML', $entry->markup);
219
  $isBlocked =
@@ -230,6 +237,56 @@ class Persist {
230
  // Reset indexes
231
  $this->entries = \array_values($this->entries);
232
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
  /**
234
  * Find depending on a scan entry, if the same preset has any
235
  *
4
 
5
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Constants;
6
  use DevOwl\RealCookieBanner\base\UtilsProvider;
7
+ use DevOwl\RealCookieBanner\Core;
8
  // @codeCoverageIgnoreStart
9
  \defined('ABSPATH') or die('No script kiddies please!');
10
  // Avoid direct file request
32
  public function __construct($entries) {
33
  $this->entries = $entries;
34
  }
35
+ /**
36
+ * Prepare the passed results and do some optimizations on them (e.g. remove duplicates).
37
+ */
38
+ public function prepare() {
39
+ $this->convertPresetsWithNonMatchingMustGroupsToExternalUrl();
40
+ $this->deduplicate();
41
+ $this->removeExternalUrlsCoveredByPreset();
42
+ $this->convertStandaloneLinkRelPresetToExternalUrl();
43
+ foreach ($this->entries as $entry) {
44
+ $entry->calculateFields();
45
+ }
46
+ }
47
+ /**
48
+ * Reignore already ignored hosts.
49
+ *
50
+ * @param string[] $ignoredHosts
51
+ */
52
+ public function reignore($ignoredHosts) {
53
+ foreach ($this->entries as $entry) {
54
+ if (\in_array($entry->blocked_url_host, $ignoredHosts, \true)) {
55
+ $entry->ignored = \true;
56
+ }
57
+ }
58
+ }
59
  /**
60
  * Persist current entries to the database.
61
  */
149
  $this->entries = \array_values($this->entries);
150
  }
151
  /**
152
+ * Remove all entries when there is not a scan entry with the needed host and convert it to an external URL.
153
  */
154
+ public function convertPresetsWithNonMatchingMustGroupsToExternalUrl() {
155
  $removeByIdentifier = [];
156
  foreach ($this->entries as $key => $scanEntry) {
157
  if (!isset($scanEntry->preset) || \in_array($scanEntry->preset, $removeByIdentifier, \true)) {
161
  if (\is_null($blockable)) {
162
  continue;
163
  }
 
 
 
 
164
  // Collect all found host expressions for this preset
165
  $foundExpressions = [];
166
  foreach ($this->entries as $anotherEntry) {
167
  if ($anotherEntry->preset === $scanEntry->preset) {
168
+ foreach ($anotherEntry->expressions as $foundExpression) {
169
+ if (!empty($scanEntry->blocked_url)) {
170
+ // Exclude found expressions when it does not match with query validation
171
+ $hostScanOptions = $blockable->getScanOptionsForHostExpression($foundExpression);
172
+ if (
173
+ $hostScanOptions !== null &&
174
+ !$hostScanOptions->urlMatchesQueryArgumentValidations($scanEntry->blocked_url)
175
+ ) {
176
+ continue;
177
+ }
178
+ }
179
+ $foundExpressions[] = $foundExpression;
180
+ }
181
  }
182
  }
183
+ if (!$blockable->foundExpressionsMatchMust($foundExpressions, $scanEntry)) {
184
+ $removeByIdentifier[] = $scanEntry->preset;
 
 
 
 
 
185
  }
186
  }
187
  foreach ($this->entries as $key => $value) {
188
  if (\in_array($value->preset, $removeByIdentifier, \true)) {
189
+ if (empty($value->blocked_url)) {
190
+ unset($this->entries[$key]);
191
+ } else {
192
+ $value->preset = '';
193
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  }
195
  }
196
  // Reset indexes
199
  /**
200
  * Remove external URLs which got covered by a preset. When is this the case? When using a
201
  * `SelectorSyntaxBlocker` with e.g. `link[href=""]` (for example WordPress emojis).
202
+ *
203
+ * @param ScanEntry[] $entries The entries to check, defaults to current instance entries
204
  */
205
+ public function removeExternalUrlsCoveredByPreset($entries = null) {
206
  add_filter('RCB/Blocker/Enabled', '__return_true');
207
+ // Remove all not-found presets as we want to only remove by found preset
208
+ $foundPresetIds = \array_unique(\array_column($this->entries, 'preset'));
209
+ $contentBlocker = \DevOwl\RealCookieBanner\Core::getInstance()
210
+ ->getBlocker()
211
+ ->getHeadlessContentBlocker();
212
+ $contentBlocker->setBlockables(
213
+ \array_filter($contentBlocker->getBlockables(), function ($blockable) use ($foundPresetIds) {
214
+ if ($blockable instanceof \DevOwl\RealCookieBanner\scanner\PresetBlockable) {
215
+ return \in_array($blockable->getIdentifier(), $foundPresetIds, \true);
216
+ }
217
+ return \true;
218
+ })
219
+ );
220
  foreach ($this->entries as $key => $entry) {
221
+ if ($entries !== null && !\in_array($entry, $entries, \true)) {
222
+ continue;
223
+ }
224
  if (!empty($entry->markup) && !empty($entry->tag) && !empty($entry->blocked_url) && empty($entry->preset)) {
225
  $markup = apply_filters('Consent/Block/HTML', $entry->markup);
226
  $isBlocked =
237
  // Reset indexes
238
  $this->entries = \array_values($this->entries);
239
  }
240
+ /**
241
+ * Convert a found `link[rel="preconnect|dns-prefetch"]` within a preset and stands alone within this preset
242
+ * to an external URL as a DNS-prefetch and preconnect **must** be loaded in conjunction with another script.
243
+ */
244
+ public function convertStandaloneLinkRelPresetToExternalUrl() {
245
+ /**
246
+ * Scan entries.
247
+ *
248
+ * @var ScanEntry[]
249
+ */
250
+ $convert = [];
251
+ foreach ($this->entries as $key => $scanEntry) {
252
+ if (
253
+ !isset($scanEntry->preset) ||
254
+ \in_array($scanEntry->preset, $convert, \true) ||
255
+ !isset($scanEntry->markup)
256
+ ) {
257
+ continue;
258
+ }
259
+ if (
260
+ $scanEntry->tag === 'link' &&
261
+ (\strpos($scanEntry->markup, 'dns-prefetch') !== \false ||
262
+ \strpos($scanEntry->markup, 'preconnect') !== \false)
263
+ ) {
264
+ // Collect all found scan entries for this preset
265
+ $foundEntriesForThisPreset = [$scanEntry];
266
+ foreach ($this->entries as $anotherEntry) {
267
+ if ($anotherEntry !== $scanEntry && $anotherEntry->preset === $scanEntry->preset) {
268
+ $foundEntriesForThisPreset[] = $anotherEntry;
269
+ }
270
+ }
271
+ if (\count($foundEntriesForThisPreset) === 1) {
272
+ $convert[] = $scanEntry;
273
+ }
274
+ }
275
+ }
276
+ if (\count($convert)) {
277
+ $added = [];
278
+ foreach ($convert as $convertScanEntry) {
279
+ $key = \array_search($convertScanEntry, $this->entries, \true);
280
+ $this->entries[] = $added[] = $entry = new \DevOwl\RealCookieBanner\scanner\ScanEntry();
281
+ $entry->blocked_url = $convertScanEntry->blocked_url;
282
+ $entry->tag = $convertScanEntry->tag;
283
+ $entry->markup = $convertScanEntry->markup;
284
+ unset($this->entries[$key]);
285
+ }
286
+ // Check again for the external URLs as they can indeed have links covered by other presets
287
+ $this->removeExternalUrlsCoveredByPreset($added);
288
+ }
289
+ }
290
  /**
291
  * Find depending on a scan entry, if the same preset has any
292
  *
inc/scanner/PresetBlockable.php CHANGED
@@ -2,10 +2,6 @@
2
 
3
  namespace DevOwl\RealCookieBanner\scanner;
4
 
5
- // @codeCoverageIgnoreStart
6
- \defined('ABSPATH') or die('No script kiddies please!');
7
- // Avoid direct file request
8
- // @codeCoverageIgnoreEnd
9
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\AbstractBlockable;
10
  use DevOwl\RealCookieBanner\base\UtilsProvider;
11
  use DevOwl\RealCookieBanner\settings\Blocker;
@@ -24,28 +20,55 @@ class PresetBlockable extends \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessCon
24
  /**
25
  * An instance of ourself with only the must have expressions.
26
  *
27
- * @var PresetBlockable[]|null
 
 
 
 
 
 
28
  */
29
- private $mustHosts;
30
  /**
31
  * C'tor.
32
  *
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  * @param string $identifier
34
  * @param string[] $hosts
35
  * @param string $extended The parent extended preset identifier
36
- * @param string[] $mustHosts A list of hosts which need to be available otherwise they are not saved as scan result
 
37
  * @codeCoverageIgnore
38
  */
39
- public function __construct($identifier, $hosts, $extended = null, $mustHosts = []) {
40
  $this->identifier = $identifier;
41
  $this->originalHosts = $hosts;
42
  $this->extended = $extended;
43
- if (\count($mustHosts) > 0) {
44
- foreach ($mustHosts as $mustHostIdentifier => $mustHostsStringArray) {
45
- $this->mustHosts[$mustHostIdentifier] = new \DevOwl\RealCookieBanner\scanner\PresetBlockable(
46
- $mustHostIdentifier,
47
- $mustHostsStringArray
48
- );
 
 
 
 
 
49
  }
50
  }
51
  $this->appendFromStringArray($hosts);
@@ -64,6 +87,38 @@ class PresetBlockable extends \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessCon
64
  // The scanner does currently only support usual cookie presets
65
  return \DevOwl\RealCookieBanner\settings\Blocker::CRITERIA_COOKIES;
66
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  /**
68
  * Getter.
69
  *
@@ -93,7 +148,16 @@ class PresetBlockable extends \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessCon
93
  *
94
  * @codeCoverageIgnore
95
  */
96
- public function getMustHosts() {
97
- return $this->mustHosts;
 
 
 
 
 
 
 
 
 
98
  }
99
  }
2
 
3
  namespace DevOwl\RealCookieBanner\scanner;
4
 
 
 
 
 
5
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\AbstractBlockable;
6
  use DevOwl\RealCookieBanner\base\UtilsProvider;
7
  use DevOwl\RealCookieBanner\settings\Blocker;
20
  /**
21
  * An instance of ourself with only the must have expressions.
22
  *
23
+ * @var HostScanOptions[]
24
+ */
25
+ private $scanOptions = [];
26
+ /**
27
+ * A lazy-loaded map of must host expressions grouped by `must`.
28
+ *
29
+ * @var string[][]
30
  */
31
+ private $mustGrouped;
32
  /**
33
  * C'tor.
34
  *
35
+ * Example array for `$scanOptions`:
36
+ *
37
+ * ```
38
+ * [
39
+ * ["*google.com/recaptcha*", [
40
+ * // This is necessary for the scanner: If a host is marked as must, the URL must exist when scanning
41
+ * // In this case `recaptcha` is the "must-group", that means one of the hosts must be available within the group
42
+ * 'must' => 'script', // can be another string if you want to group multiple hosts with OR in a group
43
+ * 'queryArgs' => [
44
+ * 'id' => ['optional' => true, 'regexp' => '^UA']
45
+ * ]
46
+ * ]]
47
+ * ]
48
+ * ```
49
+ *
50
  * @param string $identifier
51
  * @param string[] $hosts
52
  * @param string $extended The parent extended preset identifier
53
+ * @param HostScanOptions[]|array[] $scanOptions A list of host expressions which hold different scan options; you can also pass
54
+ * an array which gets automatically converted to `HostScanOptions`.
55
  * @codeCoverageIgnore
56
  */
57
+ public function __construct($identifier, $hosts, $extended = null, $scanOptions = []) {
58
  $this->identifier = $identifier;
59
  $this->originalHosts = $hosts;
60
  $this->extended = $extended;
61
+ if (\count($scanOptions) > 0) {
62
+ foreach ($scanOptions as $scanOption) {
63
+ if (\is_array($scanOption)) {
64
+ list($expression, $options) = $scanOption;
65
+ $scanOption = new \DevOwl\RealCookieBanner\scanner\HostScanOptions(
66
+ $expression,
67
+ $options['must'] ?? null,
68
+ $options['queryArgs'] ?? []
69
+ );
70
+ }
71
+ $this->scanOptions[$scanOption->getHostExpression()] = $scanOption;
72
  }
73
  }
74
  $this->appendFromStringArray($hosts);
87
  // The scanner does currently only support usual cookie presets
88
  return \DevOwl\RealCookieBanner\settings\Blocker::CRITERIA_COOKIES;
89
  }
90
+ /**
91
+ * Check if a set of expressions matches our `must` scan options.
92
+ *
93
+ * @param string[] $expressions
94
+ */
95
+ public function foundExpressionsMatchMust($expressions) {
96
+ foreach ($this->getMustGrouped() as $mustGroup) {
97
+ // Check if one of our must's exists in found expressions
98
+ $mustHostExists = !empty(\array_intersect($mustGroup, $expressions));
99
+ if (!$mustHostExists) {
100
+ return \false;
101
+ }
102
+ }
103
+ return \true;
104
+ }
105
+ /**
106
+ * A lazy-loaded map of must host expressions grouped by `must`.
107
+ */
108
+ public function getMustGrouped() {
109
+ if ($this->mustGrouped === null) {
110
+ $result = [];
111
+ foreach ($this->scanOptions as $scanOption) {
112
+ $must = $scanOption->getMust();
113
+ if (!isset($result[$must])) {
114
+ $result[$must] = [];
115
+ }
116
+ $result[$must][] = $scanOption->getHostExpression();
117
+ }
118
+ $this->mustGrouped = $result;
119
+ }
120
+ return $this->mustGrouped;
121
+ }
122
  /**
123
  * Getter.
124
  *
148
  *
149
  * @codeCoverageIgnore
150
  */
151
+ public function getScanOptions() {
152
+ return $this->scanOptions;
153
+ }
154
+ /**
155
+ * Getter.
156
+ *
157
+ * @param string $expression
158
+ * @codeCoverageIgnore
159
+ */
160
+ public function getScanOptionsForHostExpression($expression) {
161
+ return $this->getScanOptions()[$expression] ?? null;
162
  }
163
  }
inc/scanner/Scanner.php CHANGED
@@ -5,7 +5,7 @@ namespace DevOwl\RealCookieBanner\scanner;
5
  use DevOwl\RealCookieBanner\Vendor\DevOwl\FastHtmlTag\finder\match\SelectorSyntaxMatch;
6
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\AbstractBlockable;
7
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\BlockedResult;
8
- use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Constants;
9
  use DevOwl\RealCookieBanner\base\UtilsProvider;
10
  use DevOwl\RealCookieBanner\Cache;
11
  use DevOwl\RealCookieBanner\Core;
@@ -98,17 +98,8 @@ class Scanner {
98
  $query->removeSourceUrls([\DevOwl\RealCookieBanner\scanner\ScanEntry::getCurrentSourceUrl()]);
99
  // Add new scan entries
100
  $persist = new \DevOwl\RealCookieBanner\scanner\Persist($this->results);
101
- $persist->removePresetsWithNonMatchingMustHosts();
102
- $persist->deduplicate();
103
- // $persist->removePresetsWithoutExternalUrl();
104
- $persist->removeExternalUrlsCoveredByPreset();
105
- // Re-ignore
106
- foreach ($this->results as $entry) {
107
- $entry->calculateFields();
108
- if (\in_array($entry->blocked_url_host, $ignoredHosts, \true)) {
109
- $entry->ignored = \true;
110
- }
111
- }
112
  $persist->persist();
113
  list($afterPresets, $afterExternalHosts) = $query->getScannedCombinedResults();
114
  $this->doActionAddedRemoved($beforePresets, $beforeExternalHosts, $afterPresets, $afterExternalHosts);
@@ -240,7 +231,7 @@ class Scanner {
240
  $identifier,
241
  $preset[\DevOwl\RealCookieBanner\settings\Blocker::META_NAME_HOSTS],
242
  $preset['extended'] ?? null,
243
- $preset['mustHosts'] ?? []
244
  );
245
  }
246
  }
@@ -276,24 +267,18 @@ class Scanner {
276
  * @param BlockedResult $isBlocked
277
  */
278
  public function is_blocked_inline_script($isBlocked) {
279
- if (!$this->probablyMemorizeIsBlocked($isBlocked, null, 'script') && !$isBlocked->isBlocked()) {
280
- // Check if this script is semantically a script, which appends another script to the head
281
- $markup = $isBlocked->getMarkup();
282
- if (
283
- !empty($markup) &&
284
- \strpos(
285
- $markup,
286
- \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\Constants::HTML_ATTRIBUTE_INLINE
287
- ) === \false &&
288
- \stripos($markup, '.createElement') !== \false &&
289
- \preg_match('/\\.src\\s+=/m', $markup) &&
290
- \preg_match('/["\']script["\']/m', $markup) &&
291
- \stripos($markup, '(function(') !== \false &&
292
- \preg_match('/}\\)\\(([^\\)]+)\\)[;]?\\s*$/m', $markup, $matches) &&
293
- \preg_match('/["\'](http[s]?[^"\']+)["\']/m', $matches[1], $urlMatches)
294
- ) {
295
- $this->probablyMemorizeExternalUrl($isBlocked, $urlMatches[1], 'script', $markup);
296
- }
297
  }
298
  return $isBlocked;
299
  }
5
  use DevOwl\RealCookieBanner\Vendor\DevOwl\FastHtmlTag\finder\match\SelectorSyntaxMatch;
6
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\AbstractBlockable;
7
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\BlockedResult;
8
+ use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\ScriptInlineExtractExternalUrl;
9
  use DevOwl\RealCookieBanner\base\UtilsProvider;
10
  use DevOwl\RealCookieBanner\Cache;
11
  use DevOwl\RealCookieBanner\Core;
98
  $query->removeSourceUrls([\DevOwl\RealCookieBanner\scanner\ScanEntry::getCurrentSourceUrl()]);
99
  // Add new scan entries
100
  $persist = new \DevOwl\RealCookieBanner\scanner\Persist($this->results);
101
+ $persist->prepare();
102
+ $persist->reignore($ignoredHosts);
 
 
 
 
 
 
 
 
 
103
  $persist->persist();
104
  list($afterPresets, $afterExternalHosts) = $query->getScannedCombinedResults();
105
  $this->doActionAddedRemoved($beforePresets, $beforeExternalHosts, $afterPresets, $afterExternalHosts);
231
  $identifier,
232
  $preset[\DevOwl\RealCookieBanner\settings\Blocker::META_NAME_HOSTS],
233
  $preset['extended'] ?? null,
234
+ $preset['scanOptions'] ?? []
235
  );
236
  }
237
  }
267
  * @param BlockedResult $isBlocked
268
  */
269
  public function is_blocked_inline_script($isBlocked) {
270
+ // Check if the `ScriptInlineExtractExternalUrl` plugin were able to extract an URL
271
+ $scriptInlineExtractExternalUrl = $isBlocked->getData(
272
+ \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\ScriptInlineExtractExternalUrl::BLOCKED_RESULT_DATA_KEY
273
+ );
274
+ $added = $this->probablyMemorizeIsBlocked($isBlocked, $scriptInlineExtractExternalUrl, 'script');
275
+ if (!empty($scriptInlineExtractExternalUrl) && !$added && !$isBlocked->isBlocked()) {
276
+ $this->probablyMemorizeExternalUrl(
277
+ $isBlocked,
278
+ $scriptInlineExtractExternalUrl,
279
+ 'script',
280
+ $isBlocked->getMarkup()
281
+ );
 
 
 
 
 
 
282
  }
283
  return $isBlocked;
284
  }
inc/settings/Revision.php CHANGED
@@ -22,6 +22,7 @@ class Revision {
22
  const TABLE_NAME_INDEPENDENT = 'revision_independent';
23
  const OPTION_PREFIX = 'SETTING_';
24
  const OPTION_NAME_CURRENT_HASH_PREFIX = RCB_OPT_PREFIX . '-revision-current-hash';
 
25
  const EXCLUDE_OPTIONS_FROM_REVISION = [
26
  \DevOwl\RealCookieBanner\settings\TCF::SETTING_TCF_FIRST_ACCEPTED_TIME,
27
  \DevOwl\RealCookieBanner\settings\TCF::SETTING_TCF_ACCEPTED_TIME,
@@ -106,6 +107,7 @@ class Revision {
106
  );
107
  if ($forceNewConsent) {
108
  update_option($currentHashOptionName, $hash, \true);
 
109
  /**
110
  * A new consent is requested on the frontend. That means, the new revision
111
  * hash is now present in the frontend.
@@ -169,10 +171,18 @@ class Revision {
169
  /**
170
  * Checks if the given current revision (result of `getCurrent`) needs a retrigger.
171
  *
172
- * @param array $revision
173
  * @return boolean
174
  */
175
  public function needsRetrigger($revision) {
 
 
 
 
 
 
 
 
176
  /**
177
  * Checks if the revision(s) needs a retrigger. This can be useful if you create your own context
178
  * and you want to show a "Request new consents" button in the admin page.
@@ -182,7 +192,7 @@ class Revision {
182
  * @return {boolean}
183
  * @since 1.7.4
184
  */
185
- return apply_filters('RCB/Revision/NeedsRetrigger', $revision['public_to_users'] !== $revision['calculated']);
186
  }
187
  /**
188
  * Get the current revision as array. It also includes the following infos:
@@ -392,6 +402,12 @@ class Revision {
392
  public function getCurrentHashOptionName() {
393
  return self::OPTION_NAME_CURRENT_HASH_PREFIX . '-' . $this->getContextVariablesString();
394
  }
 
 
 
 
 
 
395
  /**
396
  * Get the revision(s) by hash(es).
397
  *
@@ -457,6 +473,13 @@ class Revision {
457
  */
458
  return apply_filters('RCB/Revision/BackwardsCompatibility', $revision, $independent);
459
  }
 
 
 
 
 
 
 
460
  /**
461
  * Get singleton instance.
462
  *
22
  const TABLE_NAME_INDEPENDENT = 'revision_independent';
23
  const OPTION_PREFIX = 'SETTING_';
24
  const OPTION_NAME_CURRENT_HASH_PREFIX = RCB_OPT_PREFIX . '-revision-current-hash';
25
+ const OPTION_NAME_DISMISSED_HASH_PREFIX = RCB_OPT_PREFIX . '-revision-dismissed-hash';
26
  const EXCLUDE_OPTIONS_FROM_REVISION = [
27
  \DevOwl\RealCookieBanner\settings\TCF::SETTING_TCF_FIRST_ACCEPTED_TIME,
28
  \DevOwl\RealCookieBanner\settings\TCF::SETTING_TCF_ACCEPTED_TIME,
107
  );
108
  if ($forceNewConsent) {
109
  update_option($currentHashOptionName, $hash, \true);
110
+ update_option($this->getDismissedHashOptionName(), '');
111
  /**
112
  * A new consent is requested on the frontend. That means, the new revision
113
  * hash is now present in the frontend.
171
  /**
172
  * Checks if the given current revision (result of `getCurrent`) needs a retrigger.
173
  *
174
+ * @param array $revision Result of `getCurrent`
175
  * @return boolean
176
  */
177
  public function needsRetrigger($revision) {
178
+ $needsRetrigger = $revision['public_to_users'] !== $revision['calculated'];
179
+ if ($needsRetrigger) {
180
+ // Got this calculated hash dismissed?
181
+ $dismissedHash = get_option($this->getDismissedHashOptionName());
182
+ if (!empty($dismissedHash) && $dismissedHash === $revision['calculated']) {
183
+ $needsRetrigger = \false;
184
+ }
185
+ }
186
  /**
187
  * Checks if the revision(s) needs a retrigger. This can be useful if you create your own context
188
  * and you want to show a "Request new consents" button in the admin page.
192
  * @return {boolean}
193
  * @since 1.7.4
194
  */
195
+ return apply_filters('RCB/Revision/NeedsRetrigger', $needsRetrigger);
196
  }
197
  /**
198
  * Get the current revision as array. It also includes the following infos:
402
  public function getCurrentHashOptionName() {
403
  return self::OPTION_NAME_CURRENT_HASH_PREFIX . '-' . $this->getContextVariablesString();
404
  }
405
+ /**
406
+ * Get the option for the dismissed hash option name in `wp_options`.
407
+ */
408
+ public function getDismissedHashOptionName() {
409
+ return self::OPTION_NAME_DISMISSED_HASH_PREFIX . '-' . $this->getContextVariablesString();
410
+ }
411
  /**
412
  * Get the revision(s) by hash(es).
413
  *
473
  */
474
  return apply_filters('RCB/Revision/BackwardsCompatibility', $revision, $independent);
475
  }
476
+ /**
477
+ * If a revision changes, the user needs to retrigger consents again. But for some reasons (e.g. testing purposes)
478
+ * it should also be possible to dismiss this notice.
479
+ */
480
+ public function ignoreCurrentRetriggers() {
481
+ update_option($this->getDismissedHashOptionName(), $this->getCurrent()['calculated']);
482
+ }
483
  /**
484
  * Get singleton instance.
485
  *
inc/view/Banner.php CHANGED
@@ -32,6 +32,14 @@ use WP_Admin_Bar;
32
  */
33
  class Banner {
34
  use UtilsProvider;
 
 
 
 
 
 
 
 
35
  const ACTION_CLEAR_CURRENT_COOKIE = 'rcb-clear-current-cookie';
36
  const HTML_ATTRIBUTE_SKIP_IF_ACTIVE = 'skip-if-active';
37
  const HTML_ATTRIBUTE_SKIP_WRITE = 'skip-write';
@@ -261,6 +269,10 @@ class Banner {
261
  * See also inlineStyle.tsx#overlay for more information!
262
  */
263
  public function wp_footer() {
 
 
 
 
264
  $customize = $this->getCustomize();
265
  $shouldLoadAssets = $this->shouldLoadAssets(\DevOwl\RealCookieBanner\Assets::$TYPE_FRONTEND);
266
  if ($shouldLoadAssets && !is_customize_preview()) {
32
  */
33
  class Banner {
34
  use UtilsProvider;
35
+ /**
36
+ * The design version is incremented each time, we need to distinguish between some
37
+ * UI elements within our cookie banner and content blockers. For example, in a recent
38
+ * version of Real Cookie Banner we removed the footer for content blockers completely, but
39
+ * to be compliant with our documentation we still want to show footers for older consents
40
+ * in our "List of consents".
41
+ */
42
+ const DESIGN_VERSION = 2;
43
  const ACTION_CLEAR_CURRENT_COOKIE = 'rcb-clear-current-cookie';
44
  const HTML_ATTRIBUTE_SKIP_IF_ACTIVE = 'skip-if-active';
45
  const HTML_ATTRIBUTE_SKIP_WRITE = 'skip-write';
269
  * See also inlineStyle.tsx#overlay for more information!
270
  */
271
  public function wp_footer() {
272
+ // Some themes or caching mechanism lead to output the footer multiple times.
273
+ // Instead of finding the root cause itself, we could workaround this. In our case,
274
+ // the `div[id]` should be available only once.
275
+ remove_action('wp_footer', [$this, 'wp_footer']);
276
  $customize = $this->getCustomize();
277
  $shouldLoadAssets = $this->shouldLoadAssets(\DevOwl\RealCookieBanner\Assets::$TYPE_FRONTEND);
278
  if ($shouldLoadAssets && !is_customize_preview()) {
inc/view/Blocker.php CHANGED
@@ -4,6 +4,7 @@ namespace DevOwl\RealCookieBanner\view;
4
 
5
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\AbstractBlockable;
6
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\HeadlessContentBlocker;
 
7
  use DevOwl\RealCookieBanner\base\UtilsProvider;
8
  use DevOwl\RealCookieBanner\Core;
9
  use DevOwl\RealCookieBanner\Localization;
@@ -57,6 +58,16 @@ class Blocker {
57
  public function getHeadlessContentBlocker() {
58
  if ($this->headlessContentBlocker === null) {
59
  $headlessContentBlocker = new \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\HeadlessContentBlocker();
 
 
 
 
 
 
 
 
 
 
60
  // This is our custom Real Cookie Banner plugin (runs hooks, adds standard plugins, adds theme / plugin compatibilities, ...)
61
  $headlessContentBlocker->addPlugin(\DevOwl\RealCookieBanner\view\blocker\Plugin::class);
62
  $headlessContentBlocker->addBlockables($this->createBlockables());
4
 
5
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\AbstractBlockable;
6
  use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\HeadlessContentBlocker;
7
+ use DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\ScriptInlineExtractExternalUrl;
8
  use DevOwl\RealCookieBanner\base\UtilsProvider;
9
  use DevOwl\RealCookieBanner\Core;
10
  use DevOwl\RealCookieBanner\Localization;
58
  public function getHeadlessContentBlocker() {
59
  if ($this->headlessContentBlocker === null) {
60
  $headlessContentBlocker = new \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\HeadlessContentBlocker();
61
+ if (
62
+ \DevOwl\RealCookieBanner\Core::getInstance()
63
+ ->getScanner()
64
+ ->isActive()
65
+ ) {
66
+ // This plugin needs to be available before our custom hooks fired in `Plugin`
67
+ $headlessContentBlocker->addPlugin(
68
+ \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlocker\plugins\ScriptInlineExtractExternalUrl::class
69
+ );
70
+ }
71
  // This is our custom Real Cookie Banner plugin (runs hooks, adds standard plugins, adds theme / plugin compatibilities, ...)
72
  $headlessContentBlocker->addPlugin(\DevOwl\RealCookieBanner\view\blocker\Plugin::class);
73
  $headlessContentBlocker->addBlockables($this->createBlockables());
inc/view/blocker/Plugin.php CHANGED
@@ -93,7 +93,9 @@ class Plugin extends \DevOwl\RealCookieBanner\Vendor\DevOwl\HeadlessContentBlock
93
  // [Plugin Comp] https://wordpress.org/plugins/groovy-menu-free/
94
  'groovyMenuSettings',
95
  // [Plugin Comp] https://wordpress.org/plugins/meow-lightbox/
96
- 'mwl_data'
 
 
97
  ]);
98
  $cb->setInlineStyleDummyUrlPath(plugins_url('public/images/', RCB_FILE));
99
  // Other plugins
93
  // [Plugin Comp] https://wordpress.org/plugins/groovy-menu-free/
94
  'groovyMenuSettings',
95
  // [Plugin Comp] https://wordpress.org/plugins/meow-lightbox/
96
+ 'mwl_data',
97
+ // [Plugin Comp] https://wpadvancedads.com/
98
+ 'advads_tracking_ads'
99
  ]);
100
  $cb->setInlineStyleDummyUrlPath(plugins_url('public/images/', RCB_FILE));
101
  // Other plugins
index.php CHANGED
@@ -8,7 +8,7 @@
8
  * Description: Obtain GDPR (DSGVO) and ePrivacy (EU cookie law) compliant opt-in consent. Find cookies and fill all legal information in your cookie banner. More than just a cookie notice!
9
  * Author: devowl.io
10
  * Author URI: https://devowl.io
11
- * Version: 2.11.0
12
  * Text Domain: real-cookie-banner
13
  * Domain Path: /languages
14
  */
8
  * Description: Obtain GDPR (DSGVO) and ePrivacy (EU cookie law) compliant opt-in consent. Find cookies and fill all legal information in your cookie banner. More than just a cookie notice!
9
  * Author: devowl.io
10
  * Author URI: https://devowl.io
11
+ * Version: 2.11.1
12
  * Text Domain: real-cookie-banner
13
  * Domain Path: /languages
14
  */
languages/real-cookie-banner-de_AT.mo CHANGED
Binary file
languages/real-cookie-banner-de_AT.po CHANGED
@@ -2,10 +2,10 @@ msgid ""
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
- "PO-Revision-Date: 2021-12-01 07:07+0000\n"
6
  "Last-Translator: Jan Karres <jan.karres@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/"
8
- "wordpress-real-cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_AT\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -1212,7 +1212,7 @@ msgid ""
1212
  msgstr ""
1213
  "Füge ein leeres div-Element mit der definierten HTML-ID irgendwo auf deiner "
1214
  "Webseite ein, wo das Widget nach Einwilligung des Nutzers erscheinen soll (z."
1215
- "B. <code>&lt;div id=“amzn-widget”>&lt;/div></code> in der Sidebar deines "
1216
  "Blogs)."
1217
 
1218
  #: inc/overrides/pro/presets/AmazonAssociatesWidgetPreset.php:1
@@ -1450,25 +1450,6 @@ msgstr ""
1450
  "Links zum Teilen des Inhalts in verschiedenen sozialen Netzwerken wurden "
1451
  "blockiert, weil du das Laden nicht erlaubst."
1452
 
1453
- #: inc/overrides/pro/presets/blocker/AnchorFmPreset.php:1
1454
- msgid ""
1455
- "Audio from Anchor has been blocked because you did not allow to load it."
1456
- msgstr ""
1457
- "Audio von Anchor wurde blockiert, weil du das Laden nicht erlaubt hast."
1458
-
1459
- #: inc/overrides/pro/presets/blocker/AppleMusicPreset.php:1
1460
- msgid ""
1461
- "Music from Apple Music has been blocked because you did not allow to load it."
1462
- msgstr ""
1463
- "Musik von Apple Music wurde blockiert, weil du das Laden nicht erlaubt hast."
1464
-
1465
- #: inc/overrides/pro/presets/blocker/BingMapsPreset.php:1
1466
- msgid ""
1467
- "A map from Bing Maps has been blocked because you did not allow to load it."
1468
- msgstr ""
1469
- "Eine Karte von Bing Maps wurde blockiert, weil du das Laden der Karte nicht "
1470
- "erlaubt hast."
1471
-
1472
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1473
  msgid "Caldera Forms with Google reCAPTCHA"
1474
  msgstr "Caldera Forms mit Google reCAPTCHA"
@@ -1497,46 +1478,10 @@ msgstr ""
1497
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1498
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1499
 
1500
- #: inc/overrides/pro/presets/blocker/CustomFacebookFeedPreset.php:1
1501
- msgid ""
1502
- "A feed from facebook.com has been blocked because you did not allow to load "
1503
- "it."
1504
- msgstr ""
1505
- "Ein eingebetteter Feed von facebook.com wurde blockiert, da du nicht erlaubt "
1506
- "hast, diesen zu laden."
1507
-
1508
- #: inc/overrides/pro/presets/blocker/CustomTwitterFeedPreset.php:1
1509
- msgid ""
1510
- "A tweet feed from Twitter has been blocked because you did not allow to load "
1511
- "it."
1512
- msgstr ""
1513
- "Ein Tweet-Feed von Twitter wurde blockiert, da du nicht erlaubt hast, diesen "
1514
- "zu laden."
1515
-
1516
- #: inc/overrides/pro/presets/blocker/DailymotionPreset.php:1
1517
- msgid ""
1518
- "Video from Dailymotion has been blocked because you did not allow to load it."
1519
- msgstr ""
1520
- "Video von Dailymotion wurde blockiert, weil du das Laden des Videos nicht "
1521
- "erlaubt hast."
1522
-
1523
- #: inc/overrides/pro/presets/blocker/DiscordWidgetPreset.php:1
1524
- msgid ""
1525
- "Widget from Discord has been blocked because you did not allow to load it."
1526
- msgstr ""
1527
- "Widget von Discord wurden blockiert, weil du nicht erlaubt hast, es zu laden."
1528
-
1529
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1530
  msgid "Elementor Forms with Google reCAPTCHA"
1531
  msgstr "Elementor Forms mit Google reCAPTCHA"
1532
 
1533
- #: inc/overrides/pro/presets/blocker/FacebookLikePreset.php:1
1534
- msgid ""
1535
- "Facebook Like Button has been blocked because you did not allow to load it."
1536
- msgstr ""
1537
- "Facebook Like Button wurde blockiert, da du nicht erlaubt hast, diesen zu "
1538
- "laden."
1539
-
1540
  #: inc/overrides/pro/presets/blocker/FacebookPagePluginPreset.php:1
1541
  msgid ""
1542
  "Information about a Facebook Page has been blocked because you did not allow "
@@ -1545,27 +1490,6 @@ msgstr ""
1545
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1546
  "hast, diese zu laden."
1547
 
1548
- #: inc/overrides/pro/presets/blocker/FacebookPostPreset.php:1
1549
- msgid ""
1550
- "An embedded post from facebook.com has been blocked because you did not "
1551
- "allow to load it."
1552
- msgstr ""
1553
- "Ein eingebetteter Beitrag von facebook.com wurde blockiert, da du nicht "
1554
- "erlaubt hast, diesen zu laden."
1555
-
1556
- #: inc/overrides/pro/presets/blocker/FacebookSharePreset.php:1
1557
- msgid ""
1558
- "Facebook Share Button has been blocked because you did not allow to load it."
1559
- msgstr ""
1560
- "Facebook Share Button wurde blockiert, da du nicht erlaubt hast, diesen zu "
1561
- "laden."
1562
-
1563
- #: inc/overrides/pro/presets/blocker/FlickrPreset.php:1
1564
- msgid ""
1565
- "An image from Flickr has been blocked because you did not allow to load it."
1566
- msgstr ""
1567
- "Ein Bild von Flickr wurde blockiert, da du nicht erlaubt hast, es zu laden."
1568
-
1569
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1570
  msgid "Formidable with Google reCAPTCHA"
1571
  msgstr "Formidable mit Google reCAPTCHA"
@@ -1582,49 +1506,6 @@ msgstr ""
1582
  "Wir würden dir gerne Attraktionen, Touren und Führungen von GetYourGuide "
1583
  "zeigen. Dafür musst du uns aber erlauben, den GetYourGuide Service zu nutzen."
1584
 
1585
- #: inc/overrides/pro/presets/blocker/GiphyPreset.php:1
1586
- msgid ""
1587
- "Content from Giphy has been blocked because you did not allow to load it."
1588
- msgstr ""
1589
- "Inhalte von Giphy wurden blockiert, weil du das Laden nicht erlaubt hast."
1590
-
1591
- #: inc/overrides/pro/presets/blocker/GoogleMapsPreset.php:1
1592
- msgid ""
1593
- "A map from Google Maps has been blocked because you did not allow to load it."
1594
- msgstr ""
1595
- "Eine Karte von Google Maps wurde blockiert, da du nicht erlaubt hast, sie zu "
1596
- "laden."
1597
-
1598
- #: inc/overrides/pro/presets/blocker/GoogleTrendsPreset.php:1
1599
- msgid ""
1600
- "Search trends chart from Google Trends has been blocked because you did not "
1601
- "allow to load it."
1602
- msgstr ""
1603
- "Die Suchtrends Charts von Google Trends wurde blockiert, weil du nicht "
1604
- "erlaubt hast, sie zu laden."
1605
-
1606
- #: inc/overrides/pro/presets/blocker/ImgurPreset.php:1
1607
- msgid ""
1608
- "Content from Imgur has been blocked because you did not allow to load it."
1609
- msgstr ""
1610
- "Inhalt von Imgur wurde blockiert, da du nicht erlaubt hast, ihn zu laden."
1611
-
1612
- #: inc/overrides/pro/presets/blocker/InstagramPostPreset.php:1
1613
- msgid ""
1614
- "An image or video from Instagram has been blocked because you did not allow "
1615
- "to load it."
1616
- msgstr ""
1617
- "Ein Bild oder Video aus Instagram wurde blockiert, da du nicht erlaubt hast, "
1618
- "ihn zu laden."
1619
-
1620
- #: inc/overrides/pro/presets/blocker/IssuuPreset.php:1
1621
- msgid ""
1622
- "Documents from issuu.com has been blocked because you did not allow to load "
1623
- "it."
1624
- msgstr ""
1625
- "Dokumente von issuu.com wurden blockiert, weil du nicht erlaubt hast, sie zu "
1626
- "laden."
1627
-
1628
  #: inc/overrides/pro/presets/blocker/KomootPreset.php:1
1629
  msgid ""
1630
  "The tour, shown on a map from Komoot, could not be loaded because you did "
@@ -1633,10 +1514,6 @@ msgstr ""
1633
  "Die Tour, verzeichnet auf einer Karte von Komoot, konnte nicht geladen "
1634
  "werden, da du nicht zugestimmt hast den Service zu laden."
1635
 
1636
- #: inc/overrides/pro/presets/blocker/LoomPreset.php:1
1637
- msgid "Video from Loom has been blocked because you did not allow to load it."
1638
- msgstr "Video von Loom wurde blockiert, weil du das Laden nicht erlaubt hast."
1639
-
1640
  #: inc/overrides/pro/presets/blocker/MailerLitePreset.php:1
1641
  msgid ""
1642
  "The email newsletter subscription form is blocked because you have not "
@@ -1658,27 +1535,6 @@ msgstr ""
1658
  msgid "Ninja Forms with Google reCAPTCHA"
1659
  msgstr "Ninja Forms mit Google reCAPTCHA"
1660
 
1661
- #: inc/overrides/pro/presets/blocker/OpenStreetMapPreset.php:1
1662
- msgid ""
1663
- "A map from OpenStreetMap has been blocked because you did not allow to load "
1664
- "it."
1665
- msgstr ""
1666
- "Karte von OpenStreetMap wurde blockiert, weil du nicht erlaubt hast, sie zu "
1667
- "laden."
1668
-
1669
- #: inc/overrides/pro/presets/blocker/PinterestPreset.php:1
1670
- msgid ""
1671
- "Content from Pinterest has been blocked because you did not allow to load it."
1672
- msgstr ""
1673
- "Inhalt von Pinterest wurde blockiert, da du nicht erlaubt hast, ihn zu laden."
1674
-
1675
- #: inc/overrides/pro/presets/blocker/PodigeePreset.php:1
1676
- msgid ""
1677
- "A podcast from Podigee has been blocked because you did not allow to load it."
1678
- msgstr ""
1679
- "Ein Podcast von Podigee wurde blockiert, weil du nicht erlaubt hast ihn zu "
1680
- "laden."
1681
-
1682
  #: inc/overrides/pro/presets/blocker/ProvenExpertWidgetPreset.php:1
1683
  msgid ""
1684
  "Widget that shows ratings on Proven Expert has been blocked because you did "
@@ -1691,14 +1547,6 @@ msgstr ""
1691
  msgid "Quform with Google reCAPTCHA"
1692
  msgstr "Quform mit Google reCAPTCHA"
1693
 
1694
- #: inc/overrides/pro/presets/blocker/RedditPreset.php:1
1695
- msgid ""
1696
- "An embedded post from reddit.com has been blocked because you did not allow "
1697
- "to load it."
1698
- msgstr ""
1699
- "Ein eingebetteter Beitrag von reddit.com wurde blockiert, weil du das Laden "
1700
- "des Beitrags nicht erlaubt hast."
1701
-
1702
  #: inc/overrides/pro/presets/blocker/SendinbluePreset.php:1
1703
  msgid ""
1704
  "The email newsletter subscription form is blocked because you have not "
@@ -1707,18 +1555,6 @@ msgstr ""
1707
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du das Laden "
1708
  "unseres E-Mail-Marketing-Anbieters Sendinblue nicht erlaubt hast."
1709
 
1710
- #: inc/overrides/pro/presets/blocker/SoundCloudPreset.php:1
1711
- msgid ""
1712
- "Audio from SoundCloud has been blocked because you did not allow to load it."
1713
- msgstr ""
1714
- "Audio von SoundCloud wurde blockiert, da du nicht erlaubt hast, es zu laden."
1715
-
1716
- #: inc/overrides/pro/presets/blocker/SpotifyPreset.php:1
1717
- msgid ""
1718
- "Music from Spotify has been blocked because you did not allow to load it."
1719
- msgstr ""
1720
- "Musik von Spotify wurde blockiert, weil du das Laden nicht erlaubt hast."
1721
-
1722
  #: inc/overrides/pro/presets/blocker/ThriveLeadsPreset.php:1
1723
  msgid ""
1724
  "We would like to offer you to subscribe to our newsletter. To do so, you "
@@ -1727,20 +1563,6 @@ msgstr ""
1727
  "Wir würden dir gerne anbieten unseren Newsletter zu abonnieren. Dazu "
1728
  "müsstest du uns erlauben, den Service Thrive Leads zu verwenden."
1729
 
1730
- #: inc/overrides/pro/presets/blocker/TikTokPreset.php:1
1731
- msgid ""
1732
- "Video from TikTok has been blocked because you did not allow to load it."
1733
- msgstr ""
1734
- "Video von TikTok wurde blockiert, da du das Laden des Videos nicht erlaubt "
1735
- "hast."
1736
-
1737
- #: inc/overrides/pro/presets/blocker/TwitterTweetPreset.php:1
1738
- msgid ""
1739
- "A tweet from Twitter has been blocked because you did not allow to load it."
1740
- msgstr ""
1741
- "Ein Tweet von Twitter wurde blockiert, da du nicht erlaubt hast, ihn zu "
1742
- "laden."
1743
-
1744
  #: inc/overrides/pro/presets/blocker/TypeformPreset.php:1
1745
  msgid ""
1746
  "We use the Typeform service to insert forms on our websites. In order to use "
@@ -1750,11 +1572,6 @@ msgstr ""
1750
  "einzufügen. Um das Formular nutzen zu können, musst du diesem Service "
1751
  "erlauben, zu laden."
1752
 
1753
- #: inc/overrides/pro/presets/blocker/VimeoPreset.php:1
1754
- msgid "Video from Vimeo has been blocked because you did not allow to load it."
1755
- msgstr ""
1756
- "Video von Vimeo wurde blockiert, da du nicht erlaubt hast, es zu laden."
1757
-
1758
  #: inc/overrides/pro/presets/blocker/WPFormsPreset.php:1
1759
  msgid "WPForms with Google reCAPTCHA"
1760
  msgstr "WPForms mit Google reCAPTCHA"
@@ -4973,12 +4790,6 @@ msgstr ""
4973
  "Um dich einzuloggen, musst du uns aus Sicherheits- und Komfort-Gründen "
4974
  "erlauben, zusätzliche Services zu laden."
4975
 
4976
- #: inc/presets/free/blocker/YoutubePreset.php:1
4977
- msgid ""
4978
- "Video from YouTube has been blocked because you did not allow to load it."
4979
- msgstr ""
4980
- "Das Video von YouTube wurde blockiert, da du das Laden nicht erlaubt hast."
4981
-
4982
  #: inc/presets/free/ElementorPreset.php:1
4983
  msgid ""
4984
  "Elementor is a software used to create the layout of this website. Cookies "
@@ -6875,6 +6686,186 @@ msgstr "Bitte gib ein `text`-Attribut in deinem Shortcode an!"
6875
  msgid "Please provide a `type` attribute in your shortcode. Allowed: %s!"
6876
  msgstr "Bitte gib in deinem Shortcode das Attribut `type` an. Erlaubt: %s!"
6877
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6878
  #~ msgid ""
6879
  #~ "Real Cookie Banner asks the user to consent to the cookies used on this "
6880
  #~ "website. The cookies store the UUID (pseudonym identification of the "
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
+ "PO-Revision-Date: 2021-12-09 18:39+0000\n"
6
  "Last-Translator: Jan Karres <jan.karres@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/wordpress-real-"
8
+ "cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_AT\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
1212
  msgstr ""
1213
  "Füge ein leeres div-Element mit der definierten HTML-ID irgendwo auf deiner "
1214
  "Webseite ein, wo das Widget nach Einwilligung des Nutzers erscheinen soll (z."
1215
+ "B. <code>&lt;div id=\"amzn-widget\">&lt;/div></code> in der Sidebar deines "
1216
  "Blogs)."
1217
 
1218
  #: inc/overrides/pro/presets/AmazonAssociatesWidgetPreset.php:1
1450
  "Links zum Teilen des Inhalts in verschiedenen sozialen Netzwerken wurden "
1451
  "blockiert, weil du das Laden nicht erlaubst."
1452
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1453
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1454
  msgid "Caldera Forms with Google reCAPTCHA"
1455
  msgstr "Caldera Forms mit Google reCAPTCHA"
1478
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1479
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1480
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1481
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1482
  msgid "Elementor Forms with Google reCAPTCHA"
1483
  msgstr "Elementor Forms mit Google reCAPTCHA"
1484
 
 
 
 
 
 
 
 
1485
  #: inc/overrides/pro/presets/blocker/FacebookPagePluginPreset.php:1
1486
  msgid ""
1487
  "Information about a Facebook Page has been blocked because you did not allow "
1490
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1491
  "hast, diese zu laden."
1492
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1493
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1494
  msgid "Formidable with Google reCAPTCHA"
1495
  msgstr "Formidable mit Google reCAPTCHA"
1506
  "Wir würden dir gerne Attraktionen, Touren und Führungen von GetYourGuide "
1507
  "zeigen. Dafür musst du uns aber erlauben, den GetYourGuide Service zu nutzen."
1508
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1509
  #: inc/overrides/pro/presets/blocker/KomootPreset.php:1
1510
  msgid ""
1511
  "The tour, shown on a map from Komoot, could not be loaded because you did "
1514
  "Die Tour, verzeichnet auf einer Karte von Komoot, konnte nicht geladen "
1515
  "werden, da du nicht zugestimmt hast den Service zu laden."
1516
 
 
 
 
 
1517
  #: inc/overrides/pro/presets/blocker/MailerLitePreset.php:1
1518
  msgid ""
1519
  "The email newsletter subscription form is blocked because you have not "
1535
  msgid "Ninja Forms with Google reCAPTCHA"
1536
  msgstr "Ninja Forms mit Google reCAPTCHA"
1537
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1538
  #: inc/overrides/pro/presets/blocker/ProvenExpertWidgetPreset.php:1
1539
  msgid ""
1540
  "Widget that shows ratings on Proven Expert has been blocked because you did "
1547
  msgid "Quform with Google reCAPTCHA"
1548
  msgstr "Quform mit Google reCAPTCHA"
1549
 
 
 
 
 
 
 
 
 
1550
  #: inc/overrides/pro/presets/blocker/SendinbluePreset.php:1
1551
  msgid ""
1552
  "The email newsletter subscription form is blocked because you have not "
1555
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du das Laden "
1556
  "unseres E-Mail-Marketing-Anbieters Sendinblue nicht erlaubt hast."
1557
 
 
 
 
 
 
 
 
 
 
 
 
 
1558
  #: inc/overrides/pro/presets/blocker/ThriveLeadsPreset.php:1
1559
  msgid ""
1560
  "We would like to offer you to subscribe to our newsletter. To do so, you "
1563
  "Wir würden dir gerne anbieten unseren Newsletter zu abonnieren. Dazu "
1564
  "müsstest du uns erlauben, den Service Thrive Leads zu verwenden."
1565
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1566
  #: inc/overrides/pro/presets/blocker/TypeformPreset.php:1
1567
  msgid ""
1568
  "We use the Typeform service to insert forms on our websites. In order to use "
1572
  "einzufügen. Um das Formular nutzen zu können, musst du diesem Service "
1573
  "erlauben, zu laden."
1574
 
 
 
 
 
 
1575
  #: inc/overrides/pro/presets/blocker/WPFormsPreset.php:1
1576
  msgid "WPForms with Google reCAPTCHA"
1577
  msgstr "WPForms mit Google reCAPTCHA"
4790
  "Um dich einzuloggen, musst du uns aus Sicherheits- und Komfort-Gründen "
4791
  "erlauben, zusätzliche Services zu laden."
4792
 
 
 
 
 
 
 
4793
  #: inc/presets/free/ElementorPreset.php:1
4794
  msgid ""
4795
  "Elementor is a software used to create the layout of this website. Cookies "
6686
  msgid "Please provide a `type` attribute in your shortcode. Allowed: %s!"
6687
  msgstr "Bitte gib in deinem Shortcode das Attribut `type` an. Erlaubt: %s!"
6688
 
6689
+ #~ msgid ""
6690
+ #~ "Audio from Anchor has been blocked because you did not allow to load it."
6691
+ #~ msgstr ""
6692
+ #~ "Audio von Anchor wurde blockiert, weil du das Laden nicht erlaubt hast."
6693
+
6694
+ #~ msgid ""
6695
+ #~ "Music from Apple Music has been blocked because you did not allow to load "
6696
+ #~ "it."
6697
+ #~ msgstr ""
6698
+ #~ "Musik von Apple Music wurde blockiert, weil du das Laden nicht erlaubt "
6699
+ #~ "hast."
6700
+
6701
+ #~ msgid ""
6702
+ #~ "A map from Bing Maps has been blocked because you did not allow to load "
6703
+ #~ "it."
6704
+ #~ msgstr ""
6705
+ #~ "Eine Karte von Bing Maps wurde blockiert, weil du das Laden der Karte "
6706
+ #~ "nicht erlaubt hast."
6707
+
6708
+ #~ msgid ""
6709
+ #~ "A feed from facebook.com has been blocked because you did not allow to "
6710
+ #~ "load it."
6711
+ #~ msgstr ""
6712
+ #~ "Ein eingebetteter Feed von facebook.com wurde blockiert, da du nicht "
6713
+ #~ "erlaubt hast, diesen zu laden."
6714
+
6715
+ #~ msgid ""
6716
+ #~ "A tweet feed from Twitter has been blocked because you did not allow to "
6717
+ #~ "load it."
6718
+ #~ msgstr ""
6719
+ #~ "Ein Tweet-Feed von Twitter wurde blockiert, da du nicht erlaubt hast, "
6720
+ #~ "diesen zu laden."
6721
+
6722
+ #~ msgid ""
6723
+ #~ "Video from Dailymotion has been blocked because you did not allow to load "
6724
+ #~ "it."
6725
+ #~ msgstr ""
6726
+ #~ "Video von Dailymotion wurde blockiert, weil du das Laden des Videos nicht "
6727
+ #~ "erlaubt hast."
6728
+
6729
+ #~ msgid ""
6730
+ #~ "Widget from Discord has been blocked because you did not allow to load it."
6731
+ #~ msgstr ""
6732
+ #~ "Widget von Discord wurden blockiert, weil du nicht erlaubt hast, es zu "
6733
+ #~ "laden."
6734
+
6735
+ #~ msgid ""
6736
+ #~ "Facebook Like Button has been blocked because you did not allow to load "
6737
+ #~ "it."
6738
+ #~ msgstr ""
6739
+ #~ "Facebook Like Button wurde blockiert, da du nicht erlaubt hast, diesen zu "
6740
+ #~ "laden."
6741
+
6742
+ #~ msgid ""
6743
+ #~ "An embedded post from facebook.com has been blocked because you did not "
6744
+ #~ "allow to load it."
6745
+ #~ msgstr ""
6746
+ #~ "Ein eingebetteter Beitrag von facebook.com wurde blockiert, da du nicht "
6747
+ #~ "erlaubt hast, diesen zu laden."
6748
+
6749
+ #~ msgid ""
6750
+ #~ "Facebook Share Button has been blocked because you did not allow to load "
6751
+ #~ "it."
6752
+ #~ msgstr ""
6753
+ #~ "Facebook Share Button wurde blockiert, da du nicht erlaubt hast, diesen "
6754
+ #~ "zu laden."
6755
+
6756
+ #~ msgid ""
6757
+ #~ "An image from Flickr has been blocked because you did not allow to load "
6758
+ #~ "it."
6759
+ #~ msgstr ""
6760
+ #~ "Ein Bild von Flickr wurde blockiert, da du nicht erlaubt hast, es zu "
6761
+ #~ "laden."
6762
+
6763
+ #~ msgid ""
6764
+ #~ "Content from Giphy has been blocked because you did not allow to load it."
6765
+ #~ msgstr ""
6766
+ #~ "Inhalte von Giphy wurden blockiert, weil du das Laden nicht erlaubt hast."
6767
+
6768
+ #~ msgid ""
6769
+ #~ "A map from Google Maps has been blocked because you did not allow to load "
6770
+ #~ "it."
6771
+ #~ msgstr ""
6772
+ #~ "Eine Karte von Google Maps wurde blockiert, da du nicht erlaubt hast, sie "
6773
+ #~ "zu laden."
6774
+
6775
+ #~ msgid ""
6776
+ #~ "Search trends chart from Google Trends has been blocked because you did "
6777
+ #~ "not allow to load it."
6778
+ #~ msgstr ""
6779
+ #~ "Die Suchtrends Charts von Google Trends wurde blockiert, weil du nicht "
6780
+ #~ "erlaubt hast, sie zu laden."
6781
+
6782
+ #~ msgid ""
6783
+ #~ "Content from Imgur has been blocked because you did not allow to load it."
6784
+ #~ msgstr ""
6785
+ #~ "Inhalt von Imgur wurde blockiert, da du nicht erlaubt hast, ihn zu laden."
6786
+
6787
+ #~ msgid ""
6788
+ #~ "An image or video from Instagram has been blocked because you did not "
6789
+ #~ "allow to load it."
6790
+ #~ msgstr ""
6791
+ #~ "Ein Bild oder Video aus Instagram wurde blockiert, da du nicht erlaubt "
6792
+ #~ "hast, ihn zu laden."
6793
+
6794
+ #~ msgid ""
6795
+ #~ "Documents from issuu.com has been blocked because you did not allow to "
6796
+ #~ "load it."
6797
+ #~ msgstr ""
6798
+ #~ "Dokumente von issuu.com wurden blockiert, weil du nicht erlaubt hast, sie "
6799
+ #~ "zu laden."
6800
+
6801
+ #~ msgid ""
6802
+ #~ "Video from Loom has been blocked because you did not allow to load it."
6803
+ #~ msgstr ""
6804
+ #~ "Video von Loom wurde blockiert, weil du das Laden nicht erlaubt hast."
6805
+
6806
+ #~ msgid ""
6807
+ #~ "A map from OpenStreetMap has been blocked because you did not allow to "
6808
+ #~ "load it."
6809
+ #~ msgstr ""
6810
+ #~ "Karte von OpenStreetMap wurde blockiert, weil du nicht erlaubt hast, sie "
6811
+ #~ "zu laden."
6812
+
6813
+ #~ msgid ""
6814
+ #~ "Content from Pinterest has been blocked because you did not allow to load "
6815
+ #~ "it."
6816
+ #~ msgstr ""
6817
+ #~ "Inhalt von Pinterest wurde blockiert, da du nicht erlaubt hast, ihn zu "
6818
+ #~ "laden."
6819
+
6820
+ #~ msgid ""
6821
+ #~ "A podcast from Podigee has been blocked because you did not allow to load "
6822
+ #~ "it."
6823
+ #~ msgstr ""
6824
+ #~ "Ein Podcast von Podigee wurde blockiert, weil du nicht erlaubt hast ihn "
6825
+ #~ "zu laden."
6826
+
6827
+ #~ msgid ""
6828
+ #~ "An embedded post from reddit.com has been blocked because you did not "
6829
+ #~ "allow to load it."
6830
+ #~ msgstr ""
6831
+ #~ "Ein eingebetteter Beitrag von reddit.com wurde blockiert, weil du das "
6832
+ #~ "Laden des Beitrags nicht erlaubt hast."
6833
+
6834
+ #~ msgid ""
6835
+ #~ "Audio from SoundCloud has been blocked because you did not allow to load "
6836
+ #~ "it."
6837
+ #~ msgstr ""
6838
+ #~ "Audio von SoundCloud wurde blockiert, da du nicht erlaubt hast, es zu "
6839
+ #~ "laden."
6840
+
6841
+ #~ msgid ""
6842
+ #~ "Music from Spotify has been blocked because you did not allow to load it."
6843
+ #~ msgstr ""
6844
+ #~ "Musik von Spotify wurde blockiert, weil du das Laden nicht erlaubt hast."
6845
+
6846
+ #~ msgid ""
6847
+ #~ "Video from TikTok has been blocked because you did not allow to load it."
6848
+ #~ msgstr ""
6849
+ #~ "Video von TikTok wurde blockiert, da du das Laden des Videos nicht "
6850
+ #~ "erlaubt hast."
6851
+
6852
+ #~ msgid ""
6853
+ #~ "A tweet from Twitter has been blocked because you did not allow to load "
6854
+ #~ "it."
6855
+ #~ msgstr ""
6856
+ #~ "Ein Tweet von Twitter wurde blockiert, da du nicht erlaubt hast, ihn zu "
6857
+ #~ "laden."
6858
+
6859
+ #~ msgid ""
6860
+ #~ "Video from Vimeo has been blocked because you did not allow to load it."
6861
+ #~ msgstr ""
6862
+ #~ "Video von Vimeo wurde blockiert, da du nicht erlaubt hast, es zu laden."
6863
+
6864
+ #~ msgid ""
6865
+ #~ "Video from YouTube has been blocked because you did not allow to load it."
6866
+ #~ msgstr ""
6867
+ #~ "Das Video von YouTube wurde blockiert, da du das Laden nicht erlaubt hast."
6868
+
6869
  #~ msgid ""
6870
  #~ "Real Cookie Banner asks the user to consent to the cookies used on this "
6871
  #~ "website. The cookies store the UUID (pseudonym identification of the "
languages/real-cookie-banner-de_CH.mo CHANGED
Binary file
languages/real-cookie-banner-de_CH.po CHANGED
@@ -2,10 +2,10 @@ msgid ""
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
- "PO-Revision-Date: 2021-12-01 07:07+0000\n"
6
  "Last-Translator: Jan Karres <jan.karres@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/"
8
- "wordpress-real-cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_CH\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -1212,7 +1212,7 @@ msgid ""
1212
  msgstr ""
1213
  "Füge ein leeres div-Element mit der definierten HTML-ID irgendwo auf deiner "
1214
  "Webseite ein, wo das Widget nach Einwilligung des Nutzers erscheinen soll (z."
1215
- "B. <code>&lt;div id=“amzn-widget”>&lt;/div></code> in der Sidebar deines "
1216
  "Blogs)."
1217
 
1218
  #: inc/overrides/pro/presets/AmazonAssociatesWidgetPreset.php:1
@@ -1450,25 +1450,6 @@ msgstr ""
1450
  "Links zum Teilen des Inhalts in verschiedenen sozialen Netzwerken wurden "
1451
  "blockiert, weil du das Laden nicht erlaubst."
1452
 
1453
- #: inc/overrides/pro/presets/blocker/AnchorFmPreset.php:1
1454
- msgid ""
1455
- "Audio from Anchor has been blocked because you did not allow to load it."
1456
- msgstr ""
1457
- "Audio von Anchor wurde blockiert, weil du das Laden nicht erlaubt hast."
1458
-
1459
- #: inc/overrides/pro/presets/blocker/AppleMusicPreset.php:1
1460
- msgid ""
1461
- "Music from Apple Music has been blocked because you did not allow to load it."
1462
- msgstr ""
1463
- "Musik von Apple Music wurde blockiert, weil du das Laden nicht erlaubt hast."
1464
-
1465
- #: inc/overrides/pro/presets/blocker/BingMapsPreset.php:1
1466
- msgid ""
1467
- "A map from Bing Maps has been blocked because you did not allow to load it."
1468
- msgstr ""
1469
- "Eine Karte von Bing Maps wurde blockiert, weil du das Laden der Karte nicht "
1470
- "erlaubt hast."
1471
-
1472
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1473
  msgid "Caldera Forms with Google reCAPTCHA"
1474
  msgstr "Caldera Forms mit Google reCAPTCHA"
@@ -1497,46 +1478,10 @@ msgstr ""
1497
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1498
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1499
 
1500
- #: inc/overrides/pro/presets/blocker/CustomFacebookFeedPreset.php:1
1501
- msgid ""
1502
- "A feed from facebook.com has been blocked because you did not allow to load "
1503
- "it."
1504
- msgstr ""
1505
- "Ein eingebetteter Feed von facebook.com wurde blockiert, da du nicht erlaubt "
1506
- "hast, diesen zu laden."
1507
-
1508
- #: inc/overrides/pro/presets/blocker/CustomTwitterFeedPreset.php:1
1509
- msgid ""
1510
- "A tweet feed from Twitter has been blocked because you did not allow to load "
1511
- "it."
1512
- msgstr ""
1513
- "Ein Tweet-Feed von Twitter wurde blockiert, da du nicht erlaubt hast, diesen "
1514
- "zu laden."
1515
-
1516
- #: inc/overrides/pro/presets/blocker/DailymotionPreset.php:1
1517
- msgid ""
1518
- "Video from Dailymotion has been blocked because you did not allow to load it."
1519
- msgstr ""
1520
- "Video von Dailymotion wurde blockiert, weil du das Laden des Videos nicht "
1521
- "erlaubt hast."
1522
-
1523
- #: inc/overrides/pro/presets/blocker/DiscordWidgetPreset.php:1
1524
- msgid ""
1525
- "Widget from Discord has been blocked because you did not allow to load it."
1526
- msgstr ""
1527
- "Widget von Discord wurden blockiert, weil du nicht erlaubt hast, es zu laden."
1528
-
1529
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1530
  msgid "Elementor Forms with Google reCAPTCHA"
1531
  msgstr "Elementor Forms mit Google reCAPTCHA"
1532
 
1533
- #: inc/overrides/pro/presets/blocker/FacebookLikePreset.php:1
1534
- msgid ""
1535
- "Facebook Like Button has been blocked because you did not allow to load it."
1536
- msgstr ""
1537
- "Facebook Like Button wurde blockiert, da du nicht erlaubt hast, diesen zu "
1538
- "laden."
1539
-
1540
  #: inc/overrides/pro/presets/blocker/FacebookPagePluginPreset.php:1
1541
  msgid ""
1542
  "Information about a Facebook Page has been blocked because you did not allow "
@@ -1545,27 +1490,6 @@ msgstr ""
1545
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1546
  "hast, diese zu laden."
1547
 
1548
- #: inc/overrides/pro/presets/blocker/FacebookPostPreset.php:1
1549
- msgid ""
1550
- "An embedded post from facebook.com has been blocked because you did not "
1551
- "allow to load it."
1552
- msgstr ""
1553
- "Ein eingebetteter Beitrag von facebook.com wurde blockiert, da du nicht "
1554
- "erlaubt hast, diesen zu laden."
1555
-
1556
- #: inc/overrides/pro/presets/blocker/FacebookSharePreset.php:1
1557
- msgid ""
1558
- "Facebook Share Button has been blocked because you did not allow to load it."
1559
- msgstr ""
1560
- "Facebook Share Button wurde blockiert, da du nicht erlaubt hast, diesen zu "
1561
- "laden."
1562
-
1563
- #: inc/overrides/pro/presets/blocker/FlickrPreset.php:1
1564
- msgid ""
1565
- "An image from Flickr has been blocked because you did not allow to load it."
1566
- msgstr ""
1567
- "Ein Bild von Flickr wurde blockiert, da du nicht erlaubt hast, es zu laden."
1568
-
1569
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1570
  msgid "Formidable with Google reCAPTCHA"
1571
  msgstr "Formidable mit Google reCAPTCHA"
@@ -1582,49 +1506,6 @@ msgstr ""
1582
  "Wir würden dir gerne Attraktionen, Touren und Führungen von GetYourGuide "
1583
  "zeigen. Dafür musst du uns aber erlauben, den GetYourGuide Service zu nutzen."
1584
 
1585
- #: inc/overrides/pro/presets/blocker/GiphyPreset.php:1
1586
- msgid ""
1587
- "Content from Giphy has been blocked because you did not allow to load it."
1588
- msgstr ""
1589
- "Inhalte von Giphy wurden blockiert, weil du das Laden nicht erlaubt hast."
1590
-
1591
- #: inc/overrides/pro/presets/blocker/GoogleMapsPreset.php:1
1592
- msgid ""
1593
- "A map from Google Maps has been blocked because you did not allow to load it."
1594
- msgstr ""
1595
- "Eine Karte von Google Maps wurde blockiert, da du nicht erlaubt hast, sie zu "
1596
- "laden."
1597
-
1598
- #: inc/overrides/pro/presets/blocker/GoogleTrendsPreset.php:1
1599
- msgid ""
1600
- "Search trends chart from Google Trends has been blocked because you did not "
1601
- "allow to load it."
1602
- msgstr ""
1603
- "Die Suchtrends Charts von Google Trends wurde blockiert, weil du nicht "
1604
- "erlaubt hast, sie zu laden."
1605
-
1606
- #: inc/overrides/pro/presets/blocker/ImgurPreset.php:1
1607
- msgid ""
1608
- "Content from Imgur has been blocked because you did not allow to load it."
1609
- msgstr ""
1610
- "Inhalt von Imgur wurde blockiert, da du nicht erlaubt hast, ihn zu laden."
1611
-
1612
- #: inc/overrides/pro/presets/blocker/InstagramPostPreset.php:1
1613
- msgid ""
1614
- "An image or video from Instagram has been blocked because you did not allow "
1615
- "to load it."
1616
- msgstr ""
1617
- "Ein Bild oder Video aus Instagram wurde blockiert, da du nicht erlaubt hast, "
1618
- "ihn zu laden."
1619
-
1620
- #: inc/overrides/pro/presets/blocker/IssuuPreset.php:1
1621
- msgid ""
1622
- "Documents from issuu.com has been blocked because you did not allow to load "
1623
- "it."
1624
- msgstr ""
1625
- "Dokumente von issuu.com wurden blockiert, weil du nicht erlaubt hast, sie zu "
1626
- "laden."
1627
-
1628
  #: inc/overrides/pro/presets/blocker/KomootPreset.php:1
1629
  msgid ""
1630
  "The tour, shown on a map from Komoot, could not be loaded because you did "
@@ -1633,10 +1514,6 @@ msgstr ""
1633
  "Die Tour, verzeichnet auf einer Karte von Komoot, konnte nicht geladen "
1634
  "werden, da du nicht zugestimmt hast den Service zu laden."
1635
 
1636
- #: inc/overrides/pro/presets/blocker/LoomPreset.php:1
1637
- msgid "Video from Loom has been blocked because you did not allow to load it."
1638
- msgstr "Video von Loom wurde blockiert, weil du das Laden nicht erlaubt hast."
1639
-
1640
  #: inc/overrides/pro/presets/blocker/MailerLitePreset.php:1
1641
  msgid ""
1642
  "The email newsletter subscription form is blocked because you have not "
@@ -1658,27 +1535,6 @@ msgstr ""
1658
  msgid "Ninja Forms with Google reCAPTCHA"
1659
  msgstr "Ninja Forms mit Google reCAPTCHA"
1660
 
1661
- #: inc/overrides/pro/presets/blocker/OpenStreetMapPreset.php:1
1662
- msgid ""
1663
- "A map from OpenStreetMap has been blocked because you did not allow to load "
1664
- "it."
1665
- msgstr ""
1666
- "Karte von OpenStreetMap wurde blockiert, weil du nicht erlaubt hast, sie zu "
1667
- "laden."
1668
-
1669
- #: inc/overrides/pro/presets/blocker/PinterestPreset.php:1
1670
- msgid ""
1671
- "Content from Pinterest has been blocked because you did not allow to load it."
1672
- msgstr ""
1673
- "Inhalt von Pinterest wurde blockiert, da du nicht erlaubt hast, ihn zu laden."
1674
-
1675
- #: inc/overrides/pro/presets/blocker/PodigeePreset.php:1
1676
- msgid ""
1677
- "A podcast from Podigee has been blocked because you did not allow to load it."
1678
- msgstr ""
1679
- "Ein Podcast von Podigee wurde blockiert, weil du nicht erlaubt hast ihn zu "
1680
- "laden."
1681
-
1682
  #: inc/overrides/pro/presets/blocker/ProvenExpertWidgetPreset.php:1
1683
  msgid ""
1684
  "Widget that shows ratings on Proven Expert has been blocked because you did "
@@ -1691,14 +1547,6 @@ msgstr ""
1691
  msgid "Quform with Google reCAPTCHA"
1692
  msgstr "Quform mit Google reCAPTCHA"
1693
 
1694
- #: inc/overrides/pro/presets/blocker/RedditPreset.php:1
1695
- msgid ""
1696
- "An embedded post from reddit.com has been blocked because you did not allow "
1697
- "to load it."
1698
- msgstr ""
1699
- "Ein eingebetteter Beitrag von reddit.com wurde blockiert, weil du das Laden "
1700
- "des Beitrags nicht erlaubt hast."
1701
-
1702
  #: inc/overrides/pro/presets/blocker/SendinbluePreset.php:1
1703
  msgid ""
1704
  "The email newsletter subscription form is blocked because you have not "
@@ -1707,18 +1555,6 @@ msgstr ""
1707
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du das Laden "
1708
  "unseres E-Mail-Marketing-Anbieters Sendinblue nicht erlaubt hast."
1709
 
1710
- #: inc/overrides/pro/presets/blocker/SoundCloudPreset.php:1
1711
- msgid ""
1712
- "Audio from SoundCloud has been blocked because you did not allow to load it."
1713
- msgstr ""
1714
- "Audio von SoundCloud wurde blockiert, da du nicht erlaubt hast, es zu laden."
1715
-
1716
- #: inc/overrides/pro/presets/blocker/SpotifyPreset.php:1
1717
- msgid ""
1718
- "Music from Spotify has been blocked because you did not allow to load it."
1719
- msgstr ""
1720
- "Musik von Spotify wurde blockiert, weil du das Laden nicht erlaubt hast."
1721
-
1722
  #: inc/overrides/pro/presets/blocker/ThriveLeadsPreset.php:1
1723
  msgid ""
1724
  "We would like to offer you to subscribe to our newsletter. To do so, you "
@@ -1727,20 +1563,6 @@ msgstr ""
1727
  "Wir würden dir gerne anbieten unseren Newsletter zu abonnieren. Dazu "
1728
  "müsstest du uns erlauben, den Service Thrive Leads zu verwenden."
1729
 
1730
- #: inc/overrides/pro/presets/blocker/TikTokPreset.php:1
1731
- msgid ""
1732
- "Video from TikTok has been blocked because you did not allow to load it."
1733
- msgstr ""
1734
- "Video von TikTok wurde blockiert, da du das Laden des Videos nicht erlaubt "
1735
- "hast."
1736
-
1737
- #: inc/overrides/pro/presets/blocker/TwitterTweetPreset.php:1
1738
- msgid ""
1739
- "A tweet from Twitter has been blocked because you did not allow to load it."
1740
- msgstr ""
1741
- "Ein Tweet von Twitter wurde blockiert, da du nicht erlaubt hast, ihn zu "
1742
- "laden."
1743
-
1744
  #: inc/overrides/pro/presets/blocker/TypeformPreset.php:1
1745
  msgid ""
1746
  "We use the Typeform service to insert forms on our websites. In order to use "
@@ -1750,11 +1572,6 @@ msgstr ""
1750
  "einzufügen. Um das Formular nutzen zu können, musst du diesem Service "
1751
  "erlauben, zu laden."
1752
 
1753
- #: inc/overrides/pro/presets/blocker/VimeoPreset.php:1
1754
- msgid "Video from Vimeo has been blocked because you did not allow to load it."
1755
- msgstr ""
1756
- "Video von Vimeo wurde blockiert, da du nicht erlaubt hast, es zu laden."
1757
-
1758
  #: inc/overrides/pro/presets/blocker/WPFormsPreset.php:1
1759
  msgid "WPForms with Google reCAPTCHA"
1760
  msgstr "WPForms mit Google reCAPTCHA"
@@ -4973,12 +4790,6 @@ msgstr ""
4973
  "Um dich einzuloggen, musst du uns aus Sicherheits- und Komfort-Gründen "
4974
  "erlauben, zusätzliche Services zu laden."
4975
 
4976
- #: inc/presets/free/blocker/YoutubePreset.php:1
4977
- msgid ""
4978
- "Video from YouTube has been blocked because you did not allow to load it."
4979
- msgstr ""
4980
- "Das Video von YouTube wurde blockiert, da du das Laden nicht erlaubt hast."
4981
-
4982
  #: inc/presets/free/ElementorPreset.php:1
4983
  msgid ""
4984
  "Elementor is a software used to create the layout of this website. Cookies "
@@ -6875,6 +6686,186 @@ msgstr "Bitte gib ein `text`-Attribut in deinem Shortcode an!"
6875
  msgid "Please provide a `type` attribute in your shortcode. Allowed: %s!"
6876
  msgstr "Bitte gib in deinem Shortcode das Attribut `type` an. Erlaubt: %s!"
6877
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6878
  #~ msgid ""
6879
  #~ "Real Cookie Banner asks the user to consent to the cookies used on this "
6880
  #~ "website. The cookies store the UUID (pseudonym identification of the "
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
+ "PO-Revision-Date: 2021-12-09 18:39+0000\n"
6
  "Last-Translator: Jan Karres <jan.karres@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/wordpress-real-"
8
+ "cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_CH\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
1212
  msgstr ""
1213
  "Füge ein leeres div-Element mit der definierten HTML-ID irgendwo auf deiner "
1214
  "Webseite ein, wo das Widget nach Einwilligung des Nutzers erscheinen soll (z."
1215
+ "B. <code>&lt;div id=\"amzn-widget\">&lt;/div></code> in der Sidebar deines "
1216
  "Blogs)."
1217
 
1218
  #: inc/overrides/pro/presets/AmazonAssociatesWidgetPreset.php:1
1450
  "Links zum Teilen des Inhalts in verschiedenen sozialen Netzwerken wurden "
1451
  "blockiert, weil du das Laden nicht erlaubst."
1452
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1453
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1454
  msgid "Caldera Forms with Google reCAPTCHA"
1455
  msgstr "Caldera Forms mit Google reCAPTCHA"
1478
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1479
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1480
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1481
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1482
  msgid "Elementor Forms with Google reCAPTCHA"
1483
  msgstr "Elementor Forms mit Google reCAPTCHA"
1484
 
 
 
 
 
 
 
 
1485
  #: inc/overrides/pro/presets/blocker/FacebookPagePluginPreset.php:1
1486
  msgid ""
1487
  "Information about a Facebook Page has been blocked because you did not allow "
1490
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1491
  "hast, diese zu laden."
1492
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1493
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1494
  msgid "Formidable with Google reCAPTCHA"
1495
  msgstr "Formidable mit Google reCAPTCHA"
1506
  "Wir würden dir gerne Attraktionen, Touren und Führungen von GetYourGuide "
1507
  "zeigen. Dafür musst du uns aber erlauben, den GetYourGuide Service zu nutzen."
1508
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1509
  #: inc/overrides/pro/presets/blocker/KomootPreset.php:1
1510
  msgid ""
1511
  "The tour, shown on a map from Komoot, could not be loaded because you did "
1514
  "Die Tour, verzeichnet auf einer Karte von Komoot, konnte nicht geladen "
1515
  "werden, da du nicht zugestimmt hast den Service zu laden."
1516
 
 
 
 
 
1517
  #: inc/overrides/pro/presets/blocker/MailerLitePreset.php:1
1518
  msgid ""
1519
  "The email newsletter subscription form is blocked because you have not "
1535
  msgid "Ninja Forms with Google reCAPTCHA"
1536
  msgstr "Ninja Forms mit Google reCAPTCHA"
1537
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1538
  #: inc/overrides/pro/presets/blocker/ProvenExpertWidgetPreset.php:1
1539
  msgid ""
1540
  "Widget that shows ratings on Proven Expert has been blocked because you did "
1547
  msgid "Quform with Google reCAPTCHA"
1548
  msgstr "Quform mit Google reCAPTCHA"
1549
 
 
 
 
 
 
 
 
 
1550
  #: inc/overrides/pro/presets/blocker/SendinbluePreset.php:1
1551
  msgid ""
1552
  "The email newsletter subscription form is blocked because you have not "
1555
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du das Laden "
1556
  "unseres E-Mail-Marketing-Anbieters Sendinblue nicht erlaubt hast."
1557
 
 
 
 
 
 
 
 
 
 
 
 
 
1558
  #: inc/overrides/pro/presets/blocker/ThriveLeadsPreset.php:1
1559
  msgid ""
1560
  "We would like to offer you to subscribe to our newsletter. To do so, you "
1563
  "Wir würden dir gerne anbieten unseren Newsletter zu abonnieren. Dazu "
1564
  "müsstest du uns erlauben, den Service Thrive Leads zu verwenden."
1565
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1566
  #: inc/overrides/pro/presets/blocker/TypeformPreset.php:1
1567
  msgid ""
1568
  "We use the Typeform service to insert forms on our websites. In order to use "
1572
  "einzufügen. Um das Formular nutzen zu können, musst du diesem Service "
1573
  "erlauben, zu laden."
1574
 
 
 
 
 
 
1575
  #: inc/overrides/pro/presets/blocker/WPFormsPreset.php:1
1576
  msgid "WPForms with Google reCAPTCHA"
1577
  msgstr "WPForms mit Google reCAPTCHA"
4790
  "Um dich einzuloggen, musst du uns aus Sicherheits- und Komfort-Gründen "
4791
  "erlauben, zusätzliche Services zu laden."
4792
 
 
 
 
 
 
 
4793
  #: inc/presets/free/ElementorPreset.php:1
4794
  msgid ""
4795
  "Elementor is a software used to create the layout of this website. Cookies "
6686
  msgid "Please provide a `type` attribute in your shortcode. Allowed: %s!"
6687
  msgstr "Bitte gib in deinem Shortcode das Attribut `type` an. Erlaubt: %s!"
6688
 
6689
+ #~ msgid ""
6690
+ #~ "Audio from Anchor has been blocked because you did not allow to load it."
6691
+ #~ msgstr ""
6692
+ #~ "Audio von Anchor wurde blockiert, weil du das Laden nicht erlaubt hast."
6693
+
6694
+ #~ msgid ""
6695
+ #~ "Music from Apple Music has been blocked because you did not allow to load "
6696
+ #~ "it."
6697
+ #~ msgstr ""
6698
+ #~ "Musik von Apple Music wurde blockiert, weil du das Laden nicht erlaubt "
6699
+ #~ "hast."
6700
+
6701
+ #~ msgid ""
6702
+ #~ "A map from Bing Maps has been blocked because you did not allow to load "
6703
+ #~ "it."
6704
+ #~ msgstr ""
6705
+ #~ "Eine Karte von Bing Maps wurde blockiert, weil du das Laden der Karte "
6706
+ #~ "nicht erlaubt hast."
6707
+
6708
+ #~ msgid ""
6709
+ #~ "A feed from facebook.com has been blocked because you did not allow to "
6710
+ #~ "load it."
6711
+ #~ msgstr ""
6712
+ #~ "Ein eingebetteter Feed von facebook.com wurde blockiert, da du nicht "
6713
+ #~ "erlaubt hast, diesen zu laden."
6714
+
6715
+ #~ msgid ""
6716
+ #~ "A tweet feed from Twitter has been blocked because you did not allow to "
6717
+ #~ "load it."
6718
+ #~ msgstr ""
6719
+ #~ "Ein Tweet-Feed von Twitter wurde blockiert, da du nicht erlaubt hast, "
6720
+ #~ "diesen zu laden."
6721
+
6722
+ #~ msgid ""
6723
+ #~ "Video from Dailymotion has been blocked because you did not allow to load "
6724
+ #~ "it."
6725
+ #~ msgstr ""
6726
+ #~ "Video von Dailymotion wurde blockiert, weil du das Laden des Videos nicht "
6727
+ #~ "erlaubt hast."
6728
+
6729
+ #~ msgid ""
6730
+ #~ "Widget from Discord has been blocked because you did not allow to load it."
6731
+ #~ msgstr ""
6732
+ #~ "Widget von Discord wurden blockiert, weil du nicht erlaubt hast, es zu "
6733
+ #~ "laden."
6734
+
6735
+ #~ msgid ""
6736
+ #~ "Facebook Like Button has been blocked because you did not allow to load "
6737
+ #~ "it."
6738
+ #~ msgstr ""
6739
+ #~ "Facebook Like Button wurde blockiert, da du nicht erlaubt hast, diesen zu "
6740
+ #~ "laden."
6741
+
6742
+ #~ msgid ""
6743
+ #~ "An embedded post from facebook.com has been blocked because you did not "
6744
+ #~ "allow to load it."
6745
+ #~ msgstr ""
6746
+ #~ "Ein eingebetteter Beitrag von facebook.com wurde blockiert, da du nicht "
6747
+ #~ "erlaubt hast, diesen zu laden."
6748
+
6749
+ #~ msgid ""
6750
+ #~ "Facebook Share Button has been blocked because you did not allow to load "
6751
+ #~ "it."
6752
+ #~ msgstr ""
6753
+ #~ "Facebook Share Button wurde blockiert, da du nicht erlaubt hast, diesen "
6754
+ #~ "zu laden."
6755
+
6756
+ #~ msgid ""
6757
+ #~ "An image from Flickr has been blocked because you did not allow to load "
6758
+ #~ "it."
6759
+ #~ msgstr ""
6760
+ #~ "Ein Bild von Flickr wurde blockiert, da du nicht erlaubt hast, es zu "
6761
+ #~ "laden."
6762
+
6763
+ #~ msgid ""
6764
+ #~ "Content from Giphy has been blocked because you did not allow to load it."
6765
+ #~ msgstr ""
6766
+ #~ "Inhalte von Giphy wurden blockiert, weil du das Laden nicht erlaubt hast."
6767
+
6768
+ #~ msgid ""
6769
+ #~ "A map from Google Maps has been blocked because you did not allow to load "
6770
+ #~ "it."
6771
+ #~ msgstr ""
6772
+ #~ "Eine Karte von Google Maps wurde blockiert, da du nicht erlaubt hast, sie "
6773
+ #~ "zu laden."
6774
+
6775
+ #~ msgid ""
6776
+ #~ "Search trends chart from Google Trends has been blocked because you did "
6777
+ #~ "not allow to load it."
6778
+ #~ msgstr ""
6779
+ #~ "Die Suchtrends Charts von Google Trends wurde blockiert, weil du nicht "
6780
+ #~ "erlaubt hast, sie zu laden."
6781
+
6782
+ #~ msgid ""
6783
+ #~ "Content from Imgur has been blocked because you did not allow to load it."
6784
+ #~ msgstr ""
6785
+ #~ "Inhalt von Imgur wurde blockiert, da du nicht erlaubt hast, ihn zu laden."
6786
+
6787
+ #~ msgid ""
6788
+ #~ "An image or video from Instagram has been blocked because you did not "
6789
+ #~ "allow to load it."
6790
+ #~ msgstr ""
6791
+ #~ "Ein Bild oder Video aus Instagram wurde blockiert, da du nicht erlaubt "
6792
+ #~ "hast, ihn zu laden."
6793
+
6794
+ #~ msgid ""
6795
+ #~ "Documents from issuu.com has been blocked because you did not allow to "
6796
+ #~ "load it."
6797
+ #~ msgstr ""
6798
+ #~ "Dokumente von issuu.com wurden blockiert, weil du nicht erlaubt hast, sie "
6799
+ #~ "zu laden."
6800
+
6801
+ #~ msgid ""
6802
+ #~ "Video from Loom has been blocked because you did not allow to load it."
6803
+ #~ msgstr ""
6804
+ #~ "Video von Loom wurde blockiert, weil du das Laden nicht erlaubt hast."
6805
+
6806
+ #~ msgid ""
6807
+ #~ "A map from OpenStreetMap has been blocked because you did not allow to "
6808
+ #~ "load it."
6809
+ #~ msgstr ""
6810
+ #~ "Karte von OpenStreetMap wurde blockiert, weil du nicht erlaubt hast, sie "
6811
+ #~ "zu laden."
6812
+
6813
+ #~ msgid ""
6814
+ #~ "Content from Pinterest has been blocked because you did not allow to load "
6815
+ #~ "it."
6816
+ #~ msgstr ""
6817
+ #~ "Inhalt von Pinterest wurde blockiert, da du nicht erlaubt hast, ihn zu "
6818
+ #~ "laden."
6819
+
6820
+ #~ msgid ""
6821
+ #~ "A podcast from Podigee has been blocked because you did not allow to load "
6822
+ #~ "it."
6823
+ #~ msgstr ""
6824
+ #~ "Ein Podcast von Podigee wurde blockiert, weil du nicht erlaubt hast ihn "
6825
+ #~ "zu laden."
6826
+
6827
+ #~ msgid ""
6828
+ #~ "An embedded post from reddit.com has been blocked because you did not "
6829
+ #~ "allow to load it."
6830
+ #~ msgstr ""
6831
+ #~ "Ein eingebetteter Beitrag von reddit.com wurde blockiert, weil du das "
6832
+ #~ "Laden des Beitrags nicht erlaubt hast."
6833
+
6834
+ #~ msgid ""
6835
+ #~ "Audio from SoundCloud has been blocked because you did not allow to load "
6836
+ #~ "it."
6837
+ #~ msgstr ""
6838
+ #~ "Audio von SoundCloud wurde blockiert, da du nicht erlaubt hast, es zu "
6839
+ #~ "laden."
6840
+
6841
+ #~ msgid ""
6842
+ #~ "Music from Spotify has been blocked because you did not allow to load it."
6843
+ #~ msgstr ""
6844
+ #~ "Musik von Spotify wurde blockiert, weil du das Laden nicht erlaubt hast."
6845
+
6846
+ #~ msgid ""
6847
+ #~ "Video from TikTok has been blocked because you did not allow to load it."
6848
+ #~ msgstr ""
6849
+ #~ "Video von TikTok wurde blockiert, da du das Laden des Videos nicht "
6850
+ #~ "erlaubt hast."
6851
+
6852
+ #~ msgid ""
6853
+ #~ "A tweet from Twitter has been blocked because you did not allow to load "
6854
+ #~ "it."
6855
+ #~ msgstr ""
6856
+ #~ "Ein Tweet von Twitter wurde blockiert, da du nicht erlaubt hast, ihn zu "
6857
+ #~ "laden."
6858
+
6859
+ #~ msgid ""
6860
+ #~ "Video from Vimeo has been blocked because you did not allow to load it."
6861
+ #~ msgstr ""
6862
+ #~ "Video von Vimeo wurde blockiert, da du nicht erlaubt hast, es zu laden."
6863
+
6864
+ #~ msgid ""
6865
+ #~ "Video from YouTube has been blocked because you did not allow to load it."
6866
+ #~ msgstr ""
6867
+ #~ "Das Video von YouTube wurde blockiert, da du das Laden nicht erlaubt hast."
6868
+
6869
  #~ msgid ""
6870
  #~ "Real Cookie Banner asks the user to consent to the cookies used on this "
6871
  #~ "website. The cookies store the UUID (pseudonym identification of the "
languages/real-cookie-banner-de_CH_informal.mo CHANGED
Binary file
languages/real-cookie-banner-de_CH_informal.po CHANGED
@@ -2,10 +2,10 @@ msgid ""
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
- "PO-Revision-Date: 2021-12-01 07:07+0000\n"
6
  "Last-Translator: Jan Karres <jan.karres@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/"
8
- "wordpress-real-cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_CH_informal\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -1212,7 +1212,7 @@ msgid ""
1212
  msgstr ""
1213
  "Füge ein leeres div-Element mit der definierten HTML-ID irgendwo auf deiner "
1214
  "Webseite ein, wo das Widget nach Einwilligung des Nutzers erscheinen soll (z."
1215
- "B. <code>&lt;div id=“amzn-widget”>&lt;/div></code> in der Sidebar deines "
1216
  "Blogs)."
1217
 
1218
  #: inc/overrides/pro/presets/AmazonAssociatesWidgetPreset.php:1
@@ -1450,25 +1450,6 @@ msgstr ""
1450
  "Links zum Teilen des Inhalts in verschiedenen sozialen Netzwerken wurden "
1451
  "blockiert, weil du das Laden nicht erlaubst."
1452
 
1453
- #: inc/overrides/pro/presets/blocker/AnchorFmPreset.php:1
1454
- msgid ""
1455
- "Audio from Anchor has been blocked because you did not allow to load it."
1456
- msgstr ""
1457
- "Audio von Anchor wurde blockiert, weil du das Laden nicht erlaubt hast."
1458
-
1459
- #: inc/overrides/pro/presets/blocker/AppleMusicPreset.php:1
1460
- msgid ""
1461
- "Music from Apple Music has been blocked because you did not allow to load it."
1462
- msgstr ""
1463
- "Musik von Apple Music wurde blockiert, weil du das Laden nicht erlaubt hast."
1464
-
1465
- #: inc/overrides/pro/presets/blocker/BingMapsPreset.php:1
1466
- msgid ""
1467
- "A map from Bing Maps has been blocked because you did not allow to load it."
1468
- msgstr ""
1469
- "Eine Karte von Bing Maps wurde blockiert, weil du das Laden der Karte nicht "
1470
- "erlaubt hast."
1471
-
1472
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1473
  msgid "Caldera Forms with Google reCAPTCHA"
1474
  msgstr "Caldera Forms mit Google reCAPTCHA"
@@ -1497,46 +1478,10 @@ msgstr ""
1497
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1498
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1499
 
1500
- #: inc/overrides/pro/presets/blocker/CustomFacebookFeedPreset.php:1
1501
- msgid ""
1502
- "A feed from facebook.com has been blocked because you did not allow to load "
1503
- "it."
1504
- msgstr ""
1505
- "Ein eingebetteter Feed von facebook.com wurde blockiert, da du nicht erlaubt "
1506
- "hast, diesen zu laden."
1507
-
1508
- #: inc/overrides/pro/presets/blocker/CustomTwitterFeedPreset.php:1
1509
- msgid ""
1510
- "A tweet feed from Twitter has been blocked because you did not allow to load "
1511
- "it."
1512
- msgstr ""
1513
- "Ein Tweet-Feed von Twitter wurde blockiert, da du nicht erlaubt hast, diesen "
1514
- "zu laden."
1515
-
1516
- #: inc/overrides/pro/presets/blocker/DailymotionPreset.php:1
1517
- msgid ""
1518
- "Video from Dailymotion has been blocked because you did not allow to load it."
1519
- msgstr ""
1520
- "Video von Dailymotion wurde blockiert, weil du das Laden des Videos nicht "
1521
- "erlaubt hast."
1522
-
1523
- #: inc/overrides/pro/presets/blocker/DiscordWidgetPreset.php:1
1524
- msgid ""
1525
- "Widget from Discord has been blocked because you did not allow to load it."
1526
- msgstr ""
1527
- "Widget von Discord wurden blockiert, weil du nicht erlaubt hast, es zu laden."
1528
-
1529
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1530
  msgid "Elementor Forms with Google reCAPTCHA"
1531
  msgstr "Elementor Forms mit Google reCAPTCHA"
1532
 
1533
- #: inc/overrides/pro/presets/blocker/FacebookLikePreset.php:1
1534
- msgid ""
1535
- "Facebook Like Button has been blocked because you did not allow to load it."
1536
- msgstr ""
1537
- "Facebook Like Button wurde blockiert, da du nicht erlaubt hast, diesen zu "
1538
- "laden."
1539
-
1540
  #: inc/overrides/pro/presets/blocker/FacebookPagePluginPreset.php:1
1541
  msgid ""
1542
  "Information about a Facebook Page has been blocked because you did not allow "
@@ -1545,27 +1490,6 @@ msgstr ""
1545
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1546
  "hast, diese zu laden."
1547
 
1548
- #: inc/overrides/pro/presets/blocker/FacebookPostPreset.php:1
1549
- msgid ""
1550
- "An embedded post from facebook.com has been blocked because you did not "
1551
- "allow to load it."
1552
- msgstr ""
1553
- "Ein eingebetteter Beitrag von facebook.com wurde blockiert, da du nicht "
1554
- "erlaubt hast, diesen zu laden."
1555
-
1556
- #: inc/overrides/pro/presets/blocker/FacebookSharePreset.php:1
1557
- msgid ""
1558
- "Facebook Share Button has been blocked because you did not allow to load it."
1559
- msgstr ""
1560
- "Facebook Share Button wurde blockiert, da du nicht erlaubt hast, diesen zu "
1561
- "laden."
1562
-
1563
- #: inc/overrides/pro/presets/blocker/FlickrPreset.php:1
1564
- msgid ""
1565
- "An image from Flickr has been blocked because you did not allow to load it."
1566
- msgstr ""
1567
- "Ein Bild von Flickr wurde blockiert, da du nicht erlaubt hast, es zu laden."
1568
-
1569
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1570
  msgid "Formidable with Google reCAPTCHA"
1571
  msgstr "Formidable mit Google reCAPTCHA"
@@ -1582,49 +1506,6 @@ msgstr ""
1582
  "Wir würden dir gerne Attraktionen, Touren und Führungen von GetYourGuide "
1583
  "zeigen. Dafür musst du uns aber erlauben, den GetYourGuide Service zu nutzen."
1584
 
1585
- #: inc/overrides/pro/presets/blocker/GiphyPreset.php:1
1586
- msgid ""
1587
- "Content from Giphy has been blocked because you did not allow to load it."
1588
- msgstr ""
1589
- "Inhalte von Giphy wurden blockiert, weil du das Laden nicht erlaubt hast."
1590
-
1591
- #: inc/overrides/pro/presets/blocker/GoogleMapsPreset.php:1
1592
- msgid ""
1593
- "A map from Google Maps has been blocked because you did not allow to load it."
1594
- msgstr ""
1595
- "Eine Karte von Google Maps wurde blockiert, da du nicht erlaubt hast, sie zu "
1596
- "laden."
1597
-
1598
- #: inc/overrides/pro/presets/blocker/GoogleTrendsPreset.php:1
1599
- msgid ""
1600
- "Search trends chart from Google Trends has been blocked because you did not "
1601
- "allow to load it."
1602
- msgstr ""
1603
- "Die Suchtrends Charts von Google Trends wurde blockiert, weil du nicht "
1604
- "erlaubt hast, sie zu laden."
1605
-
1606
- #: inc/overrides/pro/presets/blocker/ImgurPreset.php:1
1607
- msgid ""
1608
- "Content from Imgur has been blocked because you did not allow to load it."
1609
- msgstr ""
1610
- "Inhalt von Imgur wurde blockiert, da du nicht erlaubt hast, ihn zu laden."
1611
-
1612
- #: inc/overrides/pro/presets/blocker/InstagramPostPreset.php:1
1613
- msgid ""
1614
- "An image or video from Instagram has been blocked because you did not allow "
1615
- "to load it."
1616
- msgstr ""
1617
- "Ein Bild oder Video aus Instagram wurde blockiert, da du nicht erlaubt hast, "
1618
- "ihn zu laden."
1619
-
1620
- #: inc/overrides/pro/presets/blocker/IssuuPreset.php:1
1621
- msgid ""
1622
- "Documents from issuu.com has been blocked because you did not allow to load "
1623
- "it."
1624
- msgstr ""
1625
- "Dokumente von issuu.com wurden blockiert, weil du nicht erlaubt hast, sie zu "
1626
- "laden."
1627
-
1628
  #: inc/overrides/pro/presets/blocker/KomootPreset.php:1
1629
  msgid ""
1630
  "The tour, shown on a map from Komoot, could not be loaded because you did "
@@ -1633,10 +1514,6 @@ msgstr ""
1633
  "Die Tour, verzeichnet auf einer Karte von Komoot, konnte nicht geladen "
1634
  "werden, da du nicht zugestimmt hast den Service zu laden."
1635
 
1636
- #: inc/overrides/pro/presets/blocker/LoomPreset.php:1
1637
- msgid "Video from Loom has been blocked because you did not allow to load it."
1638
- msgstr "Video von Loom wurde blockiert, weil du das Laden nicht erlaubt hast."
1639
-
1640
  #: inc/overrides/pro/presets/blocker/MailerLitePreset.php:1
1641
  msgid ""
1642
  "The email newsletter subscription form is blocked because you have not "
@@ -1658,27 +1535,6 @@ msgstr ""
1658
  msgid "Ninja Forms with Google reCAPTCHA"
1659
  msgstr "Ninja Forms mit Google reCAPTCHA"
1660
 
1661
- #: inc/overrides/pro/presets/blocker/OpenStreetMapPreset.php:1
1662
- msgid ""
1663
- "A map from OpenStreetMap has been blocked because you did not allow to load "
1664
- "it."
1665
- msgstr ""
1666
- "Karte von OpenStreetMap wurde blockiert, weil du nicht erlaubt hast, sie zu "
1667
- "laden."
1668
-
1669
- #: inc/overrides/pro/presets/blocker/PinterestPreset.php:1
1670
- msgid ""
1671
- "Content from Pinterest has been blocked because you did not allow to load it."
1672
- msgstr ""
1673
- "Inhalt von Pinterest wurde blockiert, da du nicht erlaubt hast, ihn zu laden."
1674
-
1675
- #: inc/overrides/pro/presets/blocker/PodigeePreset.php:1
1676
- msgid ""
1677
- "A podcast from Podigee has been blocked because you did not allow to load it."
1678
- msgstr ""
1679
- "Ein Podcast von Podigee wurde blockiert, weil du nicht erlaubt hast ihn zu "
1680
- "laden."
1681
-
1682
  #: inc/overrides/pro/presets/blocker/ProvenExpertWidgetPreset.php:1
1683
  msgid ""
1684
  "Widget that shows ratings on Proven Expert has been blocked because you did "
@@ -1691,14 +1547,6 @@ msgstr ""
1691
  msgid "Quform with Google reCAPTCHA"
1692
  msgstr "Quform mit Google reCAPTCHA"
1693
 
1694
- #: inc/overrides/pro/presets/blocker/RedditPreset.php:1
1695
- msgid ""
1696
- "An embedded post from reddit.com has been blocked because you did not allow "
1697
- "to load it."
1698
- msgstr ""
1699
- "Ein eingebetteter Beitrag von reddit.com wurde blockiert, weil du das Laden "
1700
- "des Beitrags nicht erlaubt hast."
1701
-
1702
  #: inc/overrides/pro/presets/blocker/SendinbluePreset.php:1
1703
  msgid ""
1704
  "The email newsletter subscription form is blocked because you have not "
@@ -1707,18 +1555,6 @@ msgstr ""
1707
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du das Laden "
1708
  "unseres E-Mail-Marketing-Anbieters Sendinblue nicht erlaubt hast."
1709
 
1710
- #: inc/overrides/pro/presets/blocker/SoundCloudPreset.php:1
1711
- msgid ""
1712
- "Audio from SoundCloud has been blocked because you did not allow to load it."
1713
- msgstr ""
1714
- "Audio von SoundCloud wurde blockiert, da du nicht erlaubt hast, es zu laden."
1715
-
1716
- #: inc/overrides/pro/presets/blocker/SpotifyPreset.php:1
1717
- msgid ""
1718
- "Music from Spotify has been blocked because you did not allow to load it."
1719
- msgstr ""
1720
- "Musik von Spotify wurde blockiert, weil du das Laden nicht erlaubt hast."
1721
-
1722
  #: inc/overrides/pro/presets/blocker/ThriveLeadsPreset.php:1
1723
  msgid ""
1724
  "We would like to offer you to subscribe to our newsletter. To do so, you "
@@ -1727,20 +1563,6 @@ msgstr ""
1727
  "Wir würden dir gerne anbieten unseren Newsletter zu abonnieren. Dazu "
1728
  "müsstest du uns erlauben, den Service Thrive Leads zu verwenden."
1729
 
1730
- #: inc/overrides/pro/presets/blocker/TikTokPreset.php:1
1731
- msgid ""
1732
- "Video from TikTok has been blocked because you did not allow to load it."
1733
- msgstr ""
1734
- "Video von TikTok wurde blockiert, da du das Laden des Videos nicht erlaubt "
1735
- "hast."
1736
-
1737
- #: inc/overrides/pro/presets/blocker/TwitterTweetPreset.php:1
1738
- msgid ""
1739
- "A tweet from Twitter has been blocked because you did not allow to load it."
1740
- msgstr ""
1741
- "Ein Tweet von Twitter wurde blockiert, da du nicht erlaubt hast, ihn zu "
1742
- "laden."
1743
-
1744
  #: inc/overrides/pro/presets/blocker/TypeformPreset.php:1
1745
  msgid ""
1746
  "We use the Typeform service to insert forms on our websites. In order to use "
@@ -1750,11 +1572,6 @@ msgstr ""
1750
  "einzufügen. Um das Formular nutzen zu können, musst du diesem Service "
1751
  "erlauben, zu laden."
1752
 
1753
- #: inc/overrides/pro/presets/blocker/VimeoPreset.php:1
1754
- msgid "Video from Vimeo has been blocked because you did not allow to load it."
1755
- msgstr ""
1756
- "Video von Vimeo wurde blockiert, da du nicht erlaubt hast, es zu laden."
1757
-
1758
  #: inc/overrides/pro/presets/blocker/WPFormsPreset.php:1
1759
  msgid "WPForms with Google reCAPTCHA"
1760
  msgstr "WPForms mit Google reCAPTCHA"
@@ -4973,12 +4790,6 @@ msgstr ""
4973
  "Um dich einzuloggen, musst du uns aus Sicherheits- und Komfort-Gründen "
4974
  "erlauben, zusätzliche Services zu laden."
4975
 
4976
- #: inc/presets/free/blocker/YoutubePreset.php:1
4977
- msgid ""
4978
- "Video from YouTube has been blocked because you did not allow to load it."
4979
- msgstr ""
4980
- "Das Video von YouTube wurde blockiert, da du das Laden nicht erlaubt hast."
4981
-
4982
  #: inc/presets/free/ElementorPreset.php:1
4983
  msgid ""
4984
  "Elementor is a software used to create the layout of this website. Cookies "
@@ -6875,6 +6686,186 @@ msgstr "Bitte gib ein `text`-Attribut in deinem Shortcode an!"
6875
  msgid "Please provide a `type` attribute in your shortcode. Allowed: %s!"
6876
  msgstr "Bitte gib in deinem Shortcode das Attribut `type` an. Erlaubt: %s!"
6877
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6878
  #~ msgid ""
6879
  #~ "Real Cookie Banner asks the user to consent to the cookies used on this "
6880
  #~ "website. The cookies store the UUID (pseudonym identification of the "
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
+ "PO-Revision-Date: 2021-12-09 18:39+0000\n"
6
  "Last-Translator: Jan Karres <jan.karres@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/wordpress-real-"
8
+ "cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_CH_informal\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
1212
  msgstr ""
1213
  "Füge ein leeres div-Element mit der definierten HTML-ID irgendwo auf deiner "
1214
  "Webseite ein, wo das Widget nach Einwilligung des Nutzers erscheinen soll (z."
1215
+ "B. <code>&lt;div id=\"amzn-widget\">&lt;/div></code> in der Sidebar deines "
1216
  "Blogs)."
1217
 
1218
  #: inc/overrides/pro/presets/AmazonAssociatesWidgetPreset.php:1
1450
  "Links zum Teilen des Inhalts in verschiedenen sozialen Netzwerken wurden "
1451
  "blockiert, weil du das Laden nicht erlaubst."
1452
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1453
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1454
  msgid "Caldera Forms with Google reCAPTCHA"
1455
  msgstr "Caldera Forms mit Google reCAPTCHA"
1478
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1479
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1480
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1481
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1482
  msgid "Elementor Forms with Google reCAPTCHA"
1483
  msgstr "Elementor Forms mit Google reCAPTCHA"
1484
 
 
 
 
 
 
 
 
1485
  #: inc/overrides/pro/presets/blocker/FacebookPagePluginPreset.php:1
1486
  msgid ""
1487
  "Information about a Facebook Page has been blocked because you did not allow "
1490
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1491
  "hast, diese zu laden."
1492
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1493
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1494
  msgid "Formidable with Google reCAPTCHA"
1495
  msgstr "Formidable mit Google reCAPTCHA"
1506
  "Wir würden dir gerne Attraktionen, Touren und Führungen von GetYourGuide "
1507
  "zeigen. Dafür musst du uns aber erlauben, den GetYourGuide Service zu nutzen."
1508
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1509
  #: inc/overrides/pro/presets/blocker/KomootPreset.php:1
1510
  msgid ""
1511
  "The tour, shown on a map from Komoot, could not be loaded because you did "
1514
  "Die Tour, verzeichnet auf einer Karte von Komoot, konnte nicht geladen "
1515
  "werden, da du nicht zugestimmt hast den Service zu laden."
1516
 
 
 
 
 
1517
  #: inc/overrides/pro/presets/blocker/MailerLitePreset.php:1
1518
  msgid ""
1519
  "The email newsletter subscription form is blocked because you have not "
1535
  msgid "Ninja Forms with Google reCAPTCHA"
1536
  msgstr "Ninja Forms mit Google reCAPTCHA"
1537
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1538
  #: inc/overrides/pro/presets/blocker/ProvenExpertWidgetPreset.php:1
1539
  msgid ""
1540
  "Widget that shows ratings on Proven Expert has been blocked because you did "
1547
  msgid "Quform with Google reCAPTCHA"
1548
  msgstr "Quform mit Google reCAPTCHA"
1549
 
 
 
 
 
 
 
 
 
1550
  #: inc/overrides/pro/presets/blocker/SendinbluePreset.php:1
1551
  msgid ""
1552
  "The email newsletter subscription form is blocked because you have not "
1555
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du das Laden "
1556
  "unseres E-Mail-Marketing-Anbieters Sendinblue nicht erlaubt hast."
1557
 
 
 
 
 
 
 
 
 
 
 
 
 
1558
  #: inc/overrides/pro/presets/blocker/ThriveLeadsPreset.php:1
1559
  msgid ""
1560
  "We would like to offer you to subscribe to our newsletter. To do so, you "
1563
  "Wir würden dir gerne anbieten unseren Newsletter zu abonnieren. Dazu "
1564
  "müsstest du uns erlauben, den Service Thrive Leads zu verwenden."
1565
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1566
  #: inc/overrides/pro/presets/blocker/TypeformPreset.php:1
1567
  msgid ""
1568
  "We use the Typeform service to insert forms on our websites. In order to use "
1572
  "einzufügen. Um das Formular nutzen zu können, musst du diesem Service "
1573
  "erlauben, zu laden."
1574
 
 
 
 
 
 
1575
  #: inc/overrides/pro/presets/blocker/WPFormsPreset.php:1
1576
  msgid "WPForms with Google reCAPTCHA"
1577
  msgstr "WPForms mit Google reCAPTCHA"
4790
  "Um dich einzuloggen, musst du uns aus Sicherheits- und Komfort-Gründen "
4791
  "erlauben, zusätzliche Services zu laden."
4792
 
 
 
 
 
 
 
4793
  #: inc/presets/free/ElementorPreset.php:1
4794
  msgid ""
4795
  "Elementor is a software used to create the layout of this website. Cookies "
6686
  msgid "Please provide a `type` attribute in your shortcode. Allowed: %s!"
6687
  msgstr "Bitte gib in deinem Shortcode das Attribut `type` an. Erlaubt: %s!"
6688
 
6689
+ #~ msgid ""
6690
+ #~ "Audio from Anchor has been blocked because you did not allow to load it."
6691
+ #~ msgstr ""
6692
+ #~ "Audio von Anchor wurde blockiert, weil du das Laden nicht erlaubt hast."
6693
+
6694
+ #~ msgid ""
6695
+ #~ "Music from Apple Music has been blocked because you did not allow to load "
6696
+ #~ "it."
6697
+ #~ msgstr ""
6698
+ #~ "Musik von Apple Music wurde blockiert, weil du das Laden nicht erlaubt "
6699
+ #~ "hast."
6700
+
6701
+ #~ msgid ""
6702
+ #~ "A map from Bing Maps has been blocked because you did not allow to load "
6703
+ #~ "it."
6704
+ #~ msgstr ""
6705
+ #~ "Eine Karte von Bing Maps wurde blockiert, weil du das Laden der Karte "
6706
+ #~ "nicht erlaubt hast."
6707
+
6708
+ #~ msgid ""
6709
+ #~ "A feed from facebook.com has been blocked because you did not allow to "
6710
+ #~ "load it."
6711
+ #~ msgstr ""
6712
+ #~ "Ein eingebetteter Feed von facebook.com wurde blockiert, da du nicht "
6713
+ #~ "erlaubt hast, diesen zu laden."
6714
+
6715
+ #~ msgid ""
6716
+ #~ "A tweet feed from Twitter has been blocked because you did not allow to "
6717
+ #~ "load it."
6718
+ #~ msgstr ""
6719
+ #~ "Ein Tweet-Feed von Twitter wurde blockiert, da du nicht erlaubt hast, "
6720
+ #~ "diesen zu laden."
6721
+
6722
+ #~ msgid ""
6723
+ #~ "Video from Dailymotion has been blocked because you did not allow to load "
6724
+ #~ "it."
6725
+ #~ msgstr ""
6726
+ #~ "Video von Dailymotion wurde blockiert, weil du das Laden des Videos nicht "
6727
+ #~ "erlaubt hast."
6728
+
6729
+ #~ msgid ""
6730
+ #~ "Widget from Discord has been blocked because you did not allow to load it."
6731
+ #~ msgstr ""
6732
+ #~ "Widget von Discord wurden blockiert, weil du nicht erlaubt hast, es zu "
6733
+ #~ "laden."
6734
+
6735
+ #~ msgid ""
6736
+ #~ "Facebook Like Button has been blocked because you did not allow to load "
6737
+ #~ "it."
6738
+ #~ msgstr ""
6739
+ #~ "Facebook Like Button wurde blockiert, da du nicht erlaubt hast, diesen zu "
6740
+ #~ "laden."
6741
+
6742
+ #~ msgid ""
6743
+ #~ "An embedded post from facebook.com has been blocked because you did not "
6744
+ #~ "allow to load it."
6745
+ #~ msgstr ""
6746
+ #~ "Ein eingebetteter Beitrag von facebook.com wurde blockiert, da du nicht "
6747
+ #~ "erlaubt hast, diesen zu laden."
6748
+
6749
+ #~ msgid ""
6750
+ #~ "Facebook Share Button has been blocked because you did not allow to load "
6751
+ #~ "it."
6752
+ #~ msgstr ""
6753
+ #~ "Facebook Share Button wurde blockiert, da du nicht erlaubt hast, diesen "
6754
+ #~ "zu laden."
6755
+
6756
+ #~ msgid ""
6757
+ #~ "An image from Flickr has been blocked because you did not allow to load "
6758
+ #~ "it."
6759
+ #~ msgstr ""
6760
+ #~ "Ein Bild von Flickr wurde blockiert, da du nicht erlaubt hast, es zu "
6761
+ #~ "laden."
6762
+
6763
+ #~ msgid ""
6764
+ #~ "Content from Giphy has been blocked because you did not allow to load it."
6765
+ #~ msgstr ""
6766
+ #~ "Inhalte von Giphy wurden blockiert, weil du das Laden nicht erlaubt hast."
6767
+
6768
+ #~ msgid ""
6769
+ #~ "A map from Google Maps has been blocked because you did not allow to load "
6770
+ #~ "it."
6771
+ #~ msgstr ""
6772
+ #~ "Eine Karte von Google Maps wurde blockiert, da du nicht erlaubt hast, sie "
6773
+ #~ "zu laden."
6774
+
6775
+ #~ msgid ""
6776
+ #~ "Search trends chart from Google Trends has been blocked because you did "
6777
+ #~ "not allow to load it."
6778
+ #~ msgstr ""
6779
+ #~ "Die Suchtrends Charts von Google Trends wurde blockiert, weil du nicht "
6780
+ #~ "erlaubt hast, sie zu laden."
6781
+
6782
+ #~ msgid ""
6783
+ #~ "Content from Imgur has been blocked because you did not allow to load it."
6784
+ #~ msgstr ""
6785
+ #~ "Inhalt von Imgur wurde blockiert, da du nicht erlaubt hast, ihn zu laden."
6786
+
6787
+ #~ msgid ""
6788
+ #~ "An image or video from Instagram has been blocked because you did not "
6789
+ #~ "allow to load it."
6790
+ #~ msgstr ""
6791
+ #~ "Ein Bild oder Video aus Instagram wurde blockiert, da du nicht erlaubt "
6792
+ #~ "hast, ihn zu laden."
6793
+
6794
+ #~ msgid ""
6795
+ #~ "Documents from issuu.com has been blocked because you did not allow to "
6796
+ #~ "load it."
6797
+ #~ msgstr ""
6798
+ #~ "Dokumente von issuu.com wurden blockiert, weil du nicht erlaubt hast, sie "
6799
+ #~ "zu laden."
6800
+
6801
+ #~ msgid ""
6802
+ #~ "Video from Loom has been blocked because you did not allow to load it."
6803
+ #~ msgstr ""
6804
+ #~ "Video von Loom wurde blockiert, weil du das Laden nicht erlaubt hast."
6805
+
6806
+ #~ msgid ""
6807
+ #~ "A map from OpenStreetMap has been blocked because you did not allow to "
6808
+ #~ "load it."
6809
+ #~ msgstr ""
6810
+ #~ "Karte von OpenStreetMap wurde blockiert, weil du nicht erlaubt hast, sie "
6811
+ #~ "zu laden."
6812
+
6813
+ #~ msgid ""
6814
+ #~ "Content from Pinterest has been blocked because you did not allow to load "
6815
+ #~ "it."
6816
+ #~ msgstr ""
6817
+ #~ "Inhalt von Pinterest wurde blockiert, da du nicht erlaubt hast, ihn zu "
6818
+ #~ "laden."
6819
+
6820
+ #~ msgid ""
6821
+ #~ "A podcast from Podigee has been blocked because you did not allow to load "
6822
+ #~ "it."
6823
+ #~ msgstr ""
6824
+ #~ "Ein Podcast von Podigee wurde blockiert, weil du nicht erlaubt hast ihn "
6825
+ #~ "zu laden."
6826
+
6827
+ #~ msgid ""
6828
+ #~ "An embedded post from reddit.com has been blocked because you did not "
6829
+ #~ "allow to load it."
6830
+ #~ msgstr ""
6831
+ #~ "Ein eingebetteter Beitrag von reddit.com wurde blockiert, weil du das "
6832
+ #~ "Laden des Beitrags nicht erlaubt hast."
6833
+
6834
+ #~ msgid ""
6835
+ #~ "Audio from SoundCloud has been blocked because you did not allow to load "
6836
+ #~ "it."
6837
+ #~ msgstr ""
6838
+ #~ "Audio von SoundCloud wurde blockiert, da du nicht erlaubt hast, es zu "
6839
+ #~ "laden."
6840
+
6841
+ #~ msgid ""
6842
+ #~ "Music from Spotify has been blocked because you did not allow to load it."
6843
+ #~ msgstr ""
6844
+ #~ "Musik von Spotify wurde blockiert, weil du das Laden nicht erlaubt hast."
6845
+
6846
+ #~ msgid ""
6847
+ #~ "Video from TikTok has been blocked because you did not allow to load it."
6848
+ #~ msgstr ""
6849
+ #~ "Video von TikTok wurde blockiert, da du das Laden des Videos nicht "
6850
+ #~ "erlaubt hast."
6851
+
6852
+ #~ msgid ""
6853
+ #~ "A tweet from Twitter has been blocked because you did not allow to load "
6854
+ #~ "it."
6855
+ #~ msgstr ""
6856
+ #~ "Ein Tweet von Twitter wurde blockiert, da du nicht erlaubt hast, ihn zu "
6857
+ #~ "laden."
6858
+
6859
+ #~ msgid ""
6860
+ #~ "Video from Vimeo has been blocked because you did not allow to load it."
6861
+ #~ msgstr ""
6862
+ #~ "Video von Vimeo wurde blockiert, da du nicht erlaubt hast, es zu laden."
6863
+
6864
+ #~ msgid ""
6865
+ #~ "Video from YouTube has been blocked because you did not allow to load it."
6866
+ #~ msgstr ""
6867
+ #~ "Das Video von YouTube wurde blockiert, da du das Laden nicht erlaubt hast."
6868
+
6869
  #~ msgid ""
6870
  #~ "Real Cookie Banner asks the user to consent to the cookies used on this "
6871
  #~ "website. The cookies store the UUID (pseudonym identification of the "
languages/real-cookie-banner-de_DE.mo CHANGED
Binary file
languages/real-cookie-banner-de_DE.po CHANGED
@@ -2,10 +2,10 @@ msgid ""
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
- "PO-Revision-Date: 2021-12-01 07:07+0000\n"
6
  "Last-Translator: Jan Karres <jan.karres@devowl.io>\n"
7
- "Language-Team: German <https://translate.devowl.io/projects/"
8
- "wordpress-real-cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_DE\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -1212,7 +1212,7 @@ msgid ""
1212
  msgstr ""
1213
  "Füge ein leeres div-Element mit der definierten HTML-ID irgendwo auf deiner "
1214
  "Webseite ein, wo das Widget nach Einwilligung des Nutzers erscheinen soll (z."
1215
- "B. <code>&lt;div id=“amzn-widget”>&lt;/div></code> in der Sidebar deines "
1216
  "Blogs)."
1217
 
1218
  #: inc/overrides/pro/presets/AmazonAssociatesWidgetPreset.php:1
@@ -1450,25 +1450,6 @@ msgstr ""
1450
  "Links zum Teilen des Inhalts in verschiedenen sozialen Netzwerken wurden "
1451
  "blockiert, weil du das Laden nicht erlaubst."
1452
 
1453
- #: inc/overrides/pro/presets/blocker/AnchorFmPreset.php:1
1454
- msgid ""
1455
- "Audio from Anchor has been blocked because you did not allow to load it."
1456
- msgstr ""
1457
- "Audio von Anchor wurde blockiert, weil du das Laden nicht erlaubt hast."
1458
-
1459
- #: inc/overrides/pro/presets/blocker/AppleMusicPreset.php:1
1460
- msgid ""
1461
- "Music from Apple Music has been blocked because you did not allow to load it."
1462
- msgstr ""
1463
- "Musik von Apple Music wurde blockiert, weil du das Laden nicht erlaubt hast."
1464
-
1465
- #: inc/overrides/pro/presets/blocker/BingMapsPreset.php:1
1466
- msgid ""
1467
- "A map from Bing Maps has been blocked because you did not allow to load it."
1468
- msgstr ""
1469
- "Eine Karte von Bing Maps wurde blockiert, weil du das Laden der Karte nicht "
1470
- "erlaubt hast."
1471
-
1472
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1473
  msgid "Caldera Forms with Google reCAPTCHA"
1474
  msgstr "Caldera Forms mit Google reCAPTCHA"
@@ -1497,46 +1478,10 @@ msgstr ""
1497
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1498
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1499
 
1500
- #: inc/overrides/pro/presets/blocker/CustomFacebookFeedPreset.php:1
1501
- msgid ""
1502
- "A feed from facebook.com has been blocked because you did not allow to load "
1503
- "it."
1504
- msgstr ""
1505
- "Ein eingebetteter Feed von facebook.com wurde blockiert, da du nicht erlaubt "
1506
- "hast, diesen zu laden."
1507
-
1508
- #: inc/overrides/pro/presets/blocker/CustomTwitterFeedPreset.php:1
1509
- msgid ""
1510
- "A tweet feed from Twitter has been blocked because you did not allow to load "
1511
- "it."
1512
- msgstr ""
1513
- "Ein Tweet-Feed von Twitter wurde blockiert, da du nicht erlaubt hast, diesen "
1514
- "zu laden."
1515
-
1516
- #: inc/overrides/pro/presets/blocker/DailymotionPreset.php:1
1517
- msgid ""
1518
- "Video from Dailymotion has been blocked because you did not allow to load it."
1519
- msgstr ""
1520
- "Video von Dailymotion wurde blockiert, weil du das Laden des Videos nicht "
1521
- "erlaubt hast."
1522
-
1523
- #: inc/overrides/pro/presets/blocker/DiscordWidgetPreset.php:1
1524
- msgid ""
1525
- "Widget from Discord has been blocked because you did not allow to load it."
1526
- msgstr ""
1527
- "Widget von Discord wurden blockiert, weil du nicht erlaubt hast, es zu laden."
1528
-
1529
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1530
  msgid "Elementor Forms with Google reCAPTCHA"
1531
  msgstr "Elementor Forms mit Google reCAPTCHA"
1532
 
1533
- #: inc/overrides/pro/presets/blocker/FacebookLikePreset.php:1
1534
- msgid ""
1535
- "Facebook Like Button has been blocked because you did not allow to load it."
1536
- msgstr ""
1537
- "Facebook Like Button wurde blockiert, da du nicht erlaubt hast, diesen zu "
1538
- "laden."
1539
-
1540
  #: inc/overrides/pro/presets/blocker/FacebookPagePluginPreset.php:1
1541
  msgid ""
1542
  "Information about a Facebook Page has been blocked because you did not allow "
@@ -1545,27 +1490,6 @@ msgstr ""
1545
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1546
  "hast, diese zu laden."
1547
 
1548
- #: inc/overrides/pro/presets/blocker/FacebookPostPreset.php:1
1549
- msgid ""
1550
- "An embedded post from facebook.com has been blocked because you did not "
1551
- "allow to load it."
1552
- msgstr ""
1553
- "Ein eingebetteter Beitrag von facebook.com wurde blockiert, da du nicht "
1554
- "erlaubt hast, diesen zu laden."
1555
-
1556
- #: inc/overrides/pro/presets/blocker/FacebookSharePreset.php:1
1557
- msgid ""
1558
- "Facebook Share Button has been blocked because you did not allow to load it."
1559
- msgstr ""
1560
- "Facebook Share Button wurde blockiert, da du nicht erlaubt hast, diesen zu "
1561
- "laden."
1562
-
1563
- #: inc/overrides/pro/presets/blocker/FlickrPreset.php:1
1564
- msgid ""
1565
- "An image from Flickr has been blocked because you did not allow to load it."
1566
- msgstr ""
1567
- "Ein Bild von Flickr wurde blockiert, da du nicht erlaubt hast, es zu laden."
1568
-
1569
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1570
  msgid "Formidable with Google reCAPTCHA"
1571
  msgstr "Formidable mit Google reCAPTCHA"
@@ -1582,49 +1506,6 @@ msgstr ""
1582
  "Wir würden dir gerne Attraktionen, Touren und Führungen von GetYourGuide "
1583
  "zeigen. Dafür musst du uns aber erlauben, den GetYourGuide Service zu nutzen."
1584
 
1585
- #: inc/overrides/pro/presets/blocker/GiphyPreset.php:1
1586
- msgid ""
1587
- "Content from Giphy has been blocked because you did not allow to load it."
1588
- msgstr ""
1589
- "Inhalte von Giphy wurden blockiert, weil du das Laden nicht erlaubt hast."
1590
-
1591
- #: inc/overrides/pro/presets/blocker/GoogleMapsPreset.php:1
1592
- msgid ""
1593
- "A map from Google Maps has been blocked because you did not allow to load it."
1594
- msgstr ""
1595
- "Eine Karte von Google Maps wurde blockiert, da du nicht erlaubt hast, sie zu "
1596
- "laden."
1597
-
1598
- #: inc/overrides/pro/presets/blocker/GoogleTrendsPreset.php:1
1599
- msgid ""
1600
- "Search trends chart from Google Trends has been blocked because you did not "
1601
- "allow to load it."
1602
- msgstr ""
1603
- "Die Suchtrends Charts von Google Trends wurde blockiert, weil du nicht "
1604
- "erlaubt hast, sie zu laden."
1605
-
1606
- #: inc/overrides/pro/presets/blocker/ImgurPreset.php:1
1607
- msgid ""
1608
- "Content from Imgur has been blocked because you did not allow to load it."
1609
- msgstr ""
1610
- "Inhalt von Imgur wurde blockiert, da du nicht erlaubt hast, ihn zu laden."
1611
-
1612
- #: inc/overrides/pro/presets/blocker/InstagramPostPreset.php:1
1613
- msgid ""
1614
- "An image or video from Instagram has been blocked because you did not allow "
1615
- "to load it."
1616
- msgstr ""
1617
- "Ein Bild oder Video aus Instagram wurde blockiert, da du nicht erlaubt hast, "
1618
- "ihn zu laden."
1619
-
1620
- #: inc/overrides/pro/presets/blocker/IssuuPreset.php:1
1621
- msgid ""
1622
- "Documents from issuu.com has been blocked because you did not allow to load "
1623
- "it."
1624
- msgstr ""
1625
- "Dokumente von issuu.com wurden blockiert, weil du nicht erlaubt hast, sie zu "
1626
- "laden."
1627
-
1628
  #: inc/overrides/pro/presets/blocker/KomootPreset.php:1
1629
  msgid ""
1630
  "The tour, shown on a map from Komoot, could not be loaded because you did "
@@ -1633,10 +1514,6 @@ msgstr ""
1633
  "Die Tour, verzeichnet auf einer Karte von Komoot, konnte nicht geladen "
1634
  "werden, da du nicht zugestimmt hast den Service zu laden."
1635
 
1636
- #: inc/overrides/pro/presets/blocker/LoomPreset.php:1
1637
- msgid "Video from Loom has been blocked because you did not allow to load it."
1638
- msgstr "Video von Loom wurde blockiert, weil du das Laden nicht erlaubt hast."
1639
-
1640
  #: inc/overrides/pro/presets/blocker/MailerLitePreset.php:1
1641
  msgid ""
1642
  "The email newsletter subscription form is blocked because you have not "
@@ -1658,27 +1535,6 @@ msgstr ""
1658
  msgid "Ninja Forms with Google reCAPTCHA"
1659
  msgstr "Ninja Forms mit Google reCAPTCHA"
1660
 
1661
- #: inc/overrides/pro/presets/blocker/OpenStreetMapPreset.php:1
1662
- msgid ""
1663
- "A map from OpenStreetMap has been blocked because you did not allow to load "
1664
- "it."
1665
- msgstr ""
1666
- "Karte von OpenStreetMap wurde blockiert, weil du nicht erlaubt hast, sie zu "
1667
- "laden."
1668
-
1669
- #: inc/overrides/pro/presets/blocker/PinterestPreset.php:1
1670
- msgid ""
1671
- "Content from Pinterest has been blocked because you did not allow to load it."
1672
- msgstr ""
1673
- "Inhalt von Pinterest wurde blockiert, da du nicht erlaubt hast, ihn zu laden."
1674
-
1675
- #: inc/overrides/pro/presets/blocker/PodigeePreset.php:1
1676
- msgid ""
1677
- "A podcast from Podigee has been blocked because you did not allow to load it."
1678
- msgstr ""
1679
- "Ein Podcast von Podigee wurde blockiert, weil du nicht erlaubt hast ihn zu "
1680
- "laden."
1681
-
1682
  #: inc/overrides/pro/presets/blocker/ProvenExpertWidgetPreset.php:1
1683
  msgid ""
1684
  "Widget that shows ratings on Proven Expert has been blocked because you did "
@@ -1691,14 +1547,6 @@ msgstr ""
1691
  msgid "Quform with Google reCAPTCHA"
1692
  msgstr "Quform mit Google reCAPTCHA"
1693
 
1694
- #: inc/overrides/pro/presets/blocker/RedditPreset.php:1
1695
- msgid ""
1696
- "An embedded post from reddit.com has been blocked because you did not allow "
1697
- "to load it."
1698
- msgstr ""
1699
- "Ein eingebetteter Beitrag von reddit.com wurde blockiert, weil du das Laden "
1700
- "des Beitrags nicht erlaubt hast."
1701
-
1702
  #: inc/overrides/pro/presets/blocker/SendinbluePreset.php:1
1703
  msgid ""
1704
  "The email newsletter subscription form is blocked because you have not "
@@ -1707,18 +1555,6 @@ msgstr ""
1707
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du das Laden "
1708
  "unseres E-Mail-Marketing-Anbieters Sendinblue nicht erlaubt hast."
1709
 
1710
- #: inc/overrides/pro/presets/blocker/SoundCloudPreset.php:1
1711
- msgid ""
1712
- "Audio from SoundCloud has been blocked because you did not allow to load it."
1713
- msgstr ""
1714
- "Audio von SoundCloud wurde blockiert, da du nicht erlaubt hast, es zu laden."
1715
-
1716
- #: inc/overrides/pro/presets/blocker/SpotifyPreset.php:1
1717
- msgid ""
1718
- "Music from Spotify has been blocked because you did not allow to load it."
1719
- msgstr ""
1720
- "Musik von Spotify wurde blockiert, weil du das Laden nicht erlaubt hast."
1721
-
1722
  #: inc/overrides/pro/presets/blocker/ThriveLeadsPreset.php:1
1723
  msgid ""
1724
  "We would like to offer you to subscribe to our newsletter. To do so, you "
@@ -1727,20 +1563,6 @@ msgstr ""
1727
  "Wir würden dir gerne anbieten unseren Newsletter zu abonnieren. Dazu "
1728
  "müsstest du uns erlauben, den Service Thrive Leads zu verwenden."
1729
 
1730
- #: inc/overrides/pro/presets/blocker/TikTokPreset.php:1
1731
- msgid ""
1732
- "Video from TikTok has been blocked because you did not allow to load it."
1733
- msgstr ""
1734
- "Video von TikTok wurde blockiert, da du das Laden des Videos nicht erlaubt "
1735
- "hast."
1736
-
1737
- #: inc/overrides/pro/presets/blocker/TwitterTweetPreset.php:1
1738
- msgid ""
1739
- "A tweet from Twitter has been blocked because you did not allow to load it."
1740
- msgstr ""
1741
- "Ein Tweet von Twitter wurde blockiert, da du nicht erlaubt hast, ihn zu "
1742
- "laden."
1743
-
1744
  #: inc/overrides/pro/presets/blocker/TypeformPreset.php:1
1745
  msgid ""
1746
  "We use the Typeform service to insert forms on our websites. In order to use "
@@ -1750,11 +1572,6 @@ msgstr ""
1750
  "einzufügen. Um das Formular nutzen zu können, musst du diesem Service "
1751
  "erlauben, zu laden."
1752
 
1753
- #: inc/overrides/pro/presets/blocker/VimeoPreset.php:1
1754
- msgid "Video from Vimeo has been blocked because you did not allow to load it."
1755
- msgstr ""
1756
- "Video von Vimeo wurde blockiert, da du nicht erlaubt hast, es zu laden."
1757
-
1758
  #: inc/overrides/pro/presets/blocker/WPFormsPreset.php:1
1759
  msgid "WPForms with Google reCAPTCHA"
1760
  msgstr "WPForms mit Google reCAPTCHA"
@@ -4973,12 +4790,6 @@ msgstr ""
4973
  "Um dich einzuloggen, musst du uns aus Sicherheits- und Komfort-Gründen "
4974
  "erlauben, zusätzliche Services zu laden."
4975
 
4976
- #: inc/presets/free/blocker/YoutubePreset.php:1
4977
- msgid ""
4978
- "Video from YouTube has been blocked because you did not allow to load it."
4979
- msgstr ""
4980
- "Das Video von YouTube wurde blockiert, da du das Laden nicht erlaubt hast."
4981
-
4982
  #: inc/presets/free/ElementorPreset.php:1
4983
  msgid ""
4984
  "Elementor is a software used to create the layout of this website. Cookies "
@@ -6875,6 +6686,186 @@ msgstr "Bitte gib ein `text`-Attribut in deinem Shortcode an!"
6875
  msgid "Please provide a `type` attribute in your shortcode. Allowed: %s!"
6876
  msgstr "Bitte gib in deinem Shortcode das Attribut `type` an. Erlaubt: %s!"
6877
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6878
  #~ msgid ""
6879
  #~ "Real Cookie Banner asks the user to consent to the cookies used on this "
6880
  #~ "website. The cookies store the UUID (pseudonym identification of the "
2
  msgstr ""
3
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
4
  "POT-Creation-Date: n/a\n"
5
+ "PO-Revision-Date: 2021-12-09 18:39+0000\n"
6
  "Last-Translator: Jan Karres <jan.karres@devowl.io>\n"
7
+ "Language-Team: German <https://translate.devowl.io/projects/wordpress-real-"
8
+ "cookie-banner-backend-php/develop/de/>\n"
9
  "Language: de_DE\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
1212
  msgstr ""
1213
  "Füge ein leeres div-Element mit der definierten HTML-ID irgendwo auf deiner "
1214
  "Webseite ein, wo das Widget nach Einwilligung des Nutzers erscheinen soll (z."
1215
+ "B. <code>&lt;div id=\"amzn-widget\">&lt;/div></code> in der Sidebar deines "
1216
  "Blogs)."
1217
 
1218
  #: inc/overrides/pro/presets/AmazonAssociatesWidgetPreset.php:1
1450
  "Links zum Teilen des Inhalts in verschiedenen sozialen Netzwerken wurden "
1451
  "blockiert, weil du das Laden nicht erlaubst."
1452
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1453
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1454
  msgid "Caldera Forms with Google reCAPTCHA"
1455
  msgstr "Caldera Forms mit Google reCAPTCHA"
1478
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du unserem E-Mail-"
1479
  "Marketing-Anbieter ConvertKit nicht erlaubt hast, zu laden."
1480
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1481
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1482
  msgid "Elementor Forms with Google reCAPTCHA"
1483
  msgstr "Elementor Forms mit Google reCAPTCHA"
1484
 
 
 
 
 
 
 
 
1485
  #: inc/overrides/pro/presets/blocker/FacebookPagePluginPreset.php:1
1486
  msgid ""
1487
  "Information about a Facebook Page has been blocked because you did not allow "
1490
  "Informationen über eine Facebook-Seite wurden blockiert, da du nicht erlaubt "
1491
  "hast, diese zu laden."
1492
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1493
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1494
  msgid "Formidable with Google reCAPTCHA"
1495
  msgstr "Formidable mit Google reCAPTCHA"
1506
  "Wir würden dir gerne Attraktionen, Touren und Führungen von GetYourGuide "
1507
  "zeigen. Dafür musst du uns aber erlauben, den GetYourGuide Service zu nutzen."
1508
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1509
  #: inc/overrides/pro/presets/blocker/KomootPreset.php:1
1510
  msgid ""
1511
  "The tour, shown on a map from Komoot, could not be loaded because you did "
1514
  "Die Tour, verzeichnet auf einer Karte von Komoot, konnte nicht geladen "
1515
  "werden, da du nicht zugestimmt hast den Service zu laden."
1516
 
 
 
 
 
1517
  #: inc/overrides/pro/presets/blocker/MailerLitePreset.php:1
1518
  msgid ""
1519
  "The email newsletter subscription form is blocked because you have not "
1535
  msgid "Ninja Forms with Google reCAPTCHA"
1536
  msgstr "Ninja Forms mit Google reCAPTCHA"
1537
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1538
  #: inc/overrides/pro/presets/blocker/ProvenExpertWidgetPreset.php:1
1539
  msgid ""
1540
  "Widget that shows ratings on Proven Expert has been blocked because you did "
1547
  msgid "Quform with Google reCAPTCHA"
1548
  msgstr "Quform mit Google reCAPTCHA"
1549
 
 
 
 
 
 
 
 
 
1550
  #: inc/overrides/pro/presets/blocker/SendinbluePreset.php:1
1551
  msgid ""
1552
  "The email newsletter subscription form is blocked because you have not "
1555
  "Das E-Mail-Newsletter-Anmeldeformular ist blockiert, weil du das Laden "
1556
  "unseres E-Mail-Marketing-Anbieters Sendinblue nicht erlaubt hast."
1557
 
 
 
 
 
 
 
 
 
 
 
 
 
1558
  #: inc/overrides/pro/presets/blocker/ThriveLeadsPreset.php:1
1559
  msgid ""
1560
  "We would like to offer you to subscribe to our newsletter. To do so, you "
1563
  "Wir würden dir gerne anbieten unseren Newsletter zu abonnieren. Dazu "
1564
  "müsstest du uns erlauben, den Service Thrive Leads zu verwenden."
1565
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1566
  #: inc/overrides/pro/presets/blocker/TypeformPreset.php:1
1567
  msgid ""
1568
  "We use the Typeform service to insert forms on our websites. In order to use "
1572
  "einzufügen. Um das Formular nutzen zu können, musst du diesem Service "
1573
  "erlauben, zu laden."
1574
 
 
 
 
 
 
1575
  #: inc/overrides/pro/presets/blocker/WPFormsPreset.php:1
1576
  msgid "WPForms with Google reCAPTCHA"
1577
  msgstr "WPForms mit Google reCAPTCHA"
4790
  "Um dich einzuloggen, musst du uns aus Sicherheits- und Komfort-Gründen "
4791
  "erlauben, zusätzliche Services zu laden."
4792
 
 
 
 
 
 
 
4793
  #: inc/presets/free/ElementorPreset.php:1
4794
  msgid ""
4795
  "Elementor is a software used to create the layout of this website. Cookies "
6686
  msgid "Please provide a `type` attribute in your shortcode. Allowed: %s!"
6687
  msgstr "Bitte gib in deinem Shortcode das Attribut `type` an. Erlaubt: %s!"
6688
 
6689
+ #~ msgid ""
6690
+ #~ "Audio from Anchor has been blocked because you did not allow to load it."
6691
+ #~ msgstr ""
6692
+ #~ "Audio von Anchor wurde blockiert, weil du das Laden nicht erlaubt hast."
6693
+
6694
+ #~ msgid ""
6695
+ #~ "Music from Apple Music has been blocked because you did not allow to load "
6696
+ #~ "it."
6697
+ #~ msgstr ""
6698
+ #~ "Musik von Apple Music wurde blockiert, weil du das Laden nicht erlaubt "
6699
+ #~ "hast."
6700
+
6701
+ #~ msgid ""
6702
+ #~ "A map from Bing Maps has been blocked because you did not allow to load "
6703
+ #~ "it."
6704
+ #~ msgstr ""
6705
+ #~ "Eine Karte von Bing Maps wurde blockiert, weil du das Laden der Karte "
6706
+ #~ "nicht erlaubt hast."
6707
+
6708
+ #~ msgid ""
6709
+ #~ "A feed from facebook.com has been blocked because you did not allow to "
6710
+ #~ "load it."
6711
+ #~ msgstr ""
6712
+ #~ "Ein eingebetteter Feed von facebook.com wurde blockiert, da du nicht "
6713
+ #~ "erlaubt hast, diesen zu laden."
6714
+
6715
+ #~ msgid ""
6716
+ #~ "A tweet feed from Twitter has been blocked because you did not allow to "
6717
+ #~ "load it."
6718
+ #~ msgstr ""
6719
+ #~ "Ein Tweet-Feed von Twitter wurde blockiert, da du nicht erlaubt hast, "
6720
+ #~ "diesen zu laden."
6721
+
6722
+ #~ msgid ""
6723
+ #~ "Video from Dailymotion has been blocked because you did not allow to load "
6724
+ #~ "it."
6725
+ #~ msgstr ""
6726
+ #~ "Video von Dailymotion wurde blockiert, weil du das Laden des Videos nicht "
6727
+ #~ "erlaubt hast."
6728
+
6729
+ #~ msgid ""
6730
+ #~ "Widget from Discord has been blocked because you did not allow to load it."
6731
+ #~ msgstr ""
6732
+ #~ "Widget von Discord wurden blockiert, weil du nicht erlaubt hast, es zu "
6733
+ #~ "laden."
6734
+
6735
+ #~ msgid ""
6736
+ #~ "Facebook Like Button has been blocked because you did not allow to load "
6737
+ #~ "it."
6738
+ #~ msgstr ""
6739
+ #~ "Facebook Like Button wurde blockiert, da du nicht erlaubt hast, diesen zu "
6740
+ #~ "laden."
6741
+
6742
+ #~ msgid ""
6743
+ #~ "An embedded post from facebook.com has been blocked because you did not "
6744
+ #~ "allow to load it."
6745
+ #~ msgstr ""
6746
+ #~ "Ein eingebetteter Beitrag von facebook.com wurde blockiert, da du nicht "
6747
+ #~ "erlaubt hast, diesen zu laden."
6748
+
6749
+ #~ msgid ""
6750
+ #~ "Facebook Share Button has been blocked because you did not allow to load "
6751
+ #~ "it."
6752
+ #~ msgstr ""
6753
+ #~ "Facebook Share Button wurde blockiert, da du nicht erlaubt hast, diesen "
6754
+ #~ "zu laden."
6755
+
6756
+ #~ msgid ""
6757
+ #~ "An image from Flickr has been blocked because you did not allow to load "
6758
+ #~ "it."
6759
+ #~ msgstr ""
6760
+ #~ "Ein Bild von Flickr wurde blockiert, da du nicht erlaubt hast, es zu "
6761
+ #~ "laden."
6762
+
6763
+ #~ msgid ""
6764
+ #~ "Content from Giphy has been blocked because you did not allow to load it."
6765
+ #~ msgstr ""
6766
+ #~ "Inhalte von Giphy wurden blockiert, weil du das Laden nicht erlaubt hast."
6767
+
6768
+ #~ msgid ""
6769
+ #~ "A map from Google Maps has been blocked because you did not allow to load "
6770
+ #~ "it."
6771
+ #~ msgstr ""
6772
+ #~ "Eine Karte von Google Maps wurde blockiert, da du nicht erlaubt hast, sie "
6773
+ #~ "zu laden."
6774
+
6775
+ #~ msgid ""
6776
+ #~ "Search trends chart from Google Trends has been blocked because you did "
6777
+ #~ "not allow to load it."
6778
+ #~ msgstr ""
6779
+ #~ "Die Suchtrends Charts von Google Trends wurde blockiert, weil du nicht "
6780
+ #~ "erlaubt hast, sie zu laden."
6781
+
6782
+ #~ msgid ""
6783
+ #~ "Content from Imgur has been blocked because you did not allow to load it."
6784
+ #~ msgstr ""
6785
+ #~ "Inhalt von Imgur wurde blockiert, da du nicht erlaubt hast, ihn zu laden."
6786
+
6787
+ #~ msgid ""
6788
+ #~ "An image or video from Instagram has been blocked because you did not "
6789
+ #~ "allow to load it."
6790
+ #~ msgstr ""
6791
+ #~ "Ein Bild oder Video aus Instagram wurde blockiert, da du nicht erlaubt "
6792
+ #~ "hast, ihn zu laden."
6793
+
6794
+ #~ msgid ""
6795
+ #~ "Documents from issuu.com has been blocked because you did not allow to "
6796
+ #~ "load it."
6797
+ #~ msgstr ""
6798
+ #~ "Dokumente von issuu.com wurden blockiert, weil du nicht erlaubt hast, sie "
6799
+ #~ "zu laden."
6800
+
6801
+ #~ msgid ""
6802
+ #~ "Video from Loom has been blocked because you did not allow to load it."
6803
+ #~ msgstr ""
6804
+ #~ "Video von Loom wurde blockiert, weil du das Laden nicht erlaubt hast."
6805
+
6806
+ #~ msgid ""
6807
+ #~ "A map from OpenStreetMap has been blocked because you did not allow to "
6808
+ #~ "load it."
6809
+ #~ msgstr ""
6810
+ #~ "Karte von OpenStreetMap wurde blockiert, weil du nicht erlaubt hast, sie "
6811
+ #~ "zu laden."
6812
+
6813
+ #~ msgid ""
6814
+ #~ "Content from Pinterest has been blocked because you did not allow to load "
6815
+ #~ "it."
6816
+ #~ msgstr ""
6817
+ #~ "Inhalt von Pinterest wurde blockiert, da du nicht erlaubt hast, ihn zu "
6818
+ #~ "laden."
6819
+
6820
+ #~ msgid ""
6821
+ #~ "A podcast from Podigee has been blocked because you did not allow to load "
6822
+ #~ "it."
6823
+ #~ msgstr ""
6824
+ #~ "Ein Podcast von Podigee wurde blockiert, weil du nicht erlaubt hast ihn "
6825
+ #~ "zu laden."
6826
+
6827
+ #~ msgid ""
6828
+ #~ "An embedded post from reddit.com has been blocked because you did not "
6829
+ #~ "allow to load it."
6830
+ #~ msgstr ""
6831
+ #~ "Ein eingebetteter Beitrag von reddit.com wurde blockiert, weil du das "
6832
+ #~ "Laden des Beitrags nicht erlaubt hast."
6833
+
6834
+ #~ msgid ""
6835
+ #~ "Audio from SoundCloud has been blocked because you did not allow to load "
6836
+ #~ "it."
6837
+ #~ msgstr ""
6838
+ #~ "Audio von SoundCloud wurde blockiert, da du nicht erlaubt hast, es zu "
6839
+ #~ "laden."
6840
+
6841
+ #~ msgid ""
6842
+ #~ "Music from Spotify has been blocked because you did not allow to load it."
6843
+ #~ msgstr ""
6844
+ #~ "Musik von Spotify wurde blockiert, weil du das Laden nicht erlaubt hast."
6845
+
6846
+ #~ msgid ""
6847
+ #~ "Video from TikTok has been blocked because you did not allow to load it."
6848
+ #~ msgstr ""
6849
+ #~ "Video von TikTok wurde blockiert, da du das Laden des Videos nicht "
6850
+ #~ "erlaubt hast."
6851
+
6852
+ #~ msgid ""
6853
+ #~ "A tweet from Twitter has been blocked because you did not allow to load "
6854
+ #~ "it."
6855
+ #~ msgstr ""
6856
+ #~ "Ein Tweet von Twitter wurde blockiert, da du nicht erlaubt hast, ihn zu "
6857
+ #~ "laden."
6858
+
6859
+ #~ msgid ""
6860
+ #~ "Video from Vimeo has been blocked because you did not allow to load it."
6861
+ #~ msgstr ""
6862
+ #~ "Video von Vimeo wurde blockiert, da du nicht erlaubt hast, es zu laden."
6863
+
6864
+ #~ msgid ""
6865
+ #~ "Video from YouTube has been blocked because you did not allow to load it."
6866
+ #~ msgstr ""
6867
+ #~ "Das Video von YouTube wurde blockiert, da du das Laden nicht erlaubt hast."
6868
+
6869
  #~ msgid ""
6870
  #~ "Real Cookie Banner asks the user to consent to the cookies used on this "
6871
  #~ "website. The cookies store the UUID (pseudonym identification of the "
languages/real-cookie-banner-de_DE_formal.mo CHANGED
Binary file
languages/real-cookie-banner-de_DE_formal.po CHANGED
@@ -5,7 +5,7 @@ msgstr ""
5
  "Project-Id-Version: n/a\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
7
  "POT-Creation-Date: n/a\n"
8
- "PO-Revision-Date: 2021-12-01 07:07+0000\n"
9
  "Last-Translator: Jan Karres <jan.karres@devowl.io>\n"
10
  "Language-Team: German (formal) <https://translate.devowl.io/projects/"
11
  "wordpress-real-cookie-banner-backend-php/develop/de@formal/>\n"
@@ -1216,7 +1216,7 @@ msgid ""
1216
  msgstr ""
1217
  "Fügen Sie ein leeres div-Element mit der definierten HTML-ID irgendwo auf "
1218
  "Ihrer Website ein, wo das Widget nach der Zustimmung des Benutzers "
1219
- "erscheinen soll (z. B. <code>&lt;div id=“amzn-widget”>&lt;/div></code> in "
1220
  "der Seitenleiste Ihres Blogs)."
1221
 
1222
  #: inc/overrides/pro/presets/AmazonAssociatesWidgetPreset.php:1
@@ -1455,26 +1455,6 @@ msgstr ""
1455
  "Die Links zum Teilen des Inhalts in verschiedenen sozialen Netzwerken wurden "
1456
  "blockiert, weil Sie das Laden nicht zulassen."
1457
 
1458
- #: inc/overrides/pro/presets/blocker/AnchorFmPreset.php:1
1459
- msgid ""
1460
- "Audio from Anchor has been blocked because you did not allow to load it."
1461
- msgstr ""
1462
- "Audio von Anchor wurde blockiert, weil Sie nicht erlaubt haben, es zu laden."
1463
-
1464
- #: inc/overrides/pro/presets/blocker/AppleMusicPreset.php:1
1465
- msgid ""
1466
- "Music from Apple Music has been blocked because you did not allow to load it."
1467
- msgstr ""
1468
- "Musik von Apple Music wurde blockiert, weil Sie nicht erlaubt haben, sie zu "
1469
- "laden."
1470
-
1471
- #: inc/overrides/pro/presets/blocker/BingMapsPreset.php:1
1472
- msgid ""
1473
- "A map from Bing Maps has been blocked because you did not allow to load it."
1474
- msgstr ""
1475
- "Eine Karte von Bing Maps wurde blockiert, weil Sie nicht erlaubt haben, sie "
1476
- "zu laden."
1477
-
1478
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1479
  msgid "Caldera Forms with Google reCAPTCHA"
1480
  msgstr "Caldera-Formulare mit Google reCAPTCHA"
@@ -1503,46 +1483,10 @@ msgstr ""
1503
  "Das Anmeldeformular für den E-Mail-Newsletter ist blockiert, weil Sie "
1504
  "unserem E-Mail-Marketing-Anbieter ConvertKit das Laden nicht erlaubt haben."
1505
 
1506
- #: inc/overrides/pro/presets/blocker/CustomFacebookFeedPreset.php:1
1507
- msgid ""
1508
- "A feed from facebook.com has been blocked because you did not allow to load "
1509
- "it."
1510
- msgstr ""
1511
- "Ein Feed von facebook.com wurde blockiert, weil du nicht erlaubt hast, ihn "
1512
- "zu laden."
1513
-
1514
- #: inc/overrides/pro/presets/blocker/CustomTwitterFeedPreset.php:1
1515
- msgid ""
1516
- "A tweet feed from Twitter has been blocked because you did not allow to load "
1517
- "it."
1518
- msgstr ""
1519
- "Ein Tweet-Feed von Twitter wurde blockiert, weil Sie nicht erlaubt haben, "
1520
- "ihn zu laden."
1521
-
1522
- #: inc/overrides/pro/presets/blocker/DailymotionPreset.php:1
1523
- msgid ""
1524
- "Video from Dailymotion has been blocked because you did not allow to load it."
1525
- msgstr ""
1526
- "Das Video von Dailymotion wurde blockiert, weil Sie es nicht laden durften."
1527
-
1528
- #: inc/overrides/pro/presets/blocker/DiscordWidgetPreset.php:1
1529
- msgid ""
1530
- "Widget from Discord has been blocked because you did not allow to load it."
1531
- msgstr ""
1532
- "Das Widget von Discord wurde blockiert, weil Sie nicht erlaubt haben, es zu "
1533
- "laden."
1534
-
1535
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1536
  msgid "Elementor Forms with Google reCAPTCHA"
1537
  msgstr "Elementor Forms mit Google reCAPTCHA"
1538
 
1539
- #: inc/overrides/pro/presets/blocker/FacebookLikePreset.php:1
1540
- msgid ""
1541
- "Facebook Like Button has been blocked because you did not allow to load it."
1542
- msgstr ""
1543
- "Der Facebook-Like-Button wurde blockiert, weil Sie nicht erlaubt haben, ihn "
1544
- "zu laden."
1545
-
1546
  #: inc/overrides/pro/presets/blocker/FacebookPagePluginPreset.php:1
1547
  msgid ""
1548
  "Information about a Facebook Page has been blocked because you did not allow "
@@ -1551,28 +1495,6 @@ msgstr ""
1551
  "Informationen über eine Facebook-Seite wurden blockiert, weil du nicht "
1552
  "erlaubt hast, sie zu laden."
1553
 
1554
- #: inc/overrides/pro/presets/blocker/FacebookPostPreset.php:1
1555
- msgid ""
1556
- "An embedded post from facebook.com has been blocked because you did not "
1557
- "allow to load it."
1558
- msgstr ""
1559
- "Ein eingebetteter Beitrag von facebook.com wurde blockiert, weil du das "
1560
- "Laden nicht erlaubt hast."
1561
-
1562
- #: inc/overrides/pro/presets/blocker/FacebookSharePreset.php:1
1563
- msgid ""
1564
- "Facebook Share Button has been blocked because you did not allow to load it."
1565
- msgstr ""
1566
- "Der Facebook Share Button wurde blockiert, weil Sie nicht erlaubt haben, ihn "
1567
- "zu laden."
1568
-
1569
- #: inc/overrides/pro/presets/blocker/FlickrPreset.php:1
1570
- msgid ""
1571
- "An image from Flickr has been blocked because you did not allow to load it."
1572
- msgstr ""
1573
- "Ein Bild von Flickr wurde blockiert, weil Sie nicht erlaubt haben, es zu "
1574
- "laden."
1575
-
1576
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1577
  msgid "Formidable with Google reCAPTCHA"
1578
  msgstr "Formidable mit Google reCAPTCHA"
@@ -1590,51 +1512,6 @@ msgstr ""
1590
  "zeigen. Dazu müssen Sie uns aber erlauben, den GetYourGuide-Service zu "
1591
  "nutzen."
1592
 
1593
- #: inc/overrides/pro/presets/blocker/GiphyPreset.php:1
1594
- msgid ""
1595
- "Content from Giphy has been blocked because you did not allow to load it."
1596
- msgstr ""
1597
- "Der Inhalt von Giphy wurde blockiert, weil Sie nicht erlaubt haben, ihn zu "
1598
- "laden."
1599
-
1600
- #: inc/overrides/pro/presets/blocker/GoogleMapsPreset.php:1
1601
- msgid ""
1602
- "A map from Google Maps has been blocked because you did not allow to load it."
1603
- msgstr ""
1604
- "Eine Karte von Google Maps wurde blockiert, weil Sie nicht erlaubt haben, "
1605
- "sie zu laden."
1606
-
1607
- #: inc/overrides/pro/presets/blocker/GoogleTrendsPreset.php:1
1608
- msgid ""
1609
- "Search trends chart from Google Trends has been blocked because you did not "
1610
- "allow to load it."
1611
- msgstr ""
1612
- "Das Suchtrends-Diagramm von Google Trends wurde blockiert, weil Sie nicht "
1613
- "erlaubt haben, es zu laden."
1614
-
1615
- #: inc/overrides/pro/presets/blocker/ImgurPreset.php:1
1616
- msgid ""
1617
- "Content from Imgur has been blocked because you did not allow to load it."
1618
- msgstr ""
1619
- "Der Inhalt von Imgur wurde blockiert, weil Sie nicht erlaubt haben, ihn zu "
1620
- "laden."
1621
-
1622
- #: inc/overrides/pro/presets/blocker/InstagramPostPreset.php:1
1623
- msgid ""
1624
- "An image or video from Instagram has been blocked because you did not allow "
1625
- "to load it."
1626
- msgstr ""
1627
- "Ein Bild oder Video von Instagram wurde blockiert, weil Sie nicht erlaubt "
1628
- "haben, es zu laden."
1629
-
1630
- #: inc/overrides/pro/presets/blocker/IssuuPreset.php:1
1631
- msgid ""
1632
- "Documents from issuu.com has been blocked because you did not allow to load "
1633
- "it."
1634
- msgstr ""
1635
- "Dokumente von issuu.com wurden blockiert, weil Sie nicht erlaubt haben, sie "
1636
- "zu laden."
1637
-
1638
  #: inc/overrides/pro/presets/blocker/KomootPreset.php:1
1639
  msgid ""
1640
  "The tour, shown on a map from Komoot, could not be loaded because you did "
@@ -1643,11 +1520,6 @@ msgstr ""
1643
  "Die Tour, verzeichnet auf einer Karte von Komoot, konnte nicht geladen "
1644
  "werden, da Sie nicht zugestimmt haben, den Service zu laden."
1645
 
1646
- #: inc/overrides/pro/presets/blocker/LoomPreset.php:1
1647
- msgid "Video from Loom has been blocked because you did not allow to load it."
1648
- msgstr ""
1649
- "Das Video von Loom wurde blockiert, weil Sie das Laden nicht erlaubt haben."
1650
-
1651
  #: inc/overrides/pro/presets/blocker/MailerLitePreset.php:1
1652
  msgid ""
1653
  "The email newsletter subscription form is blocked because you have not "
@@ -1669,28 +1541,6 @@ msgstr ""
1669
  msgid "Ninja Forms with Google reCAPTCHA"
1670
  msgstr "Ninja Forms mit Google reCAPTCHA"
1671
 
1672
- #: inc/overrides/pro/presets/blocker/OpenStreetMapPreset.php:1
1673
- msgid ""
1674
- "A map from OpenStreetMap has been blocked because you did not allow to load "
1675
- "it."
1676
- msgstr ""
1677
- "Eine Karte von OpenStreetMap wurde blockiert, weil Sie nicht erlaubt haben, "
1678
- "sie zu laden."
1679
-
1680
- #: inc/overrides/pro/presets/blocker/PinterestPreset.php:1
1681
- msgid ""
1682
- "Content from Pinterest has been blocked because you did not allow to load it."
1683
- msgstr ""
1684
- "Der Inhalt von Pinterest wurde blockiert, weil Sie nicht erlaubt haben, ihn "
1685
- "zu laden."
1686
-
1687
- #: inc/overrides/pro/presets/blocker/PodigeePreset.php:1
1688
- msgid ""
1689
- "A podcast from Podigee has been blocked because you did not allow to load it."
1690
- msgstr ""
1691
- "Ein Podcast von Podigee wurde blockiert, weil Sie nicht erlaubt haben, ihn "
1692
- "zu laden."
1693
-
1694
  #: inc/overrides/pro/presets/blocker/ProvenExpertWidgetPreset.php:1
1695
  msgid ""
1696
  "Widget that shows ratings on Proven Expert has been blocked because you did "
@@ -1703,14 +1553,6 @@ msgstr ""
1703
  msgid "Quform with Google reCAPTCHA"
1704
  msgstr "Quform mit Google reCAPTCHA"
1705
 
1706
- #: inc/overrides/pro/presets/blocker/RedditPreset.php:1
1707
- msgid ""
1708
- "An embedded post from reddit.com has been blocked because you did not allow "
1709
- "to load it."
1710
- msgstr ""
1711
- "Ein eingebetteter Beitrag von reddit.com wurde blockiert, weil Sie das Laden "
1712
- "des Beitrags nicht erlaubt haben."
1713
-
1714
  #: inc/overrides/pro/presets/blocker/SendinbluePreset.php:1
1715
  msgid ""
1716
  "The email newsletter subscription form is blocked because you have not "
@@ -1719,20 +1561,6 @@ msgstr ""
1719
  "Das Anmeldeformular für den E-Mail-Newsletter ist blockiert, weil Sie "
1720
  "unserem E-Mail-Marketing-Anbieter Sendinblue das Laden nicht erlaubt haben."
1721
 
1722
- #: inc/overrides/pro/presets/blocker/SoundCloudPreset.php:1
1723
- msgid ""
1724
- "Audio from SoundCloud has been blocked because you did not allow to load it."
1725
- msgstr ""
1726
- "Audio von SoundCloud wurde blockiert, weil Sie nicht erlaubt haben, es zu "
1727
- "laden."
1728
-
1729
- #: inc/overrides/pro/presets/blocker/SpotifyPreset.php:1
1730
- msgid ""
1731
- "Music from Spotify has been blocked because you did not allow to load it."
1732
- msgstr ""
1733
- "Musik von Spotify wurde blockiert, weil Sie nicht erlaubt haben, sie zu "
1734
- "laden."
1735
-
1736
  #: inc/overrides/pro/presets/blocker/ThriveLeadsPreset.php:1
1737
  msgid ""
1738
  "We would like to offer you to subscribe to our newsletter. To do so, you "
@@ -1741,20 +1569,6 @@ msgstr ""
1741
  "Wir möchten Ihnen anbieten, unseren Newsletter zu abonnieren. Dazu müssen "
1742
  "Sie uns erlauben, den Thrive Leads Service zu nutzen."
1743
 
1744
- #: inc/overrides/pro/presets/blocker/TikTokPreset.php:1
1745
- msgid ""
1746
- "Video from TikTok has been blocked because you did not allow to load it."
1747
- msgstr ""
1748
- "Das Video von TikTok wurde blockiert, weil Sie nicht erlaubt haben, es zu "
1749
- "laden."
1750
-
1751
- #: inc/overrides/pro/presets/blocker/TwitterTweetPreset.php:1
1752
- msgid ""
1753
- "A tweet from Twitter has been blocked because you did not allow to load it."
1754
- msgstr ""
1755
- "Ein Tweet von Twitter wurde blockiert, weil Sie das Laden des Tweets nicht "
1756
- "erlaubt haben."
1757
-
1758
  #: inc/overrides/pro/presets/blocker/TypeformPreset.php:1
1759
  msgid ""
1760
  "We use the Typeform service to insert forms on our websites. In order to use "
@@ -1764,12 +1578,6 @@ msgstr ""
1764
  "einzufügen. Um das Formular nutzen zu können, müssen Sie das Laden dieses "
1765
  "Dienstes erlauben."
1766
 
1767
- #: inc/overrides/pro/presets/blocker/VimeoPreset.php:1
1768
- msgid "Video from Vimeo has been blocked because you did not allow to load it."
1769
- msgstr ""
1770
- "Das Video von Vimeo wurde blockiert, weil Sie nicht erlaubt haben, es zu "
1771
- "laden."
1772
-
1773
  #: inc/overrides/pro/presets/blocker/WPFormsPreset.php:1
1774
  msgid "WPForms with Google reCAPTCHA"
1775
  msgstr "WPForms mit Google reCAPTCHA"
@@ -4992,12 +4800,6 @@ msgstr ""
4992
  "Um sich einzuloggen, müssen Sie uns aus Sicherheits- und Komfortgründen "
4993
  "erlauben, zusätzliche Services zu laden."
4994
 
4995
- #: inc/presets/free/blocker/YoutubePreset.php:1
4996
- msgid ""
4997
- "Video from YouTube has been blocked because you did not allow to load it."
4998
- msgstr ""
4999
- "Video von YouTube wurde blockiert, da Sie nicht erlaubt haben, es zu laden."
5000
-
5001
  #: inc/presets/free/ElementorPreset.php:1
5002
  msgid ""
5003
  "Elementor is a software used to create the layout of this website. Cookies "
@@ -6894,3 +6696,190 @@ msgstr "Bitte geben Sie ein `text` Attribut in Ihrem Shortcode an!"
6894
  msgid "Please provide a `type` attribute in your shortcode. Allowed: %s!"
6895
  msgstr ""
6896
  "Bitte geben Sie in Ihrem Shortcode das Attribut `type` an. Erlaubt: %s!"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  "Project-Id-Version: n/a\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/src\n"
7
  "POT-Creation-Date: n/a\n"
8
+ "PO-Revision-Date: 2021-12-09 18:39+0000\n"
9
  "Last-Translator: Jan Karres <jan.karres@devowl.io>\n"
10
  "Language-Team: German (formal) <https://translate.devowl.io/projects/"
11
  "wordpress-real-cookie-banner-backend-php/develop/de@formal/>\n"
1216
  msgstr ""
1217
  "Fügen Sie ein leeres div-Element mit der definierten HTML-ID irgendwo auf "
1218
  "Ihrer Website ein, wo das Widget nach der Zustimmung des Benutzers "
1219
+ "erscheinen soll (z. B. <code>&lt;div id=\"amzn-widget\">&lt;/div></code> in "
1220
  "der Seitenleiste Ihres Blogs)."
1221
 
1222
  #: inc/overrides/pro/presets/AmazonAssociatesWidgetPreset.php:1
1455
  "Die Links zum Teilen des Inhalts in verschiedenen sozialen Netzwerken wurden "
1456
  "blockiert, weil Sie das Laden nicht zulassen."
1457
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1458
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
1459
  msgid "Caldera Forms with Google reCAPTCHA"
1460
  msgstr "Caldera-Formulare mit Google reCAPTCHA"
1483
  "Das Anmeldeformular für den E-Mail-Newsletter ist blockiert, weil Sie "
1484
  "unserem E-Mail-Marketing-Anbieter ConvertKit das Laden nicht erlaubt haben."
1485
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1486
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
1487
  msgid "Elementor Forms with Google reCAPTCHA"
1488
  msgstr "Elementor Forms mit Google reCAPTCHA"
1489
 
 
 
 
 
 
 
 
1490
  #: inc/overrides/pro/presets/blocker/FacebookPagePluginPreset.php:1
1491
  msgid ""
1492
  "Information about a Facebook Page has been blocked because you did not allow "
1495
  "Informationen über eine Facebook-Seite wurden blockiert, weil du nicht "
1496
  "erlaubt hast, sie zu laden."
1497
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1498
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1499
  msgid "Formidable with Google reCAPTCHA"
1500
  msgstr "Formidable mit Google reCAPTCHA"
1512
  "zeigen. Dazu müssen Sie uns aber erlauben, den GetYourGuide-Service zu "
1513
  "nutzen."
1514
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1515
  #: inc/overrides/pro/presets/blocker/KomootPreset.php:1
1516
  msgid ""
1517
  "The tour, shown on a map from Komoot, could not be loaded because you did "
1520
  "Die Tour, verzeichnet auf einer Karte von Komoot, konnte nicht geladen "
1521
  "werden, da Sie nicht zugestimmt haben, den Service zu laden."
1522
 
 
 
 
 
 
1523
  #: inc/overrides/pro/presets/blocker/MailerLitePreset.php:1
1524
  msgid ""
1525
  "The email newsletter subscription form is blocked because you have not "
1541
  msgid "Ninja Forms with Google reCAPTCHA"
1542
  msgstr "Ninja Forms mit Google reCAPTCHA"
1543
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1544
  #: inc/overrides/pro/presets/blocker/ProvenExpertWidgetPreset.php:1
1545
  msgid ""
1546
  "Widget that shows ratings on Proven Expert has been blocked because you did "
1553
  msgid "Quform with Google reCAPTCHA"
1554
  msgstr "Quform mit Google reCAPTCHA"
1555
 
 
 
 
 
 
 
 
 
1556
  #: inc/overrides/pro/presets/blocker/SendinbluePreset.php:1
1557
  msgid ""
1558
  "The email newsletter subscription form is blocked because you have not "
1561
  "Das Anmeldeformular für den E-Mail-Newsletter ist blockiert, weil Sie "
1562
  "unserem E-Mail-Marketing-Anbieter Sendinblue das Laden nicht erlaubt haben."
1563
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1564
  #: inc/overrides/pro/presets/blocker/ThriveLeadsPreset.php:1
1565
  msgid ""
1566
  "We would like to offer you to subscribe to our newsletter. To do so, you "
1569
  "Wir möchten Ihnen anbieten, unseren Newsletter zu abonnieren. Dazu müssen "
1570
  "Sie uns erlauben, den Thrive Leads Service zu nutzen."
1571
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1572
  #: inc/overrides/pro/presets/blocker/TypeformPreset.php:1
1573
  msgid ""
1574
  "We use the Typeform service to insert forms on our websites. In order to use "
1578
  "einzufügen. Um das Formular nutzen zu können, müssen Sie das Laden dieses "
1579
  "Dienstes erlauben."
1580
 
 
 
 
 
 
 
1581
  #: inc/overrides/pro/presets/blocker/WPFormsPreset.php:1
1582
  msgid "WPForms with Google reCAPTCHA"
1583
  msgstr "WPForms mit Google reCAPTCHA"
4800
  "Um sich einzuloggen, müssen Sie uns aus Sicherheits- und Komfortgründen "
4801
  "erlauben, zusätzliche Services zu laden."
4802
 
 
 
 
 
 
 
4803
  #: inc/presets/free/ElementorPreset.php:1
4804
  msgid ""
4805
  "Elementor is a software used to create the layout of this website. Cookies "
6696
  msgid "Please provide a `type` attribute in your shortcode. Allowed: %s!"
6697
  msgstr ""
6698
  "Bitte geben Sie in Ihrem Shortcode das Attribut `type` an. Erlaubt: %s!"
6699
+
6700
+ #~ msgid ""
6701
+ #~ "Audio from Anchor has been blocked because you did not allow to load it."
6702
+ #~ msgstr ""
6703
+ #~ "Audio von Anchor wurde blockiert, weil Sie nicht erlaubt haben, es zu "
6704
+ #~ "laden."
6705
+
6706
+ #~ msgid ""
6707
+ #~ "Music from Apple Music has been blocked because you did not allow to load "
6708
+ #~ "it."
6709
+ #~ msgstr ""
6710
+ #~ "Musik von Apple Music wurde blockiert, weil Sie nicht erlaubt haben, sie "
6711
+ #~ "zu laden."
6712
+
6713
+ #~ msgid ""
6714
+ #~ "A map from Bing Maps has been blocked because you did not allow to load "
6715
+ #~ "it."
6716
+ #~ msgstr ""
6717
+ #~ "Eine Karte von Bing Maps wurde blockiert, weil Sie nicht erlaubt haben, "
6718
+ #~ "sie zu laden."
6719
+
6720
+ #~ msgid ""
6721
+ #~ "A feed from facebook.com has been blocked because you did not allow to "
6722
+ #~ "load it."
6723
+ #~ msgstr ""
6724
+ #~ "Ein Feed von facebook.com wurde blockiert, weil du nicht erlaubt hast, "
6725
+ #~ "ihn zu laden."
6726
+
6727
+ #~ msgid ""
6728
+ #~ "A tweet feed from Twitter has been blocked because you did not allow to "
6729
+ #~ "load it."
6730
+ #~ msgstr ""
6731
+ #~ "Ein Tweet-Feed von Twitter wurde blockiert, weil Sie nicht erlaubt haben, "
6732
+ #~ "ihn zu laden."
6733
+
6734
+ #~ msgid ""
6735
+ #~ "Video from Dailymotion has been blocked because you did not allow to load "
6736
+ #~ "it."
6737
+ #~ msgstr ""
6738
+ #~ "Das Video von Dailymotion wurde blockiert, weil Sie es nicht laden "
6739
+ #~ "durften."
6740
+
6741
+ #~ msgid ""
6742
+ #~ "Widget from Discord has been blocked because you did not allow to load it."
6743
+ #~ msgstr ""
6744
+ #~ "Das Widget von Discord wurde blockiert, weil Sie nicht erlaubt haben, es "
6745
+ #~ "zu laden."
6746
+
6747
+ #~ msgid ""
6748
+ #~ "Facebook Like Button has been blocked because you did not allow to load "
6749
+ #~ "it."
6750
+ #~ msgstr ""
6751
+ #~ "Der Facebook-Like-Button wurde blockiert, weil Sie nicht erlaubt haben, "
6752
+ #~ "ihn zu laden."
6753
+
6754
+ #~ msgid ""
6755
+ #~ "An embedded post from facebook.com has been blocked because you did not "
6756
+ #~ "allow to load it."
6757
+ #~ msgstr ""
6758
+ #~ "Ein eingebetteter Beitrag von facebook.com wurde blockiert, weil du das "
6759
+ #~ "Laden nicht erlaubt hast."
6760
+
6761
+ #~ msgid ""
6762
+ #~ "Facebook Share Button has been blocked because you did not allow to load "
6763
+ #~ "it."
6764
+ #~ msgstr ""
6765
+ #~ "Der Facebook Share Button wurde blockiert, weil Sie nicht erlaubt haben, "
6766
+ #~ "ihn zu laden."
6767
+
6768
+ #~ msgid ""
6769
+ #~ "An image from Flickr has been blocked because you did not allow to load "
6770
+ #~ "it."
6771
+ #~ msgstr ""
6772
+ #~ "Ein Bild von Flickr wurde blockiert, weil Sie nicht erlaubt haben, es zu "
6773
+ #~ "laden."
6774
+
6775
+ #~ msgid ""
6776
+ #~ "Content from Giphy has been blocked because you did not allow to load it."
6777
+ #~ msgstr ""
6778
+ #~ "Der Inhalt von Giphy wurde blockiert, weil Sie nicht erlaubt haben, ihn "
6779
+ #~ "zu laden."
6780
+
6781
+ #~ msgid ""
6782
+ #~ "A map from Google Maps has been blocked because you did not allow to load "
6783
+ #~ "it."
6784
+ #~ msgstr ""
6785
+ #~ "Eine Karte von Google Maps wurde blockiert, weil Sie nicht erlaubt haben, "
6786
+ #~ "sie zu laden."
6787
+
6788
+ #~ msgid ""
6789
+ #~ "Search trends chart from Google Trends has been blocked because you did "
6790
+ #~ "not allow to load it."
6791
+ #~ msgstr ""
6792
+ #~ "Das Suchtrends-Diagramm von Google Trends wurde blockiert, weil Sie nicht "
6793
+ #~ "erlaubt haben, es zu laden."
6794
+
6795
+ #~ msgid ""
6796
+ #~ "Content from Imgur has been blocked because you did not allow to load it."
6797
+ #~ msgstr ""
6798
+ #~ "Der Inhalt von Imgur wurde blockiert, weil Sie nicht erlaubt haben, ihn "
6799
+ #~ "zu laden."
6800
+
6801
+ #~ msgid ""
6802
+ #~ "An image or video from Instagram has been blocked because you did not "
6803
+ #~ "allow to load it."
6804
+ #~ msgstr ""
6805
+ #~ "Ein Bild oder Video von Instagram wurde blockiert, weil Sie nicht erlaubt "
6806
+ #~ "haben, es zu laden."
6807
+
6808
+ #~ msgid ""
6809
+ #~ "Documents from issuu.com has been blocked because you did not allow to "
6810
+ #~ "load it."
6811
+ #~ msgstr ""
6812
+ #~ "Dokumente von issuu.com wurden blockiert, weil Sie nicht erlaubt haben, "
6813
+ #~ "sie zu laden."
6814
+
6815
+ #~ msgid ""
6816
+ #~ "Video from Loom has been blocked because you did not allow to load it."
6817
+ #~ msgstr ""
6818
+ #~ "Das Video von Loom wurde blockiert, weil Sie das Laden nicht erlaubt "
6819
+ #~ "haben."
6820
+
6821
+ #~ msgid ""
6822
+ #~ "A map from OpenStreetMap has been blocked because you did not allow to "
6823
+ #~ "load it."
6824
+ #~ msgstr ""
6825
+ #~ "Eine Karte von OpenStreetMap wurde blockiert, weil Sie nicht erlaubt "
6826
+ #~ "haben, sie zu laden."
6827
+
6828
+ #~ msgid ""
6829
+ #~ "Content from Pinterest has been blocked because you did not allow to load "
6830
+ #~ "it."
6831
+ #~ msgstr ""
6832
+ #~ "Der Inhalt von Pinterest wurde blockiert, weil Sie nicht erlaubt haben, "
6833
+ #~ "ihn zu laden."
6834
+
6835
+ #~ msgid ""
6836
+ #~ "A podcast from Podigee has been blocked because you did not allow to load "
6837
+ #~ "it."
6838
+ #~ msgstr ""
6839
+ #~ "Ein Podcast von Podigee wurde blockiert, weil Sie nicht erlaubt haben, "
6840
+ #~ "ihn zu laden."
6841
+
6842
+ #~ msgid ""
6843
+ #~ "An embedded post from reddit.com has been blocked because you did not "
6844
+ #~ "allow to load it."
6845
+ #~ msgstr ""
6846
+ #~ "Ein eingebetteter Beitrag von reddit.com wurde blockiert, weil Sie das "
6847
+ #~ "Laden des Beitrags nicht erlaubt haben."
6848
+
6849
+ #~ msgid ""
6850
+ #~ "Audio from SoundCloud has been blocked because you did not allow to load "
6851
+ #~ "it."
6852
+ #~ msgstr ""
6853
+ #~ "Audio von SoundCloud wurde blockiert, weil Sie nicht erlaubt haben, es zu "
6854
+ #~ "laden."
6855
+
6856
+ #~ msgid ""
6857
+ #~ "Music from Spotify has been blocked because you did not allow to load it."
6858
+ #~ msgstr ""
6859
+ #~ "Musik von Spotify wurde blockiert, weil Sie nicht erlaubt haben, sie zu "
6860
+ #~ "laden."
6861
+
6862
+ #~ msgid ""
6863
+ #~ "Video from TikTok has been blocked because you did not allow to load it."
6864
+ #~ msgstr ""
6865
+ #~ "Das Video von TikTok wurde blockiert, weil Sie nicht erlaubt haben, es zu "
6866
+ #~ "laden."
6867
+
6868
+ #~ msgid ""
6869
+ #~ "A tweet from Twitter has been blocked because you did not allow to load "
6870
+ #~ "it."
6871
+ #~ msgstr ""
6872
+ #~ "Ein Tweet von Twitter wurde blockiert, weil Sie das Laden des Tweets "
6873
+ #~ "nicht erlaubt haben."
6874
+
6875
+ #~ msgid ""
6876
+ #~ "Video from Vimeo has been blocked because you did not allow to load it."
6877
+ #~ msgstr ""
6878
+ #~ "Das Video von Vimeo wurde blockiert, weil Sie nicht erlaubt haben, es zu "
6879
+ #~ "laden."
6880
+
6881
+ #~ msgid ""
6882
+ #~ "Video from YouTube has been blocked because you did not allow to load it."
6883
+ #~ msgstr ""
6884
+ #~ "Video von YouTube wurde blockiert, da Sie nicht erlaubt haben, es zu "
6885
+ #~ "laden."
languages/real-cookie-banner.pot CHANGED
@@ -940,18 +940,6 @@ msgstr ""
940
  msgid "Links to share the content on various social networks has been blocked because you do not allow loading."
941
  msgstr ""
942
 
943
- #: inc/overrides/pro/presets/blocker/AnchorFmPreset.php:1
944
- msgid "Audio from Anchor has been blocked because you did not allow to load it."
945
- msgstr ""
946
-
947
- #: inc/overrides/pro/presets/blocker/AppleMusicPreset.php:1
948
- msgid "Music from Apple Music has been blocked because you did not allow to load it."
949
- msgstr ""
950
-
951
- #: inc/overrides/pro/presets/blocker/BingMapsPreset.php:1
952
- msgid "A map from Bing Maps has been blocked because you did not allow to load it."
953
- msgstr ""
954
-
955
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
956
  msgid "Caldera Forms with Google reCAPTCHA"
957
  msgstr ""
@@ -972,46 +960,14 @@ msgstr ""
972
  msgid "The email newsletter subscription form is blocked because you have not allowed our email marketing provider ConvertKit to load."
973
  msgstr ""
974
 
975
- #: inc/overrides/pro/presets/blocker/CustomFacebookFeedPreset.php:1
976
- msgid "A feed from facebook.com has been blocked because you did not allow to load it."
977
- msgstr ""
978
-
979
- #: inc/overrides/pro/presets/blocker/CustomTwitterFeedPreset.php:1
980
- msgid "A tweet feed from Twitter has been blocked because you did not allow to load it."
981
- msgstr ""
982
-
983
- #: inc/overrides/pro/presets/blocker/DailymotionPreset.php:1
984
- msgid "Video from Dailymotion has been blocked because you did not allow to load it."
985
- msgstr ""
986
-
987
- #: inc/overrides/pro/presets/blocker/DiscordWidgetPreset.php:1
988
- msgid "Widget from Discord has been blocked because you did not allow to load it."
989
- msgstr ""
990
-
991
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
992
  msgid "Elementor Forms with Google reCAPTCHA"
993
  msgstr ""
994
 
995
- #: inc/overrides/pro/presets/blocker/FacebookLikePreset.php:1
996
- msgid "Facebook Like Button has been blocked because you did not allow to load it."
997
- msgstr ""
998
-
999
  #: inc/overrides/pro/presets/blocker/FacebookPagePluginPreset.php:1
1000
  msgid "Information about a Facebook Page has been blocked because you did not allow to load it."
1001
  msgstr ""
1002
 
1003
- #: inc/overrides/pro/presets/blocker/FacebookPostPreset.php:1
1004
- msgid "An embedded post from facebook.com has been blocked because you did not allow to load it."
1005
- msgstr ""
1006
-
1007
- #: inc/overrides/pro/presets/blocker/FacebookSharePreset.php:1
1008
- msgid "Facebook Share Button has been blocked because you did not allow to load it."
1009
- msgstr ""
1010
-
1011
- #: inc/overrides/pro/presets/blocker/FlickrPreset.php:1
1012
- msgid "An image from Flickr has been blocked because you did not allow to load it."
1013
- msgstr ""
1014
-
1015
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
1016
  msgid "Formidable with Google reCAPTCHA"
1017
  msgstr ""
@@ -1024,38 +980,10 @@ msgstr ""
1024
  msgid "We would like to show you attractions, tours and guides from GetYourGuide. But for that you have to allow us to use the GetYourGuide service."
1025
  msgstr ""
1026
 
1027
- #: inc/overrides/pro/presets/blocker/GiphyPreset.php:1
1028
- msgid "Content from Giphy has been blocked because you did not allow to load it."
1029
- msgstr ""
1030
-
1031
- #: inc/overrides/pro/presets/blocker/GoogleMapsPreset.php:1
1032
- msgid "A map from Google Maps has been blocked because you did not allow to load it."
1033
- msgstr ""
1034
-
1035
- #: inc/overrides/pro/presets/blocker/GoogleTrendsPreset.php:1
1036
- msgid "Search trends chart from Google Trends has been blocked because you did not allow to load it."
1037
- msgstr ""
1038
-
1039
- #: inc/overrides/pro/presets/blocker/ImgurPreset.php:1
1040
- msgid "Content from Imgur has been blocked because you did not allow to load it."
1041
- msgstr ""
1042
-
1043
- #: inc/overrides/pro/presets/blocker/InstagramPostPreset.php:1
1044
- msgid "An image or video from Instagram has been blocked because you did not allow to load it."
1045
- msgstr ""
1046
-
1047
- #: inc/overrides/pro/presets/blocker/IssuuPreset.php:1
1048
- msgid "Documents from issuu.com has been blocked because you did not allow to load it."
1049
- msgstr ""
1050
-
1051
  #: inc/overrides/pro/presets/blocker/KomootPreset.php:1
1052
  msgid "The tour, shown on a map from Komoot, could not be loaded because you did not agree to load the service."
1053
  msgstr ""
1054
 
1055
- #: inc/overrides/pro/presets/blocker/LoomPreset.php:1
1056
- msgid "Video from Loom has been blocked because you did not allow to load it."
1057
- msgstr ""
1058
-
1059
  #: inc/overrides/pro/presets/blocker/MailerLitePreset.php:1
1060
  msgid "The email newsletter subscription form is blocked because you have not allowed our email marketing provider MailerLite to load."
1061
  msgstr ""
@@ -1068,18 +996,6 @@ msgstr ""
1068
  msgid "Ninja Forms with Google reCAPTCHA"
1069
  msgstr ""
1070
 
1071
- #: inc/overrides/pro/presets/blocker/OpenStreetMapPreset.php:1
1072
- msgid "A map from OpenStreetMap has been blocked because you did not allow to load it."
1073
- msgstr ""
1074
-
1075
- #: inc/overrides/pro/presets/blocker/PinterestPreset.php:1
1076
- msgid "Content from Pinterest has been blocked because you did not allow to load it."
1077
- msgstr ""
1078
-
1079
- #: inc/overrides/pro/presets/blocker/PodigeePreset.php:1
1080
- msgid "A podcast from Podigee has been blocked because you did not allow to load it."
1081
- msgstr ""
1082
-
1083
  #: inc/overrides/pro/presets/blocker/ProvenExpertWidgetPreset.php:1
1084
  msgid "Widget that shows ratings on Proven Expert has been blocked because you did not allow to load it."
1085
  msgstr ""
@@ -1088,42 +1004,18 @@ msgstr ""
1088
  msgid "Quform with Google reCAPTCHA"
1089
  msgstr ""
1090
 
1091
- #: inc/overrides/pro/presets/blocker/RedditPreset.php:1
1092
- msgid "An embedded post from reddit.com has been blocked because you did not allow to load it."
1093
- msgstr ""
1094
-
1095
  #: inc/overrides/pro/presets/blocker/SendinbluePreset.php:1
1096
  msgid "The email newsletter subscription form is blocked because you have not allowed our email marketing provider Sendinblue to load."
1097
  msgstr ""
1098
 
1099
- #: inc/overrides/pro/presets/blocker/SoundCloudPreset.php:1
1100
- msgid "Audio from SoundCloud has been blocked because you did not allow to load it."
1101
- msgstr ""
1102
-
1103
- #: inc/overrides/pro/presets/blocker/SpotifyPreset.php:1
1104
- msgid "Music from Spotify has been blocked because you did not allow to load it."
1105
- msgstr ""
1106
-
1107
  #: inc/overrides/pro/presets/blocker/ThriveLeadsPreset.php:1
1108
  msgid "We would like to offer you to subscribe to our newsletter. To do so, you would need to allow us to use the Thrive Leads service."
1109
  msgstr ""
1110
 
1111
- #: inc/overrides/pro/presets/blocker/TikTokPreset.php:1
1112
- msgid "Video from TikTok has been blocked because you did not allow to load it."
1113
- msgstr ""
1114
-
1115
- #: inc/overrides/pro/presets/blocker/TwitterTweetPreset.php:1
1116
- msgid "A tweet from Twitter has been blocked because you did not allow to load it."
1117
- msgstr ""
1118
-
1119
  #: inc/overrides/pro/presets/blocker/TypeformPreset.php:1
1120
  msgid "We use the Typeform service to insert forms on our websites. In order to use the form, you must allow this service to load."
1121
  msgstr ""
1122
 
1123
- #: inc/overrides/pro/presets/blocker/VimeoPreset.php:1
1124
- msgid "Video from Vimeo has been blocked because you did not allow to load it."
1125
- msgstr ""
1126
-
1127
  #: inc/overrides/pro/presets/blocker/WPFormsPreset.php:1
1128
  msgid "WPForms with Google reCAPTCHA"
1129
  msgstr ""
@@ -2579,10 +2471,6 @@ msgstr ""
2579
  msgid "In order to log in, you must allow us to load additional services for security and convenience reasons."
2580
  msgstr ""
2581
 
2582
- #: inc/presets/free/blocker/YoutubePreset.php:1
2583
- msgid "Video from YouTube has been blocked because you did not allow to load it."
2584
- msgstr ""
2585
-
2586
  #: inc/presets/free/ElementorPreset.php:1
2587
  msgid "Elementor is a software used to create the layout of this website. Cookies are used to store the number of page views and active sessions of the user. The collected data is not used for analysis purposes, but only to ensure that, for example, hidden elements are not displayed again during multiple active sessions."
2588
  msgstr ""
940
  msgid "Links to share the content on various social networks has been blocked because you do not allow loading."
941
  msgstr ""
942
 
 
 
 
 
 
 
 
 
 
 
 
 
943
  #: inc/overrides/pro/presets/blocker/CalderaFormsPreset.php:1
944
  msgid "Caldera Forms with Google reCAPTCHA"
945
  msgstr ""
960
  msgid "The email newsletter subscription form is blocked because you have not allowed our email marketing provider ConvertKit to load."
961
  msgstr ""
962
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
963
  #: inc/overrides/pro/presets/blocker/ElementorFormsPreset.php:1
964
  msgid "Elementor Forms with Google reCAPTCHA"
965
  msgstr ""
966
 
 
 
 
 
967
  #: inc/overrides/pro/presets/blocker/FacebookPagePluginPreset.php:1
968
  msgid "Information about a Facebook Page has been blocked because you did not allow to load it."
969
  msgstr ""
970
 
 
 
 
 
 
 
 
 
 
 
 
 
971
  #: inc/overrides/pro/presets/blocker/FormidablePreset.php:1
972
  msgid "Formidable with Google reCAPTCHA"
973
  msgstr ""
980
  msgid "We would like to show you attractions, tours and guides from GetYourGuide. But for that you have to allow us to use the GetYourGuide service."
981
  msgstr ""
982
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
983
  #: inc/overrides/pro/presets/blocker/KomootPreset.php:1
984
  msgid "The tour, shown on a map from Komoot, could not be loaded because you did not agree to load the service."
985
  msgstr ""
986
 
 
 
 
 
987
  #: inc/overrides/pro/presets/blocker/MailerLitePreset.php:1
988
  msgid "The email newsletter subscription form is blocked because you have not allowed our email marketing provider MailerLite to load."
989
  msgstr ""
996
  msgid "Ninja Forms with Google reCAPTCHA"
997
  msgstr ""
998
 
 
 
 
 
 
 
 
 
 
 
 
 
999
  #: inc/overrides/pro/presets/blocker/ProvenExpertWidgetPreset.php:1
1000
  msgid "Widget that shows ratings on Proven Expert has been blocked because you did not allow to load it."
1001
  msgstr ""
1004
  msgid "Quform with Google reCAPTCHA"
1005
  msgstr ""
1006
 
 
 
 
 
1007
  #: inc/overrides/pro/presets/blocker/SendinbluePreset.php:1
1008
  msgid "The email newsletter subscription form is blocked because you have not allowed our email marketing provider Sendinblue to load."
1009
  msgstr ""
1010
 
 
 
 
 
 
 
 
 
1011
  #: inc/overrides/pro/presets/blocker/ThriveLeadsPreset.php:1
1012
  msgid "We would like to offer you to subscribe to our newsletter. To do so, you would need to allow us to use the Thrive Leads service."
1013
  msgstr ""
1014
 
 
 
 
 
 
 
 
 
1015
  #: inc/overrides/pro/presets/blocker/TypeformPreset.php:1
1016
  msgid "We use the Typeform service to insert forms on our websites. In order to use the form, you must allow this service to load."
1017
  msgstr ""
1018
 
 
 
 
 
1019
  #: inc/overrides/pro/presets/blocker/WPFormsPreset.php:1
1020
  msgid "WPForms with Google reCAPTCHA"
1021
  msgstr ""
2471
  msgid "In order to log in, you must allow us to load additional services for security and convenience reasons."
2472
  msgstr ""
2473
 
 
 
 
 
2474
  #: inc/presets/free/ElementorPreset.php:1
2475
  msgid "Elementor is a software used to create the layout of this website. Cookies are used to store the number of page views and active sessions of the user. The collected data is not used for analysis purposes, but only to ensure that, for example, hidden elements are not displayed again during multiple active sessions."
2476
  msgstr ""
public/dist/152.lite.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunkrealCookieBanner_name_=self.webpackChunkrealCookieBanner_name_||[]).push([[152],{9372:function(e,t,a){a.d(t,{ZG:function(){return Q},PS:function(){return W},y$:function(){return X}});var n=a(9591),o=a(4741),r=a(3828),i=a(3306),c=a(6142),l=a(8782),s=a(2711),u=a(4115),m=a(7938),d=a(6315),p=a(7228),g=a(5450),h=a.n(g),v=a(7363),f=a(3554),y=a(4947);function E(e){e=(e=e.replace(/^\s+|\s+$/g,"")).toLowerCase();for(var t="àáäâèéëêìíïîòóöôùúüûñç·/_,:;",a=0,n=t.length;a<n;a++)e=e.replace(new RegExp(t.charAt(a),"g"),"aaaaeeeeiiiioooouuuunc------".charAt(a));return e.replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")}var R=a(2200),b=a(5071),_=a(4614),k=a(6711),Z=a(238),w=function(){var e=(0,Z.R)(),t=e.group,a=(0,k.useRouteMatch)().params,n=isNaN(+a.cookie)?0:+a.cookie,o=!!a.cookie,r=t.cookies.entries.get(+a.cookie)||new y.U(t.cookies,{id:0});return{routeGroup:e,cookie:r,id:n,queried:o,fetched:0!==r.key}},I=a(6478),N=a(8920),T=a(2519),O=a(5408),M=a(8618),P=a(4342),S=a(3839),C=(0,f.Pi)((function(e){var t,a,n=e.showNoticePresetGroupNotFound,o=void 0!==n&&n,i=e.groupNotice,c=e.providerPrivacyPolicyNotice,l=(0,_.m)(),s=l.cookieStore,u=s.groups,p=s.essentialGroup,g=l.optionStore,f=g.ePrivacyUSA,y=g.consentForwarding,R=w(),k=R.cookie,Z=R.fetched,C="real-cookie-banner"===(null===(t=k.presetModel)||void 0===t||null===(a=t.data)||void 0===a?void 0:a.identifier),D=(0,v.useCallback)(function(){var e=(0,m.Z)(h().mark((function e(t){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,O.W)({location:S.V,params:{slug:t}});case 3:return e.abrupt("return",e.sent.filter((function(e){return e.ID!==k.key}))[0]);case 6:return e.prev=6,e.t0=e.catch(0),e.abrupt("return",void 0);case 9:case"end":return e.stop()}}),e,null,[[0,6]])})));return function(t){return e.apply(this,arguments)}}(),[k.key]),x=(0,v.useCallback)(function(){var e=(0,m.Z)(h().mark((function e(t,a){var n,o,r,i;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,D(t);case 2:if(!(n=e.sent)){e.next=19;break}if(a){e.next=8;break}throw(0,b.__)("A service with the same unique name already exists.");case 8:o=n.metas.consentForwardingUniqueName,r=/^(.*)-(\d+)$/,i=n;case 11:if(!i){e.next=18;break}return o=o.match(r)?o.replace(r,(function(e,t,a){return"".concat(t,"-").concat(+a+1)})):"".concat(o,"-1"),e.next=15,D(o);case 15:i=e.sent,e.next=11;break;case 18:a(o);case 19:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}}(),[D]);return React.createElement(React.Fragment,null,React.createElement(M.C,{offset:W.labelCol.span},(0,b.__)("General service configuration")," ",React.createElement(P.r,{url:(0,b.__)("https://devowl.io/knowledge-base/real-cookie-banner-create-individual-cookie/")})),React.createElement(d.Z.Item,{label:(0,b.__)("Name"),required:!0},React.createElement(d.Z.Item,{name:"name",noStyle:!0,rules:[{required:!0,message:(0,b.__)("Please provide a name!")}]},React.createElement(T.Z,null)),React.createElement("p",{className:"description"},(0,b.__)('Each service used should have a descriptive name that is understandable to a non-professional user. Example: "Google Analytics".'))),React.createElement(d.Z.Item,{label:(0,b.__)("Status"),required:!0},React.createElement(d.Z.Item,{name:"status",noStyle:!0,rules:[{required:!0,message:(0,b.__)("Please choose a status!")}]},React.createElement(N.ZP.Group,null,React.createElement(N.ZP.Button,{value:"publish"},(0,b.__)("Enabled")),React.createElement(N.ZP.Button,{value:"private"},(0,b.__)("Disabled")),React.createElement(N.ZP.Button,{value:"draft"},(0,b.__)("Draft")))),React.createElement("p",{className:"description"},(0,b.__)('Services with the status "Draft" or "Disabled" are not visible to the public. In addition, a draft will be highlighted in the service table so that you do not forget to configure it.'))),React.createElement(d.Z.Item,{label:(0,b.__)("Group"),required:!0},React.createElement(d.Z.Item,{name:"group",noStyle:!0,rules:[{required:!0,message:(0,b.__)("Please provide a group!")}]},React.createElement(r.Z,null,u.sortedGroups.map((function(e){var t=e.data,a=t.id,n=t.name;return React.createElement(r.Z.Option,{key:a,value:a},n)})))),React.createElement("p",{className:"description"},(0,b.__)("Each service must be assigned to a group. All services that do not belong to the group of essential services can (but do not have to) be accepted by visitors. According to the ePrivacy Directive, only services without which the website would not function technically are considered essential services. A possible economic interest of the website operator in using a tool, e.g. Google Analytics, is irrelevant.")),!1!==o&&React.createElement("div",{className:"notice notice-warning below-h2 notice-alt"},React.createElement("p",null,(0,b.__)("The service group in which this service is normally placed (%s) has been deleted by you. Please group the service yourself.",o))),!!i&&React.createElement("div",{className:"notice notice-info below-h2 notice-alt"},React.createElement("p",{dangerouslySetInnerHTML:{__html:i}}))),React.createElement(d.Z.Item,{label:(0,b.__)("Provider"),required:!0},React.createElement(d.Z.Item,{name:"provider",noStyle:!0,rules:[{required:!0,message:(0,b.__)("Please name a provider!")}]},React.createElement(T.Z,null)),React.createElement("p",{className:"description"},(0,b.__)('A service always has an "owner", who processes collected data or information saved in cookies etc. Please specify which provider creates cookies and processes personal data, e.g. "Google Ireland Limited". If you are the provider, please enter your legal name.'))),React.createElement(d.Z.Item,{label:(0,b.__)("Purpose")},React.createElement(d.Z.Item,{name:"purpose",noStyle:!0},React.createElement(T.Z.TextArea,{autoSize:{minRows:3}})),React.createElement("p",{className:"description"},(0,b.__)("The ePrivacy Directive and the GDPR require that a non-professional user understands the purpose of this service, how personal data is collected and how cookies are used for this purpose."))),React.createElement(d.Z.Item,{label:(0,b.__)("Privacy policy of the provider")},React.createElement(d.Z.Item,{name:"providerPrivacyPolicy",noStyle:!0,rules:[{type:"url",message:(0,b.__)("Please provide a valid URL!")}]},React.createElement(T.Z,null)),React.createElement("p",{className:"description"},(0,b.__)("Provide a direct link to the privacy policy of the provider that runs this service (in the language of your website).")),!!c&&React.createElement("div",{className:"notice notice-warning below-h2 notice-alt"},React.createElement("p",{dangerouslySetInnerHTML:{__html:c}}))),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.group!==t.group||e.name!==t.name}},(function(e){var t,a=e.getFieldValue,n=e.setFieldsValue,o=a("group")===p.key;return React.createElement(React.Fragment,null,React.createElement(d.Z.Item,{label:(0,b.__)("Consent Forwarding Unique Name"),style:{display:y?void 0:"none"}},React.createElement(d.Z.Item,{name:"consentForwardingUniqueName",noStyle:!0,validateTrigger:"onBlur",rules:[{validator:(t=(0,m.Z)(h().mark((function e(t,o){var r;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=!y||!o,e.abrupt("return",x(o||E(a("name")),r?function(e){return n({consentForwardingUniqueName:e})}:void 0));case 2:case"end":return e.stop()}}),e)}))),function(e,a){return t.apply(this,arguments)})}]},React.createElement(T.Z,{placeholder:Z?"":E(a("name"))})),React.createElement("p",{className:"description"},(0,b.__)("Consent Forwarding is active. This means that all services on all available instances must be identified by a unique name in order to correctly set consent for a service.")),o&&React.createElement("div",{className:"notice notice-info below-h2 notice-alt"},React.createElement("p",null,(0,b.__)("You can define a unique name, but essential services are automatically accepted when a consent is forwarded.")))),React.createElement(d.Z.Item,{label:(0,b.__)("Legal basis"),required:!0},React.createElement(d.Z.Item,{name:"legalBasis",noStyle:!0,rules:[{required:!0}]},React.createElement(N.ZP.Group,{disabled:o},React.createElement(N.ZP.Button,{value:"consent"},(0,b.__)("Consent (Opt-in)")),React.createElement(N.ZP.Button,{value:"legitimate-interest"},(0,b.__)("Legitimate interest (Opt-out)")),C&&React.createElement(N.ZP.Button,{value:"legal-requirement"},(0,b.__)("Compliance with a legal obligation")))),React.createElement("p",{className:"description"},(0,b._i)((0,b.__)('Services can be used on various legal bases according to Art. 6 GDPR. "Consent" means that the user must explicitly agree to the service (opt-in). "Legitimate interest" means that your interest as a website operator prevails to use the service and the user must explicitly disagree (opt-out). Unless it is an essential service. Then an objection is not possible. {{strong}}A legitimate interest exists only in rare cases. If you are not sure, it is better to obtain consent to be on the safe side.{{/strong}}'),{strong:React.createElement("strong",null)})),o&&!C&&React.createElement("div",{className:"notice notice-info below-h2 notice-alt"},React.createElement("p",null,(0,b.__)('Your service is currently grouped as "Essential". This group implies the legitimate interest, with the only difference that this service cannot be opted out.')))))})),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.group!==t.group||e.ePrivacyUSA!==t.ePrivacyUSA}},(function(e){var t=e.getFieldValue;return React.createElement(d.Z.Item,{label:(0,b.__)("US data processing"),style:{display:f?void 0:"none"}},React.createElement(d.Z.Item,{name:"ePrivacyUSA",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b.__)("This service processes data in the USA or transfers data to US companies or servers")),t("ePrivacyUSA")&&t("group")===p.key&&React.createElement("div",{className:"notice notice-warning below-h2 notice-alt"},React.createElement("p",null,(0,b.__)("If you use this service declaration only as a notice and the corresponding service is already embedded outside the cookie banner on the first visit to the website, it is possible that the service used in the USA is already processing data before the user has agreed to this. From a data protection perspective, the use of such services should be avoided, or the service should be embedded in the opt-in code (execution after consent). In practice, this will not always be possible."))))})),React.createElement(d.Z.Item,{label:(0,b.__)("No technical definitions")},React.createElement(d.Z.Item,{name:"noTechnicalDefinitions",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b.__)("This service does not set any technical cookies on the client of the visitor, but e.g. integrates a script."))))})),D=a(1857),x=a(6965),F=a(3251),A=a(7088),B=a(4290),U=a(9033),G={labelCol:{span:0},wrapperCol:{span:24},style:{margin:0}},q=(0,f.Pi)((function(){var e=(0,F.w)();return React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.noTechnicalDefinitions!==t.noTechnicalDefinitions||e.technicalDefinitions.length!==t.technicalDefinitions.length}},(function(t){return(0,t.getFieldValue)("noTechnicalDefinitions")?null:React.createElement(d.Z.List,{name:"technicalDefinitions"},(function(t,a){var n=a.add,c=a.remove;return React.createElement(React.Fragment,null,React.createElement(M.C,{offset:W.labelCol.span,description:(0,b.__)("For each service you use, you should specify all cookies that are used by it. You can find this out in the developer console of your browser. Please note that there are several types of cookies and that the law requires that you inform your visitors not only about (HTTP) cookies, but also about cookie-like information.")},(0,b.__)("Technical cookie information")),React.createElement("table",{className:"wp-list-table widefat fixed striped table-view-list",style:{marginBottom:25}},React.createElement("thead",null,React.createElement("tr",null,React.createElement("td",{width:150},(0,b.__)("Cookie type")),React.createElement("td",null,React.createElement(D.Z,{title:(0,b._i)((0,b.__)("Every cookie has a technical name, which you must provide. If a cookie name is dynamically composed, please use an asterisk ({{code}}*{{/code}}) as a wildcard (placeholder)."),{code:React.createElement("code",null)})},React.createElement("span",null,(0,b.__)("Technical cookie name")," ",React.createElement(A.Z,null)))),React.createElement("td",null,React.createElement(D.Z,{title:(0,b.__)("Every cookie is associated to a domain or hostname.")},React.createElement("span",null,(0,b.__)("Technical cookie host")," ",React.createElement(A.Z,null)))),React.createElement("td",null,React.createElement(D.Z,{title:(0,b.__)("A HTTP cookie is only valid for a certain time, which is defined when the cookie is set.")},React.createElement("span",null,(0,b.__)("Cookie duration")," ",React.createElement(A.Z,null)))),React.createElement("td",{width:50,align:"right"}," "))),React.createElement("tbody",null,t.map((function(a){return React.createElement("tr",{key:a.key},React.createElement("td",null,React.createElement(d.Z.Item,(0,o.Z)({},a,G,{fieldKey:[a.fieldKey,"type"],name:[a.name,"type"],rules:[{required:!0,message:(0,b.__)("Please provide a cookie type!")}]}),React.createElement(r.Z,null,Object.keys(e).map((function(t){return React.createElement(r.Z.Option,{key:t,value:t},e[t].name)}))))),React.createElement("td",null,React.createElement(d.Z.Item,(0,o.Z)({},a,G,{fieldKey:[a.fieldKey,"name"],name:[a.name,"name"],rules:[{required:!0,message:(0,b.__)("Please provide a technical cookie name!")}]}),React.createElement(T.Z,null)),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){var n,o;return(null===(n=e.technicalDefinitions[a.name])||void 0===n?void 0:n.name)!==(null===(o=t.technicalDefinitions[a.name])||void 0===o?void 0:o.name)}},(function(e){var t=(0,e.getFieldValue)(["technicalDefinitions",a.name,"name"]);return[/\[/gm,[/([{]+)/gm,function(e){return 1===e.length}],/\(/gm].filter((function(e){return Array.isArray(e)?e[0].test(t)&&t.match(e[0]).filter(e[1]).length>0:e.test(t)})).length>0&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,b._i)((0,b.__)("Are you sure this is the name of the cookie? It seems like you are using a placeholder that is not supported. Please use an asterisk ({{code}}*{{/code}}) as a placeholder if the cookie name is dynamically composed."),{code:React.createElement("code",null)})))}))),React.createElement("td",null,React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){var n,o;return(null===(n=e.technicalDefinitions[a.name])||void 0===n?void 0:n.type)!==(null===(o=t.technicalDefinitions[a.name])||void 0===o?void 0:o.type)}},(function(e){var t=(0,e.getFieldValue)(["technicalDefinitions",a.name,"type"]);return React.createElement(React.Fragment,null,React.createElement(d.Z.Item,(0,o.Z)({},a,G,{fieldKey:[a.fieldKey,"host"],name:[a.name,"host"],rules:[{validator:function(e,a){return(["local","session","indexedDb"].indexOf(t)>-1?(0,x.C)(a):/^\.?(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/gm.test(a))||""===a&&"http"!==t?Promise.resolve():Promise.reject((0,b.__)("Please provide a valid hostname!"))}}]}),React.createElement(T.Z,null)),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){var n,o;return(null===(n=e.technicalDefinitions[a.name])||void 0===n?void 0:n.host)!==(null===(o=t.technicalDefinitions[a.name])||void 0===o?void 0:o.host)}},(function(e){var t=(0,e.getFieldValue)(["technicalDefinitions",a.name,"host"]);return t.startsWith("*.")&&t.length>2&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,b._i)((0,b.__)("You are using an invalid wildcard (placeholder) syntax {{code}}*.{{/code}} to match subdomains. Use {{code}}.%s{{/code}} to include subdomains.",t.substr(2)),{code:React.createElement("code",null)})))})))}))),React.createElement("td",null,React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){var n,o;return(null===(n=e.technicalDefinitions[a.name])||void 0===n?void 0:n.type)!==(null===(o=t.technicalDefinitions[a.name])||void 0===o?void 0:o.type)}},(function(e){var t=(0,e.getFieldValue)(["technicalDefinitions",a.name,"type"]);return["local","session","indexedDb","flash"].indexOf(t)>-1?null:React.createElement(React.Fragment,null,React.createElement(d.Z.Item,(0,o.Z)({},a,{fieldKey:[a.fieldKey,"sessionDuration"],name:[a.name,"sessionDuration"],noStyle:!0,valuePropName:"checked"}),React.createElement(i.Z,{style:{float:"left",marginTop:5}},React.createElement(D.Z,{title:(0,b.__)("This cookie is active as long as the session is active")},React.createElement("span",null,(0,b.__)("Session"))))),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){var n,o;return(null===(n=e.technicalDefinitions[a.name])||void 0===n?void 0:n.sessionDuration)!==(null===(o=t.technicalDefinitions[a.name])||void 0===o?void 0:o.sessionDuration)}},(function(e){var t=(0,e.getFieldValue)(["technicalDefinitions",a.name,"sessionDuration"]);return React.createElement(d.Z.Item,(0,o.Z)({},a,G,{fieldKey:[a.fieldKey,"duration"],name:[a.name,"duration"],rules:[{required:!t,message:(0,b.__)("Please provide a valid duration!")}]}),React.createElement(T.Z,{min:"0",addonAfter:React.createElement(d.Z.Item,{name:[a.name,"durationUnit"],noStyle:!0,rules:[{required:!0,message:(0,b.__)("Please provide an unit!")}]},React.createElement(r.Z,null,React.createElement(r.Z.Option,{value:"s"},(0,b.__)("second(s)")),React.createElement(r.Z.Option,{value:"m"},(0,b.__)("minute(s)")," "),React.createElement(r.Z.Option,{value:"h"},(0,b.__)("hour(s)")," "),React.createElement(r.Z.Option,{value:"d"},(0,b.__)("day(s)")," "),React.createElement(r.Z.Option,{value:"mo"},(0,b.__)("month(s)")," "),React.createElement(r.Z.Option,{value:"y"},(0,b.__)("year(s)")," "))),type:"number",style:{maxWidth:200,display:t?"none":void 0}}))})))}))),React.createElement("td",null,t.length>1?React.createElement("a",{className:"button button-small",onClick:function(){c(a.name)}},React.createElement(B.Z,null)):null))}))),React.createElement("tfoot",null,React.createElement("tr",null,React.createElement("td",{colSpan:5,align:"right"},React.createElement("a",{className:"button button-primary alignright",onClick:function(){n(X)}},React.createElement(U.Z,null)," ",(0,b.__)("Add another cookie definition")))))))}))}))})),L=a(8950),V=a(294),H=(0,f.Pi)((function(e){var t=e.manager,a=e.onlyWhenManagerIs,n=e.hasManagerAttributeName,o=e.thisIsManagerAttributeName,r=e.inEventNameAttributeName,i=e.outEventNameAttributeName,c=(0,_.m)(),l=c.cookieStore,s=c.optionStore,u=s.setCookiesViaManager,m=s[n],p=s.others.isPro,g=l.essentialGroup,h=w().cookie;return u===a&&p&&React.createElement(React.Fragment,null,React.createElement(d.Z.Item,{wrapperCol:{offset:W.labelCol.span}},React.createElement(D.Z,{title:m&&h.key!==m?(0,b.__)("You have already defined a %s service.",t):""},React.createElement("span",null,React.createElement(d.Z.Item,{name:o,valuePropName:"checked",noStyle:!0},React.createElement(I.Z,{disabled:m&&h.key!==m})),React.createElement("span",null,"  ",(0,b.__)("Opt-in script below loads %s",t))))),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e[o]!==t[o]||e.group!==t.group}},(function(e){var a=e.getFieldValue,n=a(o),r=a("group");return n&&r!==g.key&&React.createElement(d.Z.Item,{wrapperCol:{offset:W.labelCol.span}},React.createElement("div",{className:"notice notice-warning below-h2 notice-alt"},React.createElement("p",null,(0,b.__)("You have defined %1$s in a non-essential service group. In our legal opinion, this is the only way to use %1$s legally. However, please note that if a user doesn't consent to load %1$s, opt-in and opt-out events will not be sent to %1$s. Real Cookie Banner offers you the possibility to specify a fallback HTML/JavaScript for this case.",t))))})),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e[o]!==t[o]||e[r]!==t[r]||e[i]!==t[i]}},(function(e){var a=e.getFieldValue,n=a(o),c=a(r),l=a(i);return!n&&React.createElement(d.Z.Item,{label:(0,b.__)("Event names for %s",t)},React.createElement(d.Z.Item,{name:r,noStyle:!0},React.createElement(T.Z,{addonBefore:(0,b.__)("Opt-in"),style:{maxWidth:400,marginRight:10,marginBottom:5}})),React.createElement(d.Z.Item,{name:i,noStyle:!0},React.createElement(T.Z,{addonBefore:(0,b.__)("Opt-out"),style:{maxWidth:400,marginRight:10,marginBottom:5}})),React.createElement("div",null,React.createElement(P.r,{url:(0,b.__)("https://devowl.io/knowledge-base/real-cookie-banner-with-google-tag-manager-or-matomo-tag-manager/")})),(c.length>0||l.length>0)&&!m&&React.createElement("div",{className:"notice notice-warning below-h2 notice-alt"},React.createElement("p",null,(0,b.__)("You have not yet defined a %s service. To use event names, you must create a %s service.",t,t))))})))})),j=["codeOptIn","codeOptOut","codeOnPageLoad"],Y=/{{([A-Za-z0-9_]+)}}/gm,$=(0,f.Pi)((function(e){var t=e.dynamicFields;return React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return j.map((function(a){return e[a]!==t[a]})).filter(Boolean).length>0}},(function(e){var a=e.getFieldValue,n=j.map((function(e){return a(e)})).join(""),o=Array.from(n.matchAll(Y)).map((function(e){return(0,p.Z)(e,2)[1]})),r=[];return o?o.map((function(e){var a=["codeDynamics",e],n=(null==t?void 0:t[e])||{},o=n.label,i=n.invalidMessage,c=void 0===i?(0,b.__)("Please fill in a value!"):i,l=n.example,s=n.expression,u=n.hint;return r.indexOf(e)>-1?null:(r.push(e),React.createElement(d.Z.Item,{key:e,label:o||React.createElement("code",null,e),required:!0},React.createElement(d.Z.Item,{noStyle:!0,name:a,rules:[{required:!0,pattern:s?new RegExp(s):void 0,message:c}]},React.createElement(T.Z,{placeholder:l?"".concat((0,b.__)("e. g.")," ").concat(l):void 0})),!!u&&React.createElement("div",{className:"notice notice-info below-h2 notice-alt",style:{margin:"10px 0 5px"}},React.createElement("p",{dangerouslySetInnerHTML:{__html:u}}))))})):null}))})),K=a(7870),J=(0,f.Pi)((function(e){var t=e.name,a=(0,_.m)().optionStore.others.activePlugins,n=(0,v.useMemo)((function(){return Object.keys(a)}),[a]);return React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,a){return e[t]!==a[t]}},(function(e){var o=(0,e.getFieldValue)(t),r=(0,K.Z)(o.matchAll(/\s+(skip-if-active=")([^"]+)(")/gm)).map((function(e){return(0,p.Z)(e,3)[2].split(",").filter((function(e){return n.indexOf(e)>-1}))})).flat(),i=r.filter((function(e,t){return r.indexOf(e)===t}));return 0===i.length?null:React.createElement("div",{className:"notice notice-info below-h2 notice-alt"},React.createElement("p",null,(0,b._i)((0,b.__)("The code above contains HTML tags that are skipped when one of the following plugins is active: {{strong/}}. {{i}}What does this mean for me?{{/i}} In most cases, another plugin will take over the execution of the technical code, and you have to create a corresponding content blocker."),{strong:React.createElement("strong",null,i.map((function(e){return a[e]})).join(", ")),i:React.createElement("i",null)})))}))})),z=(0,f.Pi)((function(e){var t=e.notices,a=e.dynamicFields,n=(0,_.m)(),o=n.cookieStore,r=n.optionStore,i=r.setCookiesViaManager,c=r.others.isPro,l=o.essentialGroup,s=(0,v.useCallback)((function(e){return{opacity:e?void 0:0,height:e?void 0:0,margin:e?void 0:0}}),[]);return React.createElement(React.Fragment,null,React.createElement(M.C,{offset:W.labelCol.span,description:"none"===i?(0,b.__)("Define HTML and JavaScript code that is executed when a visitor decides to accept or reject this service or when a page is loaded. It is important to define the executed code correctly, as this ensures that scripts are executed and cookies are set only after the user's consent."):(0,b.__)("Define the %1$s event that should be thrown in the data layer when a visitor decides to accept or reject this service. The event can be used as a trigger in %1$s. For users who do not allow to use %1$s a fallback can be defined. You can define HTML and JavaScript code that is executed when a visitor decides to accept or reject this service, or when a page is loaded. It is important to define the event names and executed code correctly, as this will ensure that scripts are executed and cookies are only set with the user's consent.","googleTagManager"===i?V.Gh:V.Ki)},(0,b.__)("Technical handling")),React.createElement(H,{manager:V.Gh,onlyWhenManagerIs:"googleTagManager",hasManagerAttributeName:"hasGTM",thisIsManagerAttributeName:"thisIsGoogleTagManager",inEventNameAttributeName:"googleTagManagerInEventName",outEventNameAttributeName:"googleTagManagerOutEventName"}),React.createElement(H,{manager:V.Ki,onlyWhenManagerIs:"matomoTagManager",hasManagerAttributeName:"hasMTM",thisIsManagerAttributeName:"thisIsMatomoTagManager",inEventNameAttributeName:"matomoTagManagerInEventName",outEventNameAttributeName:"matomoTagManagerOutEventName"}),React.createElement($,{dynamicFields:a}),(null==t?void 0:t.length)>0&&React.createElement(d.Z.Item,{wrapperCol:{offset:W.labelCol.span}},null==t?void 0:t.map((function(e){var t=e.message,a=e.severity;return React.createElement("div",{className:"notice notice-".concat(a," below-h2 notice-alt"),key:t},React.createElement("p",{dangerouslySetInnerHTML:{__html:t}}))}))),React.createElement(d.Z.Item,{label:(0,b.__)("Code executed on opt-in")},"googleTagManager"===i&&c&&React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.thisIsGoogleTagManager!==t.thisIsGoogleTagManager}},(function(e){return!(0,e.getFieldValue)("thisIsGoogleTagManager")&&React.createElement("div",{style:{margin:"4px 0"}},React.createElement(d.Z.Item,{name:"codeOptInNoGoogleTagManager",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b._i)((0,b.__)("Only run this script if the user has {{u}}not{{/u}} allowed to use %s",V.Gh),{u:React.createElement("u",null)})))})),"matomoTagManager"===i&&c&&React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.thisIsMatomoTagManager!==t.thisIsMatomoTagManager}},(function(e){return!(0,e.getFieldValue)("thisIsMatomoTagManager")&&React.createElement("div",{style:{margin:"4px 0"}},React.createElement(d.Z.Item,{name:"codeOptInNoMatomoTagManager",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b._i)((0,b.__)("Only run this script if the user has {{u}}not{{/u}} allowed to use %s",V.Ki),{u:React.createElement("u",null)})))})),React.createElement(d.Z.Item,{name:"codeOptIn",noStyle:!0},React.createElement(L.Y,{settings:window.cm_settings})),React.createElement(J,{name:"codeOptIn"})),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.group!==t.group}},(function(e){var t=e.getFieldValue;return React.createElement(React.Fragment,null,React.createElement(d.Z.Item,{label:(0,b.__)("Code executed on opt-out"),style:s(t("group")!==l.key)},React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.noTechnicalDefinitions!==t.noTechnicalDefinitions}},(function(e){return(0,e.getFieldValue)("noTechnicalDefinitions")?null:React.createElement("div",{style:{margin:"4px 0"}},React.createElement(d.Z.Item,{name:"codeOptOutDelete",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b.__)("Delete all first-party cookies after opt-out. First-party cookies are only cookies that are set by or for this domain.")))})),"googleTagManager"===i&&c&&React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.thisIsGoogleTagManager!==t.thisIsGoogleTagManager}},(function(e){return!(0,e.getFieldValue)("thisIsGoogleTagManager")&&React.createElement("div",{style:{margin:"4px 0"}},React.createElement(d.Z.Item,{name:"codeOptOutNoGoogleTagManager",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b._i)((0,b.__)("Only run this script if the user has {{u}}not{{/u}} allowed to use %s",V.Gh),{u:React.createElement("u",null)})))})),"matomoTagManager"===i&&c&&React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.thisIsMatomoTagManager!==t.thisIsMatomoTagManager}},(function(e){return!(0,e.getFieldValue)("thisIsMatomoTagManager")&&React.createElement("div",{style:{margin:"4px 0"}},React.createElement(d.Z.Item,{name:"codeOptOutNoMatomoTagManager",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b._i)((0,b.__)("Only run this script if the user has {{u}}not{{/u}} allowed to use %s",V.Ki),{u:React.createElement("u",null)})))})),React.createElement(d.Z.Item,{name:"codeOptOut",noStyle:!0},React.createElement(L.Y,{settings:window.cm_settings})),React.createElement(J,{name:"codeOptOut"})))})),React.createElement(d.Z.Item,{label:(0,b.__)("Code executed on page load")},React.createElement(d.Z.Item,{name:"codeOnPageLoad",noStyle:!0},React.createElement(L.Y,{settings:window.cm_settings})),React.createElement(J,{name:"codeOnPageLoad"})))})),W={labelCol:{span:6},wrapperCol:{span:16}},X={type:"http",name:"",host:"",duration:void 0,durationUnit:"y",sessionDuration:!1},Q=(0,f.Pi)((function(e){var t,a,g,f,Z,I,N,T=e.preset,O=e.attributes,M=e.navigateAfterCreation,S=void 0===M||M,D=e.scrollToTop,x=void 0===D||D,F=e.onCreated,A=w(),B=A.routeGroup,U=B.group,G=B.link,L=A.cookie,V=A.id,H=A.queried,j=A.fetched,Y=d.Z.useForm(),$=(0,p.Z)(Y,1)[0],K=(0,v.useState)(!1),J=(0,p.Z)(K,2),Q=J[0],ee=J[1],te=(0,v.useState)(!1),ae=(0,p.Z)(te,2),ne=ae[0],oe=ae[1],re=(0,k.useHistory)(),ie=(0,_.m)().cookieStore,ce=ie.essentialGroup,le=(null==L?void 0:L.presetModel)||ie.presetsCookie.get(null==T?void 0:T.identifier),se=O?O.group?(null===(t=ie.groups.sortedGroups.filter((function(e){return e.data.name===O.group})))||void 0===t||null===(a=t[0])||void 0===a?void 0:a.key)||"preset-group-not-found":void 0:U.key,ue=Object.keys((null==T?void 0:T.contentBlockerPresets)||[]).length>0,me=(null==O?void 0:O.createContentBlockerNotice)||(null==le||null===(g=le.attributes)||void 0===g?void 0:g.createContentBlockerNotice),de=!(null==le||!le.data.scanned||null===(f=le.attributes)||void 0===f||!f.codeOptIn||-1!==["wordpress-comments"].indexOf(le.data.identifier)),pe=j?{name:L.data.title.raw,status:L.data.status,group:U.key||void 0,purpose:L.data.content.raw,provider:L.data.meta.provider,providerPrivacyPolicy:L.data.meta.providerPrivacyPolicy,consentForwardingUniqueName:L.data.meta.consentForwardingUniqueName||L.data.slug,noTechnicalDefinitions:L.data.meta.noTechnicalDefinitions,legalBasis:L.data.meta.legalBasis,ePrivacyUSA:L.data.meta.ePrivacyUSA,technicalDefinitions:JSON.parse(JSON.stringify(L.technicalDefinitions||"[]")),codeDynamics:JSON.parse(JSON.stringify(L.codeDynamics||"{}")),thisIsGoogleTagManager:L.data.meta.thisIsGoogleTagManager,googleTagManagerInEventName:L.data.meta.googleTagManagerInEventName,googleTagManagerOutEventName:L.data.meta.googleTagManagerOutEventName,thisIsMatomoTagManager:L.data.meta.thisIsMatomoTagManager,matomoTagManagerInEventName:L.data.meta.matomoTagManagerInEventName,matomoTagManagerOutEventName:L.data.meta.matomoTagManagerOutEventName,codeOptIn:L.data.meta.codeOptIn,codeOptInNoGoogleTagManager:L.data.meta.codeOptInNoGoogleTagManager,codeOptInNoMatomoTagManager:L.data.meta.codeOptInNoMatomoTagManager,codeOptOut:L.data.meta.codeOptOut,codeOptOutNoGoogleTagManager:L.data.meta.codeOptOutNoGoogleTagManager,codeOptOutNoMatomoTagManager:L.data.meta.codeOptOutNoMatomoTagManager,codeOnPageLoad:L.data.meta.codeOnPageLoad,codeOptOutDelete:L.data.meta.codeOptOutDelete}:{name:(null==O?void 0:O.name)||"",status:"publish",group:"number"==typeof se&&se||void 0,purpose:(null==O?void 0:O.purpose)||"",provider:(null==O?void 0:O.provider)||"",providerPrivacyPolicy:(null==O?void 0:O.providerPrivacyPolicy)||"",consentForwardingUniqueName:(null==O?void 0:O.consentForwardingUniqueName)||(null==T?void 0:T.identifier)||"",noTechnicalDefinitions:(null==O?void 0:O.noTechnicalDefinitions)||!1,legalBasis:(null==O?void 0:O.legalBasis)||"consent",ePrivacyUSA:(null==O?void 0:O.ePrivacyUSA)||!1,technicalDefinitions:null!=O&&O.technicalDefinitions?JSON.parse(JSON.stringify(O.technicalDefinitions)):[X],codeDynamics:(null==O?void 0:O.codeDynamics)||{},thisIsGoogleTagManager:(null==O?void 0:O.thisIsGoogleTagManager)||!1,googleTagManagerInEventName:(null==O?void 0:O.googleTagManagerInEventName)||"",googleTagManagerOutEventName:(null==O?void 0:O.googleTagManagerOutEventName)||"",thisIsMatomoTagManager:(null==O?void 0:O.thisIsMatomoTagManager)||!1,matomoTagManagerInEventName:(null==O?void 0:O.matomoTagManagerInEventName)||"",matomoTagManagerOutEventName:(null==O?void 0:O.matomoTagManagerOutEventName)||"",codeOptIn:(null==O?void 0:O.codeOptIn)||"",codeOptInNoGoogleTagManager:(null==O?void 0:O.codeOptInNoGoogleTagManager)||!1,codeOptInNoMatomoTagManager:(null==O?void 0:O.codeOptInNoMatomoTagManager)||!1,codeOptOut:(null==O?void 0:O.codeOptOut)||"",codeOnPageLoad:(null==O?void 0:O.codeOnPageLoad)||"",codeOptOutNoGoogleTagManager:(null==O?void 0:O.codeOptOutNoGoogleTagManager)||!1,codeOptOutNoMatomoTagManager:(null==O?void 0:O.codeOptOutNoMatomoTagManager)||!1,codeOptOutDelete:(null==O?void 0:O.codeOptOutDelete)||!1,createContentBlocker:"boolean"==typeof(null==O?void 0:O.createContentBlocker)?O.createContentBlocker:ue&&!(null!=O&&O.deactivateAutomaticContentBlockerCreation),createContentBlockerId:null==O?void 0:O.createContentBlockerId,presetCheck:!T};(0,v.useEffect)((function(){H&&!j&&U.cookies.getSingle({params:{id:V,context:"edit"}})}),[H,j]),(0,v.useEffect)((function(){le&&!le.attributes&&le.fetchAttributes()}),[le]),(0,v.useEffect)((function(){x&&(0,R.X)(0)}),[]);var ge=(0,v.useCallback)(function(){var e=(0,m.Z)(h().mark((function e(t){var a,n,o,r,i,c,m,d,p,g,v,f,R,_;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,a=t.name,n=t.status,o=t.purpose,r=t.noTechnicalDefinitions,i=t.technicalDefinitions,c=t.group,m=t.codeDynamics,d=t.createContentBlocker,p=t.createContentBlockerId,g=t.consentForwardingUniqueName,v=(0,u.Z)(t,["name","status","purpose","noTechnicalDefinitions","technicalDefinitions","group","codeDynamics","createContentBlocker","createContentBlockerId","consentForwardingUniqueName"]),delete(f=(0,s.Z)((0,s.Z)({},v),{},{noTechnicalDefinitions:r,codeDynamics:JSON.stringify(m),technicalDefinitions:JSON.stringify(r?pe.technicalDefinitions:i),consentForwardingUniqueName:g||E(a)})).presetCheck,!H){e.next=14;break}return L.setName(a),L.setStatus(n),L.setPurpose(o),L.setMeta(f),L.setGroup(c),e.next=12,L.patch();case 12:e.next=19;break;case 14:return R=ie.groups.entries.get(c),_=new y.U(R.cookies,{title:{rendered:a},content:{rendered:o,protected:!1},status:n,meta:(0,s.Z)((0,s.Z)({},f),{},{presetId:null==T?void 0:T.identifier,presetVersion:null==T?void 0:T.version})}),e.next=18,_.persist();case 18:null==F||F(_);case 19:oe(!1),l.ZP.success((0,b.__)("You have successfully saved the service.")+(d?" ".concat((0,b.__)("Continue with the corresponding Content Blocker!")):"")),S&&setTimeout((function(){return d?re.push("/blocker/new?force=".concat(p||T.identifier,"&cookieCreationPrompt=1").concat("string"==typeof S?"&navigateAfterCreation=".concat(encodeURIComponent(S)):"")):"string"==typeof S?window.location.href=S:re.push("".concat(G.slice(1),"/").concat(c))}),0),e.next=28;break;case 24:throw e.prev=24,e.t0=e.catch(0),l.ZP.error(e.t0.responseJSON.message),e.t0;case 28:case"end":return e.stop()}}),e,null,[[0,24]])})));return function(t){return e.apply(this,arguments)}}(),[H,L,ie]),he=(0,v.useCallback)(function(){var e=(0,m.Z)(h().mark((function e(t){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return ee(!0),e.prev=1,e.next=4,ge(t);case 4:e.next=8;break;case 6:e.prev=6,e.t0=e.catch(1);case 8:return e.prev=8,ee(!1),e.finish(8);case 11:case"end":return e.stop()}}),e,null,[[1,6,8,11]])})));return function(t){return e.apply(this,arguments)}}(),[$,ge]),ve=(0,v.useCallback)((function(e){l.ZP.error((0,b.__)("The service could not be saved due to missing/invalid form values.")),e.errorFields.length&&$.scrollToField(e.errorFields[0].name,{behavior:"smooth",block:"center"})}),[]),fe=(0,v.useCallback)((function(){return!ne||(0,b.__)('You have unsaved changes. If you click on "confirm", your changes will be discarded.')}),[$,pe]);return H&&!j?React.createElement(c.Z,{active:!0,paragraph:{rows:8}}):React.createElement(n.Z,{spinning:Q||(null==le?void 0:le.busy)||!1},React.createElement(k.Prompt,{message:fe}),React.createElement(d.Z,(0,o.Z)({name:"cookie-".concat(U.key,"-").concat(V),form:$},W,{initialValues:pe,onFinish:he,onFinishFailed:ve,onValuesChange:function(e){var t=e.technicalDefinitions;oe(!0);var a=(t||[]).filter(Boolean);if(1===a.length){var n=Object.keys(a[0]);1===n.length&&["sessionDuration","type"].indexOf(n[0])>-1&&setTimeout((function(){return $.validateFields()}),100)}}}),React.createElement(C,{groupNotice:(null==O?void 0:O.groupNotice)||(null==le||null===(Z=le.attributes)||void 0===Z?void 0:Z.groupNotice),providerPrivacyPolicyNotice:j||null==le||!le.attributes||pe.providerPrivacyPolicy?null:(0,b.__)('You have not yet set a privacy policy in the settings, so this field could not be filled in automatically. Please enter the URL of your privacy policy here and <a href="%s" target="_blank">set the corresponding page in your settings.</a>',"#/settings"),showNoticePresetGroupNotFound:"preset-group-not-found"===se&&O.group}),React.createElement(q,null),React.createElement(z,{dynamicFields:(null==O?void 0:O.dynamicFields)||(null==le||null===(I=le.attributes)||void 0===I?void 0:I.dynamicFields),notices:[{message:(null==O?void 0:O.technicalHandlingNotice)||(null==le||null===(N=le.attributes)||void 0===N?void 0:N.technicalHandlingNotice),severity:"info"},{message:de&&!ue&&(0,b.__)("If you have already used %s before creating this service, please deactivate the script/plugin with which the service was loaded so far. The opt-in script will now take care of the correct integration.",le.data.attributes_name),severity:"warning"},{message:de&&ue&&(0,b.__)("You are currently embedding %1$s outside of Real Cookie Banner. You can have it blocked via a content blocker before consenting. Alternatively, you can use the following opt-in script to load %1$s directly into Real Cookie Banner.<br /><br />If you want to embed %1$s via Real Cookie Banner, you have to deactivate the content blocker at the end of the form and remove %1$s outside Real Cookie Banner.<br /><br />If you prefer to keep the current integration, you only have to delete the opt-in script in this form.",le.data.attributes_name),severity:"warning"}].filter((function(e){return e.message}))}),!!T&&React.createElement(React.Fragment,null,ue&&S&&React.createElement(d.Z.Item,{wrapperCol:{offset:W.labelCol.span}},React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.group!==t.group}},(function(e){var t=e.getFieldValue;return React.createElement(d.Z.Item,{noStyle:!0,name:"createContentBlocker",valuePropName:"checked",dependencies:["group"],rules:[{validator:function(e,a){return t("group")===ce.key&&a?Promise.reject((0,b.__)('Services that should be associated with a content blocker cannot be in the "Essential" group, because it cannot be rejected.')):Promise.resolve()}}]},React.createElement(i.Z,null,(0,b.__)("Create content blocker for this service.")))})),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.createContentBlocker!==t.createContentBlocker}},(function(e){var t=e.getFieldValue;return React.createElement(React.Fragment,null,t("createContentBlocker")&&React.createElement(React.Fragment,null,Object.keys(T.contentBlockerPresets).length>1&&React.createElement(d.Z.Item,{noStyle:!0,name:"createContentBlockerId",rules:[{required:!0,message:(0,b.__)("Please select a template for the Content Blocker!")}]},React.createElement(r.Z,{style:{maxWidth:500,marginTop:10,display:"block"},placeholder:(0,b.__)("Select Content Blocker template...")},Object.keys(T.contentBlockerPresets).map((function(e){return React.createElement(r.Z.Option,{key:e,value:e},T.contentBlockerPresets[e])})))),React.createElement("div",{className:"notice notice-info below-h2 notice-alt",style:{marginTop:10}},React.createElement("p",null,(0,b.__)("Immediately after submitting this form you will be forwarded to another form that allows you to create the Content Blocker.")))),!!me&&React.createElement("div",{className:"notice notice-info below-h2 notice-alt"},React.createElement("p",{dangerouslySetInnerHTML:{__html:me}})))}))),React.createElement(d.Z.Item,{name:"presetCheck",valuePropName:"checked",required:!0,rules:[{type:"boolean",required:!0,transform:function(e){return e||void 0},message:(0,b.__)("Please confirm that you have checked the contents of the service.")}],wrapperCol:{offset:W.labelCol.span}},React.createElement(i.Z,null,(0,b.__)("I have checked the information in the service template myself and added any missing information or corrected any information that does not fit to my use case.")," ",React.createElement(P.r,{url:(0,b.__)("https://devowl.io/knowledge-base/is-real-cookie-banner-legally-compliant/")})))),React.createElement(d.Z.Item,{className:"rcb-form-sticky-submit"},React.createElement("span",null,React.createElement("input",{type:"submit",className:"button button-primary right",value:(0,b.__)("Save")})))))}))},8618:function(e,t,a){a.d(t,{C:function(){return o}});var n=a(6315),o=function(e){var t=e.children,a=e.description,o=e.offset;return React.createElement(n.Z.Item,{wrapperCol:{offset:o},style:{borderBottom:"1px solid #e7e7e7"}},React.createElement("h3",{style:{margin:"0 0 ".concat(a?3:15,"px 0")}},t),!!a&&React.createElement("p",{className:"description",style:{marginBottom:15}},a))}},7802:function(e,t,a){a.d(t,{y:function(){return r}});var n=a(6711),o=a(8700);function r(){return new o.Url("/".concat((0,n.useLocation)().search),!0).query}},238:function(e,t,a){a.d(t,{R:function(){return c}});var n=a(6711),o=a(4614),r=a(7363),i=a(9323),c=function(){var e=(0,n.useRouteMatch)().params.cookieGroup,t=(0,o.m)().cookieStore,a=isNaN(+e)?0:+e,c=!!e,l=t.groups.entries.get(a)||new i.O(t.groups,{id:0}),s=(0,r.useCallback)((function(e){var t=e.key;return"#/cookies/".concat(l.key,"/edit/").concat(t)}),[l]),u="#/cookies/".concat(l.key,"/new");return{group:l,id:a,queried:c,fetched:0!==l.key,link:"#/cookies",editLink:s,addCookieLink:u}}},3251:function(e,t,a){function n(){return{http:{name:"HTTP Cookie",abbr:"HTTP",backgroundColor:"black"},local:{name:"Local Storage",abbr:"Local",backgroundColor:"#b3983c"},session:{name:"Session Storage",abbr:"Session",backgroundColor:"#3c99b3"},flash:{name:"Flash Local Shared Object",abbr:"Flash",backgroundColor:"#b33c3c"},indexedDb:{name:"IndexedDB",abbr:"I-DB",backgroundColor:"#4ab33c"}}}a.d(t,{w:function(){return n}})}}]);
2
- //# sourceMappingURL=152.lite.js.map?ver=052f6d43e334268c95bd
1
+ "use strict";(self.webpackChunkrealCookieBanner_name_=self.webpackChunkrealCookieBanner_name_||[]).push([[152],{9372:function(e,t,a){a.d(t,{ZG:function(){return Q},PS:function(){return W},y$:function(){return X}});var n=a(9591),o=a(4741),r=a(3828),i=a(3306),c=a(6142),l=a(8782),s=a(2711),u=a(4115),m=a(7938),d=a(6315),p=a(7228),g=a(5450),h=a.n(g),v=a(7363),f=a(3554),y=a(4947);function E(e){e=(e=e.replace(/^\s+|\s+$/g,"")).toLowerCase();for(var t="àáäâèéëêìíïîòóöôùúüûñç·/_,:;",a=0,n=t.length;a<n;a++)e=e.replace(new RegExp(t.charAt(a),"g"),"aaaaeeeeiiiioooouuuunc------".charAt(a));return e.replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")}var R=a(2200),b=a(5071),_=a(4614),k=a(6711),Z=a(238),w=function(){var e=(0,Z.R)(),t=e.group,a=(0,k.useRouteMatch)().params,n=isNaN(+a.cookie)?0:+a.cookie,o=!!a.cookie,r=t.cookies.entries.get(+a.cookie)||new y.U(t.cookies,{id:0});return{routeGroup:e,cookie:r,id:n,queried:o,fetched:0!==r.key}},I=a(6478),N=a(8920),T=a(2519),O=a(5408),M=a(8618),P=a(4342),S=a(3839),C=(0,f.Pi)((function(e){var t,a,n=e.showNoticePresetGroupNotFound,o=void 0!==n&&n,i=e.groupNotice,c=e.providerPrivacyPolicyNotice,l=(0,_.m)(),s=l.cookieStore,u=s.groups,p=s.essentialGroup,g=l.optionStore,f=g.ePrivacyUSA,y=g.consentForwarding,R=w(),k=R.cookie,Z=R.fetched,C="real-cookie-banner"===(null===(t=k.presetModel)||void 0===t||null===(a=t.data)||void 0===a?void 0:a.identifier),D=(0,v.useCallback)(function(){var e=(0,m.Z)(h().mark((function e(t){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,O.W)({location:S.V,params:{slug:t}});case 3:return e.abrupt("return",e.sent.filter((function(e){return e.ID!==k.key}))[0]);case 6:return e.prev=6,e.t0=e.catch(0),e.abrupt("return",void 0);case 9:case"end":return e.stop()}}),e,null,[[0,6]])})));return function(t){return e.apply(this,arguments)}}(),[k.key]),x=(0,v.useCallback)(function(){var e=(0,m.Z)(h().mark((function e(t,a){var n,o,r,i;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,D(t);case 2:if(!(n=e.sent)){e.next=19;break}if(a){e.next=8;break}throw(0,b.__)("A service with the same unique name already exists.");case 8:o=n.metas.consentForwardingUniqueName,r=/^(.*)-(\d+)$/,i=n;case 11:if(!i){e.next=18;break}return o=o.match(r)?o.replace(r,(function(e,t,a){return"".concat(t,"-").concat(+a+1)})):"".concat(o,"-1"),e.next=15,D(o);case 15:i=e.sent,e.next=11;break;case 18:a(o);case 19:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}}(),[D]);return React.createElement(React.Fragment,null,React.createElement(M.C,{offset:W.labelCol.span},(0,b.__)("General service configuration")," ",React.createElement(P.r,{url:(0,b.__)("https://devowl.io/knowledge-base/real-cookie-banner-create-individual-cookie/")})),React.createElement(d.Z.Item,{label:(0,b.__)("Name"),required:!0},React.createElement(d.Z.Item,{name:"name",noStyle:!0,rules:[{required:!0,message:(0,b.__)("Please provide a name!")}]},React.createElement(T.Z,null)),React.createElement("p",{className:"description"},(0,b.__)('Each service used should have a descriptive name that is understandable to a non-professional user. Example: "Google Analytics".'))),React.createElement(d.Z.Item,{label:(0,b.__)("Status"),required:!0},React.createElement(d.Z.Item,{name:"status",noStyle:!0,rules:[{required:!0,message:(0,b.__)("Please choose a status!")}]},React.createElement(N.ZP.Group,null,React.createElement(N.ZP.Button,{value:"publish"},(0,b.__)("Enabled")),React.createElement(N.ZP.Button,{value:"private"},(0,b.__)("Disabled")),React.createElement(N.ZP.Button,{value:"draft"},(0,b.__)("Draft")))),React.createElement("p",{className:"description"},(0,b.__)('Services with the status "Draft" or "Disabled" are not visible to the public. In addition, a draft will be highlighted in the service table so that you do not forget to configure it.'))),React.createElement(d.Z.Item,{label:(0,b.__)("Group"),required:!0},React.createElement(d.Z.Item,{name:"group",noStyle:!0,rules:[{required:!0,message:(0,b.__)("Please provide a group!")}]},React.createElement(r.Z,null,u.sortedGroups.map((function(e){var t=e.data,a=t.id,n=t.name;return React.createElement(r.Z.Option,{key:a,value:a},n)})))),React.createElement("p",{className:"description"},(0,b.__)("Each service must be assigned to a group. All services that do not belong to the group of essential services can (but do not have to) be accepted by visitors. According to the ePrivacy Directive, only services without which the website would not work are considered as essential services if the visitor has explicitly requested the service used. A possible economic interest of the website operator in using a tool, e.g. Google Analytics, is irrelevant.")),!1!==o&&React.createElement("div",{className:"notice notice-warning below-h2 notice-alt"},React.createElement("p",null,(0,b.__)("The service group in which this service is normally placed (%s) has been deleted by you. Please group the service yourself.",o))),!!i&&React.createElement("div",{className:"notice notice-info below-h2 notice-alt"},React.createElement("p",{dangerouslySetInnerHTML:{__html:i}}))),React.createElement(d.Z.Item,{label:(0,b.__)("Provider"),required:!0},React.createElement(d.Z.Item,{name:"provider",noStyle:!0,rules:[{required:!0,message:(0,b.__)("Please name a provider!")}]},React.createElement(T.Z,null)),React.createElement("p",{className:"description"},(0,b.__)('A service always has an "owner", who processes collected data or information saved in cookies etc. Please specify which provider creates cookies and processes personal data, e.g. "Google Ireland Limited". If you are the provider, please enter your legal name.'))),React.createElement(d.Z.Item,{label:(0,b.__)("Purpose")},React.createElement(d.Z.Item,{name:"purpose",noStyle:!0},React.createElement(T.Z.TextArea,{autoSize:{minRows:3}})),React.createElement("p",{className:"description"},(0,b.__)("The ePrivacy Directive and the GDPR require that a non-professional user understands the purpose of this service, how personal data is collected and how cookies are used for this purpose."))),React.createElement(d.Z.Item,{label:(0,b.__)("Privacy policy of the provider")},React.createElement(d.Z.Item,{name:"providerPrivacyPolicy",noStyle:!0,rules:[{type:"url",message:(0,b.__)("Please provide a valid URL!")}]},React.createElement(T.Z,null)),React.createElement("p",{className:"description"},(0,b.__)("Provide a direct link to the privacy policy of the provider that runs this service (in the language of your website).")),!!c&&React.createElement("div",{className:"notice notice-warning below-h2 notice-alt"},React.createElement("p",{dangerouslySetInnerHTML:{__html:c}}))),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.group!==t.group||e.name!==t.name}},(function(e){var t,a=e.getFieldValue,n=e.setFieldsValue,o=a("group")===p.key;return React.createElement(React.Fragment,null,React.createElement(d.Z.Item,{label:(0,b.__)("Consent Forwarding Unique Name"),style:{display:y?void 0:"none"}},React.createElement(d.Z.Item,{name:"consentForwardingUniqueName",noStyle:!0,validateTrigger:"onBlur",rules:[{validator:(t=(0,m.Z)(h().mark((function e(t,o){var r;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=!y||!o,e.abrupt("return",x(o||E(a("name")),r?function(e){return n({consentForwardingUniqueName:e})}:void 0));case 2:case"end":return e.stop()}}),e)}))),function(e,a){return t.apply(this,arguments)})}]},React.createElement(T.Z,{placeholder:Z?"":E(a("name"))})),React.createElement("p",{className:"description"},(0,b.__)("Consent Forwarding is active. This means that all services on all available instances must be identified by a unique name in order to correctly set consent for a service.")),o&&React.createElement("div",{className:"notice notice-info below-h2 notice-alt"},React.createElement("p",null,(0,b.__)("You can define a unique name, but essential services are automatically accepted when a consent is forwarded.")))),React.createElement(d.Z.Item,{label:(0,b.__)("Legal basis"),required:!0},React.createElement(d.Z.Item,{name:"legalBasis",noStyle:!0,rules:[{required:!0}]},React.createElement(N.ZP.Group,{disabled:o},React.createElement(N.ZP.Button,{value:"consent"},(0,b.__)("Consent (Opt-in)")),React.createElement(N.ZP.Button,{value:"legitimate-interest"},(0,b.__)("Legitimate interest (Opt-out)")),C&&React.createElement(N.ZP.Button,{value:"legal-requirement"},(0,b.__)("Compliance with a legal obligation")))),React.createElement("p",{className:"description"},(0,b._i)((0,b.__)('Services can be used on various legal bases according to Art. 6 GDPR. "Consent" means that the user must explicitly agree to the service (opt-in). "Legitimate interest" means that your interest as a website operator prevails to use the service and the user must explicitly disagree (opt-out). Unless it is an essential service. Then an objection is not possible. {{strong}}A legitimate interest exists only in rare cases and only for data processing. If you are not sure, it is better to obtain consent to be on the safe side.{{/strong}}'),{strong:React.createElement("strong",null)})),o&&!C&&React.createElement("div",{className:"notice notice-info below-h2 notice-alt"},React.createElement("p",null,(0,b.__)('Your service is currently grouped as "Essential". This group implies the legitimate interest, with the only difference that this service cannot be opted out.')))))})),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.group!==t.group||e.ePrivacyUSA!==t.ePrivacyUSA}},(function(e){var t=e.getFieldValue;return React.createElement(d.Z.Item,{label:(0,b.__)("US data processing"),style:{display:f?void 0:"none"}},React.createElement(d.Z.Item,{name:"ePrivacyUSA",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b.__)("This service processes data in the USA or transfers data to US companies or servers")),t("ePrivacyUSA")&&t("group")===p.key&&React.createElement("div",{className:"notice notice-warning below-h2 notice-alt"},React.createElement("p",null,(0,b.__)("If you use this service declaration only as a notice and the corresponding service is already embedded outside the cookie banner on the first visit to the website, it is possible that the service used in the USA is already processing data before the user has agreed to this. From a data protection perspective, the use of such services should be avoided, or the service should be embedded in the opt-in code (execution after consent). In practice, this will not always be possible."))))})),React.createElement(d.Z.Item,{label:(0,b.__)("No technical definitions")},React.createElement(d.Z.Item,{name:"noTechnicalDefinitions",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b.__)("This service does not set any technical cookies on the client of the visitor, but e.g. integrates a script."))))})),D=a(1857),x=a(6965),F=a(3251),A=a(7088),B=a(4290),U=a(9033),G={labelCol:{span:0},wrapperCol:{span:24},style:{margin:0}},q=(0,f.Pi)((function(){var e=(0,F.w)();return React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.noTechnicalDefinitions!==t.noTechnicalDefinitions||e.technicalDefinitions.length!==t.technicalDefinitions.length}},(function(t){return(0,t.getFieldValue)("noTechnicalDefinitions")?null:React.createElement(d.Z.List,{name:"technicalDefinitions"},(function(t,a){var n=a.add,c=a.remove;return React.createElement(React.Fragment,null,React.createElement(M.C,{offset:W.labelCol.span,description:(0,b.__)("For each service you use, you should specify all cookies that are used by it. You can find this out in the developer console of your browser. Please note that there are several types of cookies and that the law requires that you inform your visitors not only about (HTTP) cookies, but also about cookie-like information.")},(0,b.__)("Technical cookie information")),React.createElement("table",{className:"wp-list-table widefat fixed striped table-view-list",style:{marginBottom:25}},React.createElement("thead",null,React.createElement("tr",null,React.createElement("td",{width:150},(0,b.__)("Cookie type")),React.createElement("td",null,React.createElement(D.Z,{title:(0,b._i)((0,b.__)("Every cookie has a technical name, which you must provide. If a cookie name is dynamically composed, please use an asterisk ({{code}}*{{/code}}) as a wildcard (placeholder)."),{code:React.createElement("code",null)})},React.createElement("span",null,(0,b.__)("Technical cookie name")," ",React.createElement(A.Z,null)))),React.createElement("td",null,React.createElement(D.Z,{title:(0,b.__)("Every cookie is associated to a domain or hostname.")},React.createElement("span",null,(0,b.__)("Technical cookie host")," ",React.createElement(A.Z,null)))),React.createElement("td",null,React.createElement(D.Z,{title:(0,b.__)("A HTTP cookie is only valid for a certain time, which is defined when the cookie is set.")},React.createElement("span",null,(0,b.__)("Cookie duration")," ",React.createElement(A.Z,null)))),React.createElement("td",{width:50,align:"right"}," "))),React.createElement("tbody",null,t.map((function(a){return React.createElement("tr",{key:a.key},React.createElement("td",null,React.createElement(d.Z.Item,(0,o.Z)({},a,G,{fieldKey:[a.fieldKey,"type"],name:[a.name,"type"],rules:[{required:!0,message:(0,b.__)("Please provide a cookie type!")}]}),React.createElement(r.Z,null,Object.keys(e).map((function(t){return React.createElement(r.Z.Option,{key:t,value:t},e[t].name)}))))),React.createElement("td",null,React.createElement(d.Z.Item,(0,o.Z)({},a,G,{fieldKey:[a.fieldKey,"name"],name:[a.name,"name"],rules:[{required:!0,message:(0,b.__)("Please provide a technical cookie name!")}]}),React.createElement(T.Z,null)),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){var n,o;return(null===(n=e.technicalDefinitions[a.name])||void 0===n?void 0:n.name)!==(null===(o=t.technicalDefinitions[a.name])||void 0===o?void 0:o.name)}},(function(e){var t=(0,e.getFieldValue)(["technicalDefinitions",a.name,"name"]);return[/\[/gm,[/([{]+)/gm,function(e){return 1===e.length}],/\(/gm].filter((function(e){return Array.isArray(e)?e[0].test(t)&&t.match(e[0]).filter(e[1]).length>0:e.test(t)})).length>0&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,b._i)((0,b.__)("Are you sure this is the name of the cookie? It seems like you are using a placeholder that is not supported. Please use an asterisk ({{code}}*{{/code}}) as a placeholder if the cookie name is dynamically composed."),{code:React.createElement("code",null)})))}))),React.createElement("td",null,React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){var n,o;return(null===(n=e.technicalDefinitions[a.name])||void 0===n?void 0:n.type)!==(null===(o=t.technicalDefinitions[a.name])||void 0===o?void 0:o.type)}},(function(e){var t=(0,e.getFieldValue)(["technicalDefinitions",a.name,"type"]);return React.createElement(React.Fragment,null,React.createElement(d.Z.Item,(0,o.Z)({},a,G,{fieldKey:[a.fieldKey,"host"],name:[a.name,"host"],rules:[{validator:function(e,a){return(["local","session","indexedDb"].indexOf(t)>-1?(0,x.C)(a):/^\.?(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/gm.test(a))||""===a&&"http"!==t?Promise.resolve():Promise.reject((0,b.__)("Please provide a valid hostname!"))}}]}),React.createElement(T.Z,null)),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){var n,o;return(null===(n=e.technicalDefinitions[a.name])||void 0===n?void 0:n.host)!==(null===(o=t.technicalDefinitions[a.name])||void 0===o?void 0:o.host)}},(function(e){var t=(0,e.getFieldValue)(["technicalDefinitions",a.name,"host"]);return t.startsWith("*.")&&t.length>2&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,b._i)((0,b.__)("You are using an invalid wildcard (placeholder) syntax {{code}}*.{{/code}} to match subdomains. Use {{code}}.%s{{/code}} to include subdomains.",t.substr(2)),{code:React.createElement("code",null)})))})))}))),React.createElement("td",null,React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){var n,o;return(null===(n=e.technicalDefinitions[a.name])||void 0===n?void 0:n.type)!==(null===(o=t.technicalDefinitions[a.name])||void 0===o?void 0:o.type)}},(function(e){var t=(0,e.getFieldValue)(["technicalDefinitions",a.name,"type"]);return["local","session","indexedDb","flash"].indexOf(t)>-1?null:React.createElement(React.Fragment,null,React.createElement(d.Z.Item,(0,o.Z)({},a,{fieldKey:[a.fieldKey,"sessionDuration"],name:[a.name,"sessionDuration"],noStyle:!0,valuePropName:"checked"}),React.createElement(i.Z,{style:{float:"left",marginTop:5}},React.createElement(D.Z,{title:(0,b.__)("This cookie is active as long as the session is active")},React.createElement("span",null,(0,b.__)("Session"))))),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){var n,o;return(null===(n=e.technicalDefinitions[a.name])||void 0===n?void 0:n.sessionDuration)!==(null===(o=t.technicalDefinitions[a.name])||void 0===o?void 0:o.sessionDuration)}},(function(e){var t=(0,e.getFieldValue)(["technicalDefinitions",a.name,"sessionDuration"]);return React.createElement(d.Z.Item,(0,o.Z)({},a,G,{fieldKey:[a.fieldKey,"duration"],name:[a.name,"duration"],rules:[{required:!t,message:(0,b.__)("Please provide a valid duration!")}]}),React.createElement(T.Z,{min:"0",addonAfter:React.createElement(d.Z.Item,{name:[a.name,"durationUnit"],noStyle:!0,rules:[{required:!0,message:(0,b.__)("Please provide an unit!")}]},React.createElement(r.Z,null,React.createElement(r.Z.Option,{value:"s"},(0,b.__)("second(s)")),React.createElement(r.Z.Option,{value:"m"},(0,b.__)("minute(s)")," "),React.createElement(r.Z.Option,{value:"h"},(0,b.__)("hour(s)")," "),React.createElement(r.Z.Option,{value:"d"},(0,b.__)("day(s)")," "),React.createElement(r.Z.Option,{value:"mo"},(0,b.__)("month(s)")," "),React.createElement(r.Z.Option,{value:"y"},(0,b.__)("year(s)")," "))),type:"number",style:{maxWidth:200,display:t?"none":void 0}}))})))}))),React.createElement("td",null,t.length>1?React.createElement("a",{className:"button button-small",onClick:function(){c(a.name)}},React.createElement(B.Z,null)):null))}))),React.createElement("tfoot",null,React.createElement("tr",null,React.createElement("td",{colSpan:5,align:"right"},React.createElement("a",{className:"button button-primary alignright",onClick:function(){n(X)}},React.createElement(U.Z,null)," ",(0,b.__)("Add another cookie definition")))))))}))}))})),L=a(8950),V=a(294),H=(0,f.Pi)((function(e){var t=e.manager,a=e.onlyWhenManagerIs,n=e.hasManagerAttributeName,o=e.thisIsManagerAttributeName,r=e.inEventNameAttributeName,i=e.outEventNameAttributeName,c=(0,_.m)(),l=c.cookieStore,s=c.optionStore,u=s.setCookiesViaManager,m=s[n],p=s.others.isPro,g=l.essentialGroup,h=w().cookie;return u===a&&p&&React.createElement(React.Fragment,null,React.createElement(d.Z.Item,{wrapperCol:{offset:W.labelCol.span}},React.createElement(D.Z,{title:m&&h.key!==m?(0,b.__)("You have already defined a %s service.",t):""},React.createElement("span",null,React.createElement(d.Z.Item,{name:o,valuePropName:"checked",noStyle:!0},React.createElement(I.Z,{disabled:m&&h.key!==m})),React.createElement("span",null,"  ",(0,b.__)("Opt-in script below loads %s",t))))),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e[o]!==t[o]||e.group!==t.group}},(function(e){var a=e.getFieldValue,n=a(o),r=a("group");return n&&r!==g.key&&React.createElement(d.Z.Item,{wrapperCol:{offset:W.labelCol.span}},React.createElement("div",{className:"notice notice-warning below-h2 notice-alt"},React.createElement("p",null,(0,b.__)("You have defined %1$s in a non-essential service group. In our legal opinion, this is the only way to use %1$s legally. However, please note that if a user doesn't consent to load %1$s, opt-in and opt-out events will not be sent to %1$s. Real Cookie Banner offers you the possibility to specify a fallback HTML/JavaScript for this case.",t))))})),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e[o]!==t[o]||e[r]!==t[r]||e[i]!==t[i]}},(function(e){var a=e.getFieldValue,n=a(o),c=a(r),l=a(i);return!n&&React.createElement(d.Z.Item,{label:(0,b.__)("Event names for %s",t)},React.createElement(d.Z.Item,{name:r,noStyle:!0},React.createElement(T.Z,{addonBefore:(0,b.__)("Opt-in"),style:{maxWidth:400,marginRight:10,marginBottom:5}})),React.createElement(d.Z.Item,{name:i,noStyle:!0},React.createElement(T.Z,{addonBefore:(0,b.__)("Opt-out"),style:{maxWidth:400,marginRight:10,marginBottom:5}})),React.createElement("div",null,React.createElement(P.r,{url:(0,b.__)("https://devowl.io/knowledge-base/real-cookie-banner-with-google-tag-manager-or-matomo-tag-manager/")})),(c.length>0||l.length>0)&&!m&&React.createElement("div",{className:"notice notice-warning below-h2 notice-alt"},React.createElement("p",null,(0,b.__)("You have not yet defined a %s service. To use event names, you must create a %s service.",t,t))))})))})),j=["codeOptIn","codeOptOut","codeOnPageLoad"],Y=/{{([A-Za-z0-9_]+)}}/gm,$=(0,f.Pi)((function(e){var t=e.dynamicFields;return React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return j.map((function(a){return e[a]!==t[a]})).filter(Boolean).length>0}},(function(e){var a=e.getFieldValue,n=j.map((function(e){return a(e)})).join(""),o=Array.from(n.matchAll(Y)).map((function(e){return(0,p.Z)(e,2)[1]})),r=[];return o?o.map((function(e){var a=["codeDynamics",e],n=(null==t?void 0:t[e])||{},o=n.label,i=n.invalidMessage,c=void 0===i?(0,b.__)("Please fill in a value!"):i,l=n.example,s=n.expression,u=n.hint;return r.indexOf(e)>-1?null:(r.push(e),React.createElement(d.Z.Item,{key:e,label:o||React.createElement("code",null,e),required:!0},React.createElement(d.Z.Item,{noStyle:!0,name:a,rules:[{required:!0,pattern:s?new RegExp(s):void 0,message:c}]},React.createElement(T.Z,{placeholder:l?"".concat((0,b.__)("e. g.")," ").concat(l):void 0})),!!u&&React.createElement("div",{className:"notice notice-info below-h2 notice-alt",style:{margin:"10px 0 5px"}},React.createElement("p",{dangerouslySetInnerHTML:{__html:u}}))))})):null}))})),K=a(7870),J=(0,f.Pi)((function(e){var t=e.name,a=(0,_.m)().optionStore.others.activePlugins,n=(0,v.useMemo)((function(){return Object.keys(a)}),[a]);return React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,a){return e[t]!==a[t]}},(function(e){var o=(0,e.getFieldValue)(t),r=(0,K.Z)(o.matchAll(/\s+(skip-if-active=")([^"]+)(")/gm)).map((function(e){return(0,p.Z)(e,3)[2].split(",").filter((function(e){return n.indexOf(e)>-1}))})).flat(),i=r.filter((function(e,t){return r.indexOf(e)===t}));return 0===i.length?null:React.createElement("div",{className:"notice notice-info below-h2 notice-alt"},React.createElement("p",null,(0,b._i)((0,b.__)("The code above contains HTML tags that are skipped when one of the following plugins is active: {{strong/}}. {{i}}What does this mean for me?{{/i}} In most cases, another plugin will take over the execution of the technical code, and you have to create a corresponding content blocker."),{strong:React.createElement("strong",null,i.map((function(e){return a[e]})).join(", ")),i:React.createElement("i",null)})))}))})),z=(0,f.Pi)((function(e){var t=e.notices,a=e.dynamicFields,n=(0,_.m)(),o=n.cookieStore,r=n.optionStore,i=r.setCookiesViaManager,c=r.others.isPro,l=o.essentialGroup,s=(0,v.useCallback)((function(e){return{opacity:e?void 0:0,height:e?void 0:0,margin:e?void 0:0}}),[]);return React.createElement(React.Fragment,null,React.createElement(M.C,{offset:W.labelCol.span,description:"none"===i?(0,b.__)("Define HTML and JavaScript code that is executed when a visitor decides to accept or reject this service or when a page is loaded. It is important to define the executed code correctly, as this ensures that scripts are executed and cookies are set only after the user's consent."):(0,b.__)("Define the %1$s event that should be thrown in the data layer when a visitor decides to accept or reject this service. The event can be used as a trigger in %1$s. For users who do not allow to use %1$s a fallback can be defined. You can define HTML and JavaScript code that is executed when a visitor decides to accept or reject this service, or when a page is loaded. It is important to define the event names and executed code correctly, as this will ensure that scripts are executed and cookies are only set with the user's consent.","googleTagManager"===i?V.Gh:V.Ki)},(0,b.__)("Technical handling")),React.createElement(H,{manager:V.Gh,onlyWhenManagerIs:"googleTagManager",hasManagerAttributeName:"hasGTM",thisIsManagerAttributeName:"thisIsGoogleTagManager",inEventNameAttributeName:"googleTagManagerInEventName",outEventNameAttributeName:"googleTagManagerOutEventName"}),React.createElement(H,{manager:V.Ki,onlyWhenManagerIs:"matomoTagManager",hasManagerAttributeName:"hasMTM",thisIsManagerAttributeName:"thisIsMatomoTagManager",inEventNameAttributeName:"matomoTagManagerInEventName",outEventNameAttributeName:"matomoTagManagerOutEventName"}),React.createElement($,{dynamicFields:a}),(null==t?void 0:t.length)>0&&React.createElement(d.Z.Item,{wrapperCol:{offset:W.labelCol.span}},null==t?void 0:t.map((function(e){var t=e.message,a=e.severity;return React.createElement("div",{className:"notice notice-".concat(a," below-h2 notice-alt"),key:t},React.createElement("p",{dangerouslySetInnerHTML:{__html:t}}))}))),React.createElement(d.Z.Item,{label:(0,b.__)("Code executed on opt-in")},"googleTagManager"===i&&c&&React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.thisIsGoogleTagManager!==t.thisIsGoogleTagManager}},(function(e){return!(0,e.getFieldValue)("thisIsGoogleTagManager")&&React.createElement("div",{style:{margin:"4px 0"}},React.createElement(d.Z.Item,{name:"codeOptInNoGoogleTagManager",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b._i)((0,b.__)("Only run this script if the user has {{u}}not{{/u}} allowed to use %s",V.Gh),{u:React.createElement("u",null)})))})),"matomoTagManager"===i&&c&&React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.thisIsMatomoTagManager!==t.thisIsMatomoTagManager}},(function(e){return!(0,e.getFieldValue)("thisIsMatomoTagManager")&&React.createElement("div",{style:{margin:"4px 0"}},React.createElement(d.Z.Item,{name:"codeOptInNoMatomoTagManager",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b._i)((0,b.__)("Only run this script if the user has {{u}}not{{/u}} allowed to use %s",V.Ki),{u:React.createElement("u",null)})))})),React.createElement(d.Z.Item,{name:"codeOptIn",noStyle:!0},React.createElement(L.Y,{settings:window.cm_settings})),React.createElement(J,{name:"codeOptIn"})),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.group!==t.group}},(function(e){var t=e.getFieldValue;return React.createElement(React.Fragment,null,React.createElement(d.Z.Item,{label:(0,b.__)("Code executed on opt-out"),style:s(t("group")!==l.key)},React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.noTechnicalDefinitions!==t.noTechnicalDefinitions}},(function(e){return(0,e.getFieldValue)("noTechnicalDefinitions")?null:React.createElement("div",{style:{margin:"4px 0"}},React.createElement(d.Z.Item,{name:"codeOptOutDelete",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b.__)("Delete all first-party cookies after opt-out. First-party cookies are only cookies that are set by or for this domain.")))})),"googleTagManager"===i&&c&&React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.thisIsGoogleTagManager!==t.thisIsGoogleTagManager}},(function(e){return!(0,e.getFieldValue)("thisIsGoogleTagManager")&&React.createElement("div",{style:{margin:"4px 0"}},React.createElement(d.Z.Item,{name:"codeOptOutNoGoogleTagManager",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b._i)((0,b.__)("Only run this script if the user has {{u}}not{{/u}} allowed to use %s",V.Gh),{u:React.createElement("u",null)})))})),"matomoTagManager"===i&&c&&React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.thisIsMatomoTagManager!==t.thisIsMatomoTagManager}},(function(e){return!(0,e.getFieldValue)("thisIsMatomoTagManager")&&React.createElement("div",{style:{margin:"4px 0"}},React.createElement(d.Z.Item,{name:"codeOptOutNoMatomoTagManager",valuePropName:"checked",noStyle:!0},React.createElement(I.Z,null)),React.createElement("span",null,"  ",(0,b._i)((0,b.__)("Only run this script if the user has {{u}}not{{/u}} allowed to use %s",V.Ki),{u:React.createElement("u",null)})))})),React.createElement(d.Z.Item,{name:"codeOptOut",noStyle:!0},React.createElement(L.Y,{settings:window.cm_settings})),React.createElement(J,{name:"codeOptOut"})))})),React.createElement(d.Z.Item,{label:(0,b.__)("Code executed on page load")},React.createElement(d.Z.Item,{name:"codeOnPageLoad",noStyle:!0},React.createElement(L.Y,{settings:window.cm_settings})),React.createElement(J,{name:"codeOnPageLoad"})))})),W={labelCol:{span:6},wrapperCol:{span:16}},X={type:"http",name:"",host:"",duration:void 0,durationUnit:"y",sessionDuration:!1},Q=(0,f.Pi)((function(e){var t,a,g,f,Z,I,N,T=e.preset,O=e.attributes,M=e.navigateAfterCreation,S=void 0===M||M,D=e.scrollToTop,x=void 0===D||D,F=e.onCreated,A=w(),B=A.routeGroup,U=B.group,G=B.link,L=A.cookie,V=A.id,H=A.queried,j=A.fetched,Y=d.Z.useForm(),$=(0,p.Z)(Y,1)[0],K=(0,v.useState)(!1),J=(0,p.Z)(K,2),Q=J[0],ee=J[1],te=(0,v.useState)(!1),ae=(0,p.Z)(te,2),ne=ae[0],oe=ae[1],re=(0,k.useHistory)(),ie=(0,_.m)().cookieStore,ce=ie.essentialGroup,le=(null==L?void 0:L.presetModel)||ie.presetsCookie.get(null==T?void 0:T.identifier),se=O?O.group?(null===(t=ie.groups.sortedGroups.filter((function(e){return e.data.name===O.group})))||void 0===t||null===(a=t[0])||void 0===a?void 0:a.key)||"preset-group-not-found":void 0:U.key,ue=Object.keys((null==T?void 0:T.contentBlockerPresets)||[]).length>0,me=(null==O?void 0:O.createContentBlockerNotice)||(null==le||null===(g=le.attributes)||void 0===g?void 0:g.createContentBlockerNotice),de=!(null==le||!le.data.scanned||null===(f=le.attributes)||void 0===f||!f.codeOptIn||-1!==["wordpress-comments"].indexOf(le.data.identifier)),pe=j?{name:L.data.title.raw,status:L.data.status,group:U.key||void 0,purpose:L.data.content.raw,provider:L.data.meta.provider,providerPrivacyPolicy:L.data.meta.providerPrivacyPolicy,consentForwardingUniqueName:L.data.meta.consentForwardingUniqueName||L.data.slug,noTechnicalDefinitions:L.data.meta.noTechnicalDefinitions,legalBasis:L.data.meta.legalBasis,ePrivacyUSA:L.data.meta.ePrivacyUSA,technicalDefinitions:JSON.parse(JSON.stringify(L.technicalDefinitions||"[]")),codeDynamics:JSON.parse(JSON.stringify(L.codeDynamics||"{}")),thisIsGoogleTagManager:L.data.meta.thisIsGoogleTagManager,googleTagManagerInEventName:L.data.meta.googleTagManagerInEventName,googleTagManagerOutEventName:L.data.meta.googleTagManagerOutEventName,thisIsMatomoTagManager:L.data.meta.thisIsMatomoTagManager,matomoTagManagerInEventName:L.data.meta.matomoTagManagerInEventName,matomoTagManagerOutEventName:L.data.meta.matomoTagManagerOutEventName,codeOptIn:L.data.meta.codeOptIn,codeOptInNoGoogleTagManager:L.data.meta.codeOptInNoGoogleTagManager,codeOptInNoMatomoTagManager:L.data.meta.codeOptInNoMatomoTagManager,codeOptOut:L.data.meta.codeOptOut,codeOptOutNoGoogleTagManager:L.data.meta.codeOptOutNoGoogleTagManager,codeOptOutNoMatomoTagManager:L.data.meta.codeOptOutNoMatomoTagManager,codeOnPageLoad:L.data.meta.codeOnPageLoad,codeOptOutDelete:L.data.meta.codeOptOutDelete}:{name:(null==O?void 0:O.name)||"",status:"publish",group:"number"==typeof se&&se||void 0,purpose:(null==O?void 0:O.purpose)||"",provider:(null==O?void 0:O.provider)||"",providerPrivacyPolicy:(null==O?void 0:O.providerPrivacyPolicy)||"",consentForwardingUniqueName:(null==O?void 0:O.consentForwardingUniqueName)||(null==T?void 0:T.identifier)||"",noTechnicalDefinitions:(null==O?void 0:O.noTechnicalDefinitions)||!1,legalBasis:(null==O?void 0:O.legalBasis)||"consent",ePrivacyUSA:(null==O?void 0:O.ePrivacyUSA)||!1,technicalDefinitions:null!=O&&O.technicalDefinitions?JSON.parse(JSON.stringify(O.technicalDefinitions)):[X],codeDynamics:(null==O?void 0:O.codeDynamics)||{},thisIsGoogleTagManager:(null==O?void 0:O.thisIsGoogleTagManager)||!1,googleTagManagerInEventName:(null==O?void 0:O.googleTagManagerInEventName)||"",googleTagManagerOutEventName:(null==O?void 0:O.googleTagManagerOutEventName)||"",thisIsMatomoTagManager:(null==O?void 0:O.thisIsMatomoTagManager)||!1,matomoTagManagerInEventName:(null==O?void 0:O.matomoTagManagerInEventName)||"",matomoTagManagerOutEventName:(null==O?void 0:O.matomoTagManagerOutEventName)||"",codeOptIn:(null==O?void 0:O.codeOptIn)||"",codeOptInNoGoogleTagManager:(null==O?void 0:O.codeOptInNoGoogleTagManager)||!1,codeOptInNoMatomoTagManager:(null==O?void 0:O.codeOptInNoMatomoTagManager)||!1,codeOptOut:(null==O?void 0:O.codeOptOut)||"",codeOnPageLoad:(null==O?void 0:O.codeOnPageLoad)||"",codeOptOutNoGoogleTagManager:(null==O?void 0:O.codeOptOutNoGoogleTagManager)||!1,codeOptOutNoMatomoTagManager:(null==O?void 0:O.codeOptOutNoMatomoTagManager)||!1,codeOptOutDelete:(null==O?void 0:O.codeOptOutDelete)||!1,createContentBlocker:"boolean"==typeof(null==O?void 0:O.createContentBlocker)?O.createContentBlocker:ue&&!(null!=O&&O.deactivateAutomaticContentBlockerCreation),createContentBlockerId:null==O?void 0:O.createContentBlockerId,presetCheck:!T};(0,v.useEffect)((function(){H&&!j&&U.cookies.getSingle({params:{id:V,context:"edit"}})}),[H,j]),(0,v.useEffect)((function(){le&&!le.attributes&&le.fetchAttributes()}),[le]),(0,v.useEffect)((function(){x&&(0,R.X)(0)}),[]);var ge=(0,v.useCallback)(function(){var e=(0,m.Z)(h().mark((function e(t){var a,n,o,r,i,c,m,d,p,g,v,f,R,_;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,a=t.name,n=t.status,o=t.purpose,r=t.noTechnicalDefinitions,i=t.technicalDefinitions,c=t.group,m=t.codeDynamics,d=t.createContentBlocker,p=t.createContentBlockerId,g=t.consentForwardingUniqueName,v=(0,u.Z)(t,["name","status","purpose","noTechnicalDefinitions","technicalDefinitions","group","codeDynamics","createContentBlocker","createContentBlockerId","consentForwardingUniqueName"]),delete(f=(0,s.Z)((0,s.Z)({},v),{},{noTechnicalDefinitions:r,codeDynamics:JSON.stringify(m),technicalDefinitions:JSON.stringify(r?pe.technicalDefinitions:i),consentForwardingUniqueName:g||E(a)})).presetCheck,!H){e.next=14;break}return L.setName(a),L.setStatus(n),L.setPurpose(o),L.setMeta(f),L.setGroup(c),e.next=12,L.patch();case 12:e.next=19;break;case 14:return R=ie.groups.entries.get(c),_=new y.U(R.cookies,{title:{rendered:a},content:{rendered:o,protected:!1},status:n,meta:(0,s.Z)((0,s.Z)({},f),{},{presetId:null==T?void 0:T.identifier,presetVersion:null==T?void 0:T.version})}),e.next=18,_.persist();case 18:null==F||F(_);case 19:oe(!1),l.ZP.success((0,b.__)("You have successfully saved the service.")+(d?" ".concat((0,b.__)("Continue with the corresponding Content Blocker!")):"")),S&&setTimeout((function(){return d?re.push("/blocker/new?force=".concat(p||T.identifier,"&cookieCreationPrompt=1").concat("string"==typeof S?"&navigateAfterCreation=".concat(encodeURIComponent(S)):"")):"string"==typeof S?window.location.href=S:re.push("".concat(G.slice(1),"/").concat(c))}),0),e.next=28;break;case 24:throw e.prev=24,e.t0=e.catch(0),l.ZP.error(e.t0.responseJSON.message),e.t0;case 28:case"end":return e.stop()}}),e,null,[[0,24]])})));return function(t){return e.apply(this,arguments)}}(),[H,L,ie]),he=(0,v.useCallback)(function(){var e=(0,m.Z)(h().mark((function e(t){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return ee(!0),e.prev=1,e.next=4,ge(t);case 4:e.next=8;break;case 6:e.prev=6,e.t0=e.catch(1);case 8:return e.prev=8,ee(!1),e.finish(8);case 11:case"end":return e.stop()}}),e,null,[[1,6,8,11]])})));return function(t){return e.apply(this,arguments)}}(),[$,ge]),ve=(0,v.useCallback)((function(e){l.ZP.error((0,b.__)("The service could not be saved due to missing/invalid form values.")),e.errorFields.length&&$.scrollToField(e.errorFields[0].name,{behavior:"smooth",block:"center"})}),[]),fe=(0,v.useCallback)((function(){return!ne||(0,b.__)('You have unsaved changes. If you click on "confirm", your changes will be discarded.')}),[$,pe]);return H&&!j?React.createElement(c.Z,{active:!0,paragraph:{rows:8}}):React.createElement(n.Z,{spinning:Q||(null==le?void 0:le.busy)||!1},React.createElement(k.Prompt,{message:fe}),React.createElement(d.Z,(0,o.Z)({name:"cookie-".concat(U.key,"-").concat(V),form:$},W,{initialValues:pe,onFinish:he,onFinishFailed:ve,onValuesChange:function(e){var t=e.technicalDefinitions;oe(!0);var a=(t||[]).filter(Boolean);if(1===a.length){var n=Object.keys(a[0]);1===n.length&&["sessionDuration","type"].indexOf(n[0])>-1&&setTimeout((function(){return $.validateFields()}),100)}}}),React.createElement(C,{groupNotice:(null==O?void 0:O.groupNotice)||(null==le||null===(Z=le.attributes)||void 0===Z?void 0:Z.groupNotice),providerPrivacyPolicyNotice:j||null==le||!le.attributes||pe.providerPrivacyPolicy?null:(0,b.__)('You have not yet set a privacy policy in the settings, so this field could not be filled in automatically. Please enter the URL of your privacy policy here and <a href="%s" target="_blank">set the corresponding page in your settings.</a>',"#/settings"),showNoticePresetGroupNotFound:"preset-group-not-found"===se&&O.group}),React.createElement(q,null),React.createElement(z,{dynamicFields:(null==O?void 0:O.dynamicFields)||(null==le||null===(I=le.attributes)||void 0===I?void 0:I.dynamicFields),notices:[{message:(null==O?void 0:O.technicalHandlingNotice)||(null==le||null===(N=le.attributes)||void 0===N?void 0:N.technicalHandlingNotice),severity:"info"},{message:de&&!ue&&(0,b.__)("If you have already used %s before creating this service, please deactivate the script/plugin with which the service was loaded so far. The opt-in script will now take care of the correct integration.",le.data.attributes_name),severity:"warning"},{message:de&&ue&&(0,b.__)("You are currently embedding %1$s outside of Real Cookie Banner. You can have it blocked via a content blocker before consenting. Alternatively, you can use the following opt-in script to load %1$s directly into Real Cookie Banner.<br /><br />If you want to embed %1$s via Real Cookie Banner, you have to deactivate the content blocker at the end of the form and remove %1$s outside Real Cookie Banner.<br /><br />If you prefer to keep the current integration, you only have to delete the opt-in script in this form.",le.data.attributes_name),severity:"warning"}].filter((function(e){return e.message}))}),!!T&&React.createElement(React.Fragment,null,ue&&S&&React.createElement(d.Z.Item,{wrapperCol:{offset:W.labelCol.span}},React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.group!==t.group}},(function(e){var t=e.getFieldValue;return React.createElement(d.Z.Item,{noStyle:!0,name:"createContentBlocker",valuePropName:"checked",dependencies:["group"],rules:[{validator:function(e,a){return t("group")===ce.key&&a?Promise.reject((0,b.__)('Services that should be associated with a content blocker cannot be in the "Essential" group, because it cannot be rejected.')):Promise.resolve()}}]},React.createElement(i.Z,null,(0,b.__)("Create content blocker for this service.")))})),React.createElement(d.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.createContentBlocker!==t.createContentBlocker}},(function(e){var t=e.getFieldValue;return React.createElement(React.Fragment,null,t("createContentBlocker")&&React.createElement(React.Fragment,null,Object.keys(T.contentBlockerPresets).length>1&&React.createElement(d.Z.Item,{noStyle:!0,name:"createContentBlockerId",rules:[{required:!0,message:(0,b.__)("Please select a template for the Content Blocker!")}]},React.createElement(r.Z,{style:{maxWidth:500,marginTop:10,display:"block"},placeholder:(0,b.__)("Select Content Blocker template...")},Object.keys(T.contentBlockerPresets).map((function(e){return React.createElement(r.Z.Option,{key:e,value:e},T.contentBlockerPresets[e])})))),React.createElement("div",{className:"notice notice-info below-h2 notice-alt",style:{marginTop:10}},React.createElement("p",null,(0,b.__)("Immediately after submitting this form you will be forwarded to another form that allows you to create the Content Blocker.")))),!!me&&React.createElement("div",{className:"notice notice-info below-h2 notice-alt"},React.createElement("p",{dangerouslySetInnerHTML:{__html:me}})))}))),React.createElement(d.Z.Item,{name:"presetCheck",valuePropName:"checked",required:!0,rules:[{type:"boolean",required:!0,transform:function(e){return e||void 0},message:(0,b.__)("Please confirm that you have checked the contents of the service.")}],wrapperCol:{offset:W.labelCol.span}},React.createElement(i.Z,null,(0,b.__)("I have checked the information in the service template myself and added any missing information or corrected any information that does not fit to my use case.")," ",React.createElement(P.r,{url:(0,b.__)("https://devowl.io/knowledge-base/is-real-cookie-banner-legally-compliant/")})))),React.createElement(d.Z.Item,{className:"rcb-form-sticky-submit"},React.createElement("span",null,React.createElement("input",{type:"submit",className:"button button-primary right",value:(0,b.__)("Save")})))))}))},8618:function(e,t,a){a.d(t,{C:function(){return o}});var n=a(6315),o=function(e){var t=e.children,a=e.description,o=e.offset;return React.createElement(n.Z.Item,{wrapperCol:{offset:o},style:{borderBottom:"1px solid #e7e7e7"}},React.createElement("h3",{style:{margin:"0 0 ".concat(a?3:15,"px 0")}},t),!!a&&React.createElement("p",{className:"description",style:{marginBottom:15}},a))}},7802:function(e,t,a){a.d(t,{y:function(){return r}});var n=a(6711),o=a(8700);function r(){return new o.Url("/".concat((0,n.useLocation)().search),!0).query}},238:function(e,t,a){a.d(t,{R:function(){return c}});var n=a(6711),o=a(4614),r=a(7363),i=a(9323),c=function(){var e=(0,n.useRouteMatch)().params.cookieGroup,t=(0,o.m)().cookieStore,a=isNaN(+e)?0:+e,c=!!e,l=t.groups.entries.get(a)||new i.O(t.groups,{id:0}),s=(0,r.useCallback)((function(e){var t=e.key;return"#/cookies/".concat(l.key,"/edit/").concat(t)}),[l]),u="#/cookies/".concat(l.key,"/new");return{group:l,id:a,queried:c,fetched:0!==l.key,link:"#/cookies",editLink:s,addCookieLink:u}}},3251:function(e,t,a){function n(){return{http:{name:"HTTP Cookie",abbr:"HTTP",backgroundColor:"black"},local:{name:"Local Storage",abbr:"Local",backgroundColor:"#b3983c"},session:{name:"Session Storage",abbr:"Session",backgroundColor:"#3c99b3"},flash:{name:"Flash Local Shared Object",abbr:"Flash",backgroundColor:"#b33c3c"},indexedDb:{name:"IndexedDB",abbr:"I-DB",backgroundColor:"#4ab33c"}}}a.d(t,{w:function(){return n}})}}]);
2
+ //# sourceMappingURL=152.lite.js.map?ver=5aff83972673573d7757
public/dist/152.lite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"152.lite.js?ver=052f6d43e334268c95bd","mappings":"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","sources":["webpack://realCookieBanner_[name]/./src/public/ts/utils/slugify.tsx","webpack://realCookieBanner_[name]/./src/public/ts/hooks/useRouteCookie.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/formFields/general.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/formFields/technical.tsx","webpack://realCookieBanner_[name]/./src/public/ts/utils/isHost.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/formFields/manager.tsx","webpack://realCookieBanner_[name]/./src/public/ts/others/dynamics/index.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/formFields/codeDynamics.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/formFields/noticeFormItemContainsSkipIfActiveAttribute.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/formFields/handling.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/form.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/formHeadline.tsx","webpack://realCookieBanner_[name]/./src/public/ts/hooks/useLocationQuery.tsx","webpack://realCookieBanner_[name]/./src/public/ts/hooks/useRouteCookieGroup.tsx","webpack://realCookieBanner_[name]/./src/public/ts/others/cookieTypeLocalized.tsx"],"sourcesContent":["/**\n * Slugify a given text.\n *\n * @see https://gist.github.com/codeguy/6684588\n */\nfunction slugify(str) {\n str = str.replace(/^\\s+|\\s+$/g, \"\"); // trim\n\n str = str.toLowerCase(); // remove accents, swap ñ for n, etc\n\n var from = \"àáäâèéëêìíïîòóöôùúüûñç·/_,:;\";\n var to = \"aaaaeeeeiiiioooouuuunc------\";\n\n for (var i = 0, l = from.length; i < l; i++) {\n str = str.replace(new RegExp(from.charAt(i), \"g\"), to.charAt(i));\n }\n\n str = str.replace(/[^a-z0-9 -]/g, \"\") // remove invalid chars\n .replace(/\\s+/g, \"-\") // collapse whitespace and replace by -\n .replace(/-+/g, \"-\"); // collapse dashes\n\n return str;\n}\n\nexport { slugify };","import { useRouteMatch } from \"react-router-dom\";\nimport { CookieModel } from \"../models\";\nimport { useRouteCookieGroup } from \".\";\n\nvar useRouteCookie = function useRouteCookie() {\n var routeGroup = useRouteCookieGroup();\n var group = routeGroup.group;\n\n var _useRouteMatch = useRouteMatch(),\n params = _useRouteMatch.params; // Get cookie or return draft object\n\n\n var id = isNaN(+params.cookie) ? 0 : +params.cookie;\n var queried = !!params.cookie;\n var cookie = group.cookies.entries.get(+params.cookie) || new CookieModel(group.cookies, {\n id: 0\n });\n return {\n routeGroup: routeGroup,\n cookie: cookie,\n id: id,\n queried: queried,\n fetched: cookie.key !== 0\n };\n};\n\nexport { useRouteCookie };","import _Switch from \"antd/es/switch\";\nimport _Select from \"antd/es/select\";\nimport _Radio from \"antd/es/radio\";\nimport _Form from \"antd/es/form\";\nimport _Input from \"antd/es/input\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useCallback } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { _i, __, request, slugify } from \"../../../../utils\";\nimport { useStores } from \"../../../../store\";\nimport { FormHeadline, LearnMoreTag } from \"../../..\";\nimport { CookieEditFormLayout } from \"..\";\nimport { locationRestForwardCookieGet } from \"../../../../wp-api\";\nimport { useRouteCookie } from \"../../../../hooks\";\nvar CookieEditFormGeneralFields = observer(function (_ref) {\n var _cookie$presetModel, _cookie$presetModel$d;\n\n var _ref$showNoticePreset = _ref.showNoticePresetGroupNotFound,\n showNoticePresetGroupNotFound = _ref$showNoticePreset === void 0 ? false : _ref$showNoticePreset,\n groupNotice = _ref.groupNotice,\n providerPrivacyPolicyNotice = _ref.providerPrivacyPolicyNotice;\n\n var _useStores = useStores(),\n _useStores$cookieStor = _useStores.cookieStore,\n groups = _useStores$cookieStor.groups,\n essentialGroup = _useStores$cookieStor.essentialGroup,\n _useStores$optionStor = _useStores.optionStore,\n ePrivacyUSA = _useStores$optionStor.ePrivacyUSA,\n consentForwarding = _useStores$optionStor.consentForwarding;\n\n var _useRouteCookie = useRouteCookie(),\n cookie = _useRouteCookie.cookie,\n fetched = _useRouteCookie.fetched;\n\n var isRealCookieBannerPreset = ((_cookie$presetModel = cookie.presetModel) === null || _cookie$presetModel === void 0 ? void 0 : (_cookie$presetModel$d = _cookie$presetModel.data) === null || _cookie$presetModel$d === void 0 ? void 0 : _cookie$presetModel$d.identifier) === \"real-cookie-banner\";\n var findByUniqueCookieName = useCallback( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(slug) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return request({\n location: locationRestForwardCookieGet,\n params: {\n slug: slug\n }\n });\n\n case 3:\n return _context.abrupt(\"return\", _context.sent.filter(function (d) {\n return d.ID !== cookie.key;\n })[0]);\n\n case 6:\n _context.prev = 6;\n _context.t0 = _context[\"catch\"](0);\n return _context.abrupt(\"return\", undefined);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 6]]);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }(), [cookie.key]);\n var validateUniqueCookieName = useCallback( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(slug, allowOverwrite) {\n var found, _consentForwardingUniqueName, matchRegexp, foundGenerated;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return findByUniqueCookieName(slug);\n\n case 2:\n found = _context2.sent;\n\n if (!found) {\n _context2.next = 19;\n break;\n }\n\n if (allowOverwrite) {\n _context2.next = 8;\n break;\n }\n\n throw __(\"A service with the same unique name already exists.\");\n\n case 8:\n // Consent Forwarding is deactivated, so we need to generate an unique name for the user\n _consentForwardingUniqueName = found.metas.consentForwardingUniqueName;\n matchRegexp = /^(.*)-(\\d+)$/;\n foundGenerated = found;\n\n case 11:\n if (!foundGenerated) {\n _context2.next = 18;\n break;\n }\n\n _consentForwardingUniqueName = _consentForwardingUniqueName.match(matchRegexp) ? _consentForwardingUniqueName.replace(matchRegexp, function (_, g1, g2) {\n return \"\".concat(g1, \"-\").concat(+g2 + 1);\n }) : \"\".concat(_consentForwardingUniqueName, \"-1\");\n _context2.next = 15;\n return findByUniqueCookieName(_consentForwardingUniqueName);\n\n case 15:\n foundGenerated = _context2.sent;\n _context2.next = 11;\n break;\n\n case 18:\n // Overwrite in form\n allowOverwrite(_consentForwardingUniqueName);\n\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2, _x3) {\n return _ref3.apply(this, arguments);\n };\n }(), [findByUniqueCookieName]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormHeadline, {\n offset: CookieEditFormLayout.labelCol.span\n }, __(\"General service configuration\"), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/real-cookie-banner-create-individual-cookie/\")\n })), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Name\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"name\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please provide a name!\")\n }]\n }, /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __('Each service used should have a descriptive name that is understandable to a non-professional user. Example: \"Google Analytics\".'))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Status\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"status\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please choose a status!\")\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, null, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"publish\"\n }, __(\"Enabled\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"private\"\n }, __(\"Disabled\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"draft\"\n }, __(\"Draft\")))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __('Services with the status \"Draft\" or \"Disabled\" are not visible to the public. In addition, a draft will be highlighted in the service table so that you do not forget to configure it.'))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Group\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"group\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please provide a group!\")\n }]\n }, /*#__PURE__*/React.createElement(_Select, null, groups.sortedGroups.map(function (_ref4) {\n var _ref4$data = _ref4.data,\n id = _ref4$data.id,\n name = _ref4$data.name;\n return /*#__PURE__*/React.createElement(_Select.Option, {\n key: id,\n value: id\n }, name);\n }))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"Each service must be assigned to a group. All services that do not belong to the group of essential services can (but do not have to) be accepted by visitors. According to the ePrivacy Directive, only services without which the website would not function technically are considered essential services. A possible economic interest of the website operator in using a tool, e.g. Google Analytics, is irrelevant.\")), showNoticePresetGroupNotFound !== false && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"The service group in which this service is normally placed (%s) has been deleted by you. Please group the service yourself.\", showNoticePresetGroupNotFound))), !!groupNotice && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: groupNotice\n }\n }))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Provider\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"provider\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please name a provider!\")\n }]\n }, /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __('A service always has an \"owner\", who processes collected data or information saved in cookies etc. Please specify which provider creates cookies and processes personal data, e.g. \"Google Ireland Limited\". If you are the provider, please enter your legal name.'))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Purpose\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"purpose\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Input.TextArea, {\n autoSize: {\n minRows: 3\n }\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"The ePrivacy Directive and the GDPR require that a non-professional user understands the purpose of this service, how personal data is collected and how cookies are used for this purpose.\"))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Privacy policy of the provider\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"providerPrivacyPolicy\",\n noStyle: true,\n rules: [{\n type: \"url\",\n message: __(\"Please provide a valid URL!\")\n }]\n }, /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"Provide a direct link to the privacy policy of the provider that runs this service (in the language of your website).\")), !!providerPrivacyPolicyNotice && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: providerPrivacyPolicyNotice\n }\n }))), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.group !== nextValues.group || prevValues.name !== nextValues.name;\n }\n }, function (_ref5) {\n var getFieldValue = _ref5.getFieldValue,\n setFieldsValue = _ref5.setFieldsValue;\n var isEssentialGroup = getFieldValue(\"group\") === essentialGroup.key;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Consent Forwarding Unique Name\"),\n style: {\n display: consentForwarding ? undefined : \"none\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"consentForwardingUniqueName\",\n noStyle: true,\n validateTrigger: \"onBlur\",\n rules: [{\n validator: function () {\n var _validator = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(rules, value) {\n var allowOverwrite;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n allowOverwrite = consentForwarding ? !value : true;\n return _context3.abrupt(\"return\", validateUniqueCookieName(value || slugify(getFieldValue(\"name\")), allowOverwrite ? function (consentForwardingUniqueName) {\n return setFieldsValue({\n consentForwardingUniqueName: consentForwardingUniqueName\n });\n } : undefined));\n\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n function validator(_x4, _x5) {\n return _validator.apply(this, arguments);\n }\n\n return validator;\n }()\n }]\n }, /*#__PURE__*/React.createElement(_Input, {\n placeholder: fetched ? \"\" : slugify(getFieldValue(\"name\"))\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"Consent Forwarding is active. This means that all services on all available instances must be identified by a unique name in order to correctly set consent for a service.\")), isEssentialGroup && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You can define a unique name, but essential services are automatically accepted when a consent is forwarded.\")))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Legal basis\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"legalBasis\",\n noStyle: true,\n rules: [{\n required: true\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, {\n disabled: isEssentialGroup\n }, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"consent\"\n }, __(\"Consent (Opt-in)\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"legitimate-interest\"\n }, __(\"Legitimate interest (Opt-out)\")), isRealCookieBannerPreset && /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"legal-requirement\"\n }, __(\"Compliance with a legal obligation\")))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, _i(__('Services can be used on various legal bases according to Art. 6 GDPR. \"Consent\" means that the user must explicitly agree to the service (opt-in). \"Legitimate interest\" means that your interest as a website operator prevails to use the service and the user must explicitly disagree (opt-out). Unless it is an essential service. Then an objection is not possible. {{strong}}A legitimate interest exists only in rare cases. If you are not sure, it is better to obtain consent to be on the safe side.{{/strong}}'), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n })), isEssentialGroup && !isRealCookieBannerPreset && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __('Your service is currently grouped as \"Essential\". This group implies the legitimate interest, with the only difference that this service cannot be opted out.')))));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.group !== nextValues.group || prevValues.ePrivacyUSA !== nextValues.ePrivacyUSA;\n }\n }, function (_ref6) {\n var getFieldValue = _ref6.getFieldValue;\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"US data processing\"),\n style: {\n display: ePrivacyUSA ? undefined : \"none\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"ePrivacyUSA\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", __(\"This service processes data in the USA or transfers data to US companies or servers\")), getFieldValue(\"ePrivacyUSA\") && getFieldValue(\"group\") === essentialGroup.key && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"If you use this service declaration only as a notice and the corresponding service is already embedded outside the cookie banner on the first visit to the website, it is possible that the service used in the USA is already processing data before the user has agreed to this. From a data protection perspective, the use of such services should be avoided, or the service should be embedded in the opt-in code (execution after consent). In practice, this will not always be possible.\"))));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"No technical definitions\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"noTechnicalDefinitions\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", __(\"This service does not set any technical cookies on the client of the visitor, but e.g. integrates a script.\"))));\n});\nexport { CookieEditFormGeneralFields };","import _Checkbox from \"antd/es/checkbox\";\nimport _Input from \"antd/es/input\";\nimport _Form from \"antd/es/form\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _Select from \"antd/es/select\";\nimport _Tooltip from \"antd/es/tooltip\";\nimport { observer } from \"mobx-react\";\nimport { __, _i, isHost, isUrl } from \"../../../../utils\";\nimport { getCookieTypeLocalized } from \"../../../../others\";\nimport { PlusOutlined, QuestionCircleFilled, DeleteOutlined } from \"@ant-design/icons\";\nimport { FormHeadline } from \"../../..\";\nimport { CookieEditFormLayout, technicalDefinitionDefaults } from \"..\";\nvar WP_LIST_TABLE_FORM_ITEM_PROPS = {\n labelCol: {\n span: 0\n },\n wrapperCol: {\n span: 24\n },\n style: {\n margin: 0\n }\n};\nvar CookieEditFormTechnicalFields = observer(function () {\n var cookieTypeLocalized = getCookieTypeLocalized();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.noTechnicalDefinitions !== nextValues.noTechnicalDefinitions || prevValues.technicalDefinitions.length !== nextValues.technicalDefinitions.length;\n }\n }, function (_ref) {\n var getFieldValue = _ref.getFieldValue;\n return getFieldValue(\"noTechnicalDefinitions\") ? null : /*#__PURE__*/React.createElement(_Form.List, {\n name: \"technicalDefinitions\"\n }, function (fields, _ref2) {\n var add = _ref2.add,\n remove = _ref2.remove;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormHeadline, {\n offset: CookieEditFormLayout.labelCol.span,\n description: __(\"For each service you use, you should specify all cookies that are used by it. You can find this out in the developer console of your browser. Please note that there are several types of cookies and that the law requires that you inform your visitors not only about (HTTP) cookies, but also about cookie-like information.\")\n }, __(\"Technical cookie information\")), /*#__PURE__*/React.createElement(\"table\", {\n className: \"wp-list-table widefat fixed striped table-view-list\",\n style: {\n marginBottom: 25\n }\n }, /*#__PURE__*/React.createElement(\"thead\", null, /*#__PURE__*/React.createElement(\"tr\", null, /*#__PURE__*/React.createElement(\"td\", {\n width: 150\n }, __(\"Cookie type\")), /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Tooltip, {\n title: _i(__(\"Every cookie has a technical name, which you must provide. If a cookie name is dynamically composed, please use an asterisk ({{code}}*{{/code}}) as a wildcard (placeholder).\"), {\n code: /*#__PURE__*/React.createElement(\"code\", null)\n })\n }, /*#__PURE__*/React.createElement(\"span\", null, __(\"Technical cookie name\"), \" \", /*#__PURE__*/React.createElement(QuestionCircleFilled, null)))), /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Tooltip, {\n title: __(\"Every cookie is associated to a domain or hostname.\")\n }, /*#__PURE__*/React.createElement(\"span\", null, __(\"Technical cookie host\"), \" \", /*#__PURE__*/React.createElement(QuestionCircleFilled, null)))), /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Tooltip, {\n title: __(\"A HTTP cookie is only valid for a certain time, which is defined when the cookie is set.\")\n }, /*#__PURE__*/React.createElement(\"span\", null, __(\"Cookie duration\"), \" \", /*#__PURE__*/React.createElement(QuestionCircleFilled, null)))), /*#__PURE__*/React.createElement(\"td\", {\n width: 50,\n align: \"right\"\n }, \"\\xA0\"))), /*#__PURE__*/React.createElement(\"tbody\", null, fields.map(function (field) {\n return /*#__PURE__*/React.createElement(\"tr\", {\n key: field.key\n }, /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, WP_LIST_TABLE_FORM_ITEM_PROPS, {\n fieldKey: [field.fieldKey, \"type\"],\n name: [field.name, \"type\"],\n rules: [{\n required: true,\n message: __(\"Please provide a cookie type!\")\n }]\n }), /*#__PURE__*/React.createElement(_Select, null, Object.keys(cookieTypeLocalized).map(function (key) {\n return /*#__PURE__*/React.createElement(_Select.Option, {\n key: key,\n value: key\n }, cookieTypeLocalized[key].name);\n })))), /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, WP_LIST_TABLE_FORM_ITEM_PROPS, {\n fieldKey: [field.fieldKey, \"name\"],\n name: [field.name, \"name\"],\n rules: [{\n required: true,\n message: __(\"Please provide a technical cookie name!\")\n }]\n }), /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n var _prevValues$technical, _nextValues$technical;\n\n return ((_prevValues$technical = prevValues.technicalDefinitions[field.name]) === null || _prevValues$technical === void 0 ? void 0 : _prevValues$technical.name) !== ((_nextValues$technical = nextValues.technicalDefinitions[field.name]) === null || _nextValues$technical === void 0 ? void 0 : _nextValues$technical.name);\n }\n }, function (_ref3) {\n var getFieldValue = _ref3.getFieldValue;\n var cookieName = getFieldValue([\"technicalDefinitions\", field.name, \"name\"]);\n var notSupportedCookieNamePlaceholders = [/\\[/gm, [/([{]+)/gm, function (match) {\n return match.length === 1;\n }], /\\(/gm];\n return notSupportedCookieNamePlaceholders.filter(function (r) {\n return Array.isArray(r) ? r[0].test(cookieName) && cookieName.match(r[0]).filter(r[1]).length > 0 : r.test(cookieName);\n }).length > 0 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"Are you sure this is the name of the cookie? It seems like you are using a placeholder that is not supported. Please use an asterisk ({{code}}*{{/code}}) as a placeholder if the cookie name is dynamically composed.\"), {\n code: /*#__PURE__*/React.createElement(\"code\", null)\n })));\n })), /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n var _prevValues$technical2, _nextValues$technical2;\n\n return ((_prevValues$technical2 = prevValues.technicalDefinitions[field.name]) === null || _prevValues$technical2 === void 0 ? void 0 : _prevValues$technical2.type) !== ((_nextValues$technical2 = nextValues.technicalDefinitions[field.name]) === null || _nextValues$technical2 === void 0 ? void 0 : _nextValues$technical2.type);\n }\n }, function (_ref4) {\n var getFieldValue = _ref4.getFieldValue;\n var type = getFieldValue([\"technicalDefinitions\", field.name, \"type\"]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, WP_LIST_TABLE_FORM_ITEM_PROPS, {\n fieldKey: [field.fieldKey, \"host\"],\n name: [field.name, \"host\"],\n rules: [{\n validator: function validator(_, value) {\n return ([\"local\", \"session\", \"indexedDb\"].indexOf(type) > -1 ? isUrl(value) : isHost(value)) || value === \"\" && type !== \"http\" ? Promise.resolve() : Promise.reject(__(\"Please provide a valid hostname!\"));\n }\n }]\n }), /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n var _prevValues$technical3, _nextValues$technical3;\n\n return ((_prevValues$technical3 = prevValues.technicalDefinitions[field.name]) === null || _prevValues$technical3 === void 0 ? void 0 : _prevValues$technical3.host) !== ((_nextValues$technical3 = nextValues.technicalDefinitions[field.name]) === null || _nextValues$technical3 === void 0 ? void 0 : _nextValues$technical3.host);\n }\n }, function (_ref5) {\n var getFieldValue = _ref5.getFieldValue;\n var host = getFieldValue([\"technicalDefinitions\", field.name, \"host\"]);\n return host.startsWith(\"*.\") && host.length > 2 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"You are using an invalid wildcard (placeholder) syntax {{code}}*.{{/code}} to match subdomains. Use {{code}}.%s{{/code}} to include subdomains.\", host.substr(2)), {\n code: /*#__PURE__*/React.createElement(\"code\", null)\n })));\n }));\n })), /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n var _prevValues$technical4, _nextValues$technical4;\n\n return ((_prevValues$technical4 = prevValues.technicalDefinitions[field.name]) === null || _prevValues$technical4 === void 0 ? void 0 : _prevValues$technical4.type) !== ((_nextValues$technical4 = nextValues.technicalDefinitions[field.name]) === null || _nextValues$technical4 === void 0 ? void 0 : _nextValues$technical4.type);\n }\n }, function (_ref6) {\n var getFieldValue = _ref6.getFieldValue;\n var type = getFieldValue([\"technicalDefinitions\", field.name, \"type\"]);\n return [\"local\", \"session\", \"indexedDb\", \"flash\"].indexOf(type) > -1 ? null : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, {\n fieldKey: [field.fieldKey, \"sessionDuration\"],\n name: [field.name, \"sessionDuration\"],\n noStyle: true,\n valuePropName: \"checked\"\n }), /*#__PURE__*/React.createElement(_Checkbox, {\n style: {\n float: \"left\",\n marginTop: 5\n }\n }, /*#__PURE__*/React.createElement(_Tooltip, {\n title: __(\"This cookie is active as long as the session is active\")\n }, /*#__PURE__*/React.createElement(\"span\", null, __(\"Session\"))))), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n var _prevValues$technical5, _nextValues$technical5;\n\n return ((_prevValues$technical5 = prevValues.technicalDefinitions[field.name]) === null || _prevValues$technical5 === void 0 ? void 0 : _prevValues$technical5.sessionDuration) !== ((_nextValues$technical5 = nextValues.technicalDefinitions[field.name]) === null || _nextValues$technical5 === void 0 ? void 0 : _nextValues$technical5.sessionDuration);\n }\n }, function (_ref7) {\n var getFieldValue = _ref7.getFieldValue;\n var sessionDuration = getFieldValue([\"technicalDefinitions\", field.name, \"sessionDuration\"]);\n return /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, WP_LIST_TABLE_FORM_ITEM_PROPS, {\n fieldKey: [field.fieldKey, \"duration\"],\n name: [field.name, \"duration\"],\n rules: [{\n required: !sessionDuration,\n message: __(\"Please provide a valid duration!\")\n }]\n }), /*#__PURE__*/React.createElement(_Input, {\n min: \"0\",\n addonAfter: /*#__PURE__*/React.createElement(_Form.Item, {\n name: [field.name, \"durationUnit\"],\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please provide an unit!\")\n }]\n }, /*#__PURE__*/React.createElement(_Select, null, /*#__PURE__*/React.createElement(_Select.Option, {\n value: \"s\"\n }, __(\"second(s)\")), /*#__PURE__*/React.createElement(_Select.Option, {\n value: \"m\"\n }, __(\"minute(s)\"), \" \"), /*#__PURE__*/React.createElement(_Select.Option, {\n value: \"h\"\n }, __(\"hour(s)\"), \" \"), /*#__PURE__*/React.createElement(_Select.Option, {\n value: \"d\"\n }, __(\"day(s)\"), \" \"), /*#__PURE__*/React.createElement(_Select.Option, {\n value: \"mo\"\n }, __(\"month(s)\"), \" \"), /*#__PURE__*/React.createElement(_Select.Option, {\n value: \"y\"\n }, __(\"year(s)\"), \" \"))),\n type: \"number\",\n style: {\n maxWidth: 200,\n display: sessionDuration ? \"none\" : undefined\n }\n }));\n }));\n })), /*#__PURE__*/React.createElement(\"td\", null, fields.length > 1 ? /*#__PURE__*/React.createElement(\"a\", {\n className: \"button button-small\",\n onClick: function onClick() {\n remove(field.name);\n }\n }, /*#__PURE__*/React.createElement(DeleteOutlined, null)) : null));\n })), /*#__PURE__*/React.createElement(\"tfoot\", null, /*#__PURE__*/React.createElement(\"tr\", null, /*#__PURE__*/React.createElement(\"td\", {\n colSpan: 5,\n align: \"right\"\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"button button-primary alignright\",\n onClick: function onClick() {\n add(technicalDefinitionDefaults);\n }\n }, /*#__PURE__*/React.createElement(PlusOutlined, null), \" \", __(\"Add another cookie definition\")))))));\n });\n });\n});\nexport { CookieEditFormTechnicalFields };","/**\n * Is a passed host string valid?\n *\n * @param url\n * @see https://stackoverflow.com/a/106223/5506547\n */\nfunction isHost(url) {\n return /^\\.?(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/gm.test(url);\n}\n\nexport { isHost };","import _Input from \"antd/es/input\";\nimport _Tooltip from \"antd/es/tooltip\";\nimport _Form from \"antd/es/form\";\nimport _Switch from \"antd/es/switch\";\nimport { observer } from \"mobx-react\";\nimport { CookieEditFormLayout } from \"..\";\nimport { __ } from \"../../../../utils\";\nimport { useStores } from \"../../../../store\";\nimport { useRouteCookie } from \"../../../../hooks\";\nimport { LearnMoreTag } from \"../../..\";\n/**\n * Common manager form items. It provides fields for \"This is manger XY\" and in/out events.\n * If you add another manager, please also consider to add the meta fields to REST and initial values\n * of the cookie form itself.\n */\n\nvar CookieEditFormManagerFields = observer(function (_ref) {\n var manager = _ref.manager,\n onlyWhenManagerIs = _ref.onlyWhenManagerIs,\n hasManagerAttributeName = _ref.hasManagerAttributeName,\n thisIsManagerAttributeName = _ref.thisIsManagerAttributeName,\n inEventNameAttributeName = _ref.inEventNameAttributeName,\n outEventNameAttributeName = _ref.outEventNameAttributeName;\n\n var _useStores = useStores(),\n cookieStore = _useStores.cookieStore,\n _useStores$optionStor = _useStores.optionStore,\n setCookiesViaManager = _useStores$optionStor.setCookiesViaManager,\n hasManager = _useStores$optionStor[hasManagerAttributeName],\n isPro = _useStores$optionStor.others.isPro;\n\n var essentialGroup = cookieStore.essentialGroup;\n\n var _useRouteCookie = useRouteCookie(),\n cookie = _useRouteCookie.cookie;\n\n return setCookiesViaManager === onlyWhenManagerIs && isPro && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: CookieEditFormLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(_Tooltip, {\n title: hasManager && cookie.key !== hasManager ? __(\"You have already defined a %s service.\", manager) : \"\"\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n name: thisIsManagerAttributeName,\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, {\n disabled: hasManager && cookie.key !== hasManager\n })), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", __(\"Opt-in script below loads %s\", manager))))), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, curValues) {\n return prevValues[thisIsManagerAttributeName] !== curValues[thisIsManagerAttributeName] || prevValues.group !== curValues.group;\n }\n }, function (_ref2) {\n var getFieldValue = _ref2.getFieldValue;\n var isActive = getFieldValue(thisIsManagerAttributeName);\n var group = getFieldValue(\"group\");\n return isActive && group !== essentialGroup.key && /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: CookieEditFormLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You have defined %1$s in a non-essential service group. In our legal opinion, this is the only way to use %1$s legally. However, please note that if a user doesn't consent to load %1$s, opt-in and opt-out events will not be sent to %1$s. Real Cookie Banner offers you the possibility to specify a fallback HTML/JavaScript for this case.\", manager))));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, curValues) {\n return prevValues[thisIsManagerAttributeName] !== curValues[thisIsManagerAttributeName] || prevValues[inEventNameAttributeName] !== curValues[inEventNameAttributeName] || prevValues[outEventNameAttributeName] !== curValues[outEventNameAttributeName];\n }\n }, function (_ref3) {\n var getFieldValue = _ref3.getFieldValue;\n var active = getFieldValue(thisIsManagerAttributeName);\n var inEventName = getFieldValue(inEventNameAttributeName);\n var outEventName = getFieldValue(outEventNameAttributeName);\n return !active && /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Event names for %s\", manager)\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: inEventNameAttributeName,\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Input, {\n addonBefore: __(\"Opt-in\"),\n style: {\n maxWidth: 400,\n marginRight: 10,\n marginBottom: 5\n }\n })), /*#__PURE__*/React.createElement(_Form.Item, {\n name: outEventNameAttributeName,\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Input, {\n addonBefore: __(\"Opt-out\"),\n style: {\n maxWidth: 400,\n marginRight: 10,\n marginBottom: 5\n }\n })), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/real-cookie-banner-with-google-tag-manager-or-matomo-tag-manager/\")\n })), (inEventName.length > 0 || outEventName.length > 0) && !hasManager && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You have not yet defined a %s service. To use event names, you must create a %s service.\", manager, manager))));\n }));\n});\nexport { CookieEditFormManagerFields };","/**\n * This fields of cookies can hold dynamic variables in `{{my_variable}}` format.\n */\nvar DYNAMICS_SEARCH_IN = [\"codeOptIn\", \"codeOptOut\", \"codeOnPageLoad\"];\nvar DYNAMICS_VARIABLE_REGEXP = /{{([A-Za-z0-9_]+)}}/gm;\nexport * from \"./apply\";\nexport { DYNAMICS_SEARCH_IN, DYNAMICS_VARIABLE_REGEXP };","import _Form from \"antd/es/form\";\nimport _Input from \"antd/es/input\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { observer } from \"mobx-react\";\nimport { __ } from \"../../../../utils\";\nimport { DYNAMICS_SEARCH_IN, DYNAMICS_VARIABLE_REGEXP } from \"../../../../others\";\n\n/**\n * Provide dynamic variables in `codeOptIn`, `codeOptOut` and `codeOnPageLoad`.\n */\nvar CookieEditFormCodeDynamics = observer(function (_ref) {\n var dynamicFields = _ref.dynamicFields;\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return DYNAMICS_SEARCH_IN.map(function (k) {\n return prevValues[k] !== nextValues[k];\n }).filter(Boolean).length > 0;\n }\n }, function (_ref2) {\n var getFieldValue = _ref2.getFieldValue;\n var searchInResolved = DYNAMICS_SEARCH_IN.map(function (k) {\n return getFieldValue(k);\n }).join(\"\");\n var matches = Array.from(searchInResolved.matchAll(DYNAMICS_VARIABLE_REGEXP)).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n m = _ref4[1];\n\n return m;\n });\n var added = [];\n return matches ? matches.map(function (name) {\n var formName = [\"codeDynamics\", name];\n\n var _ref5 = (dynamicFields === null || dynamicFields === void 0 ? void 0 : dynamicFields[name]) || {},\n label = _ref5.label,\n _ref5$invalidMessage = _ref5.invalidMessage,\n invalidMessage = _ref5$invalidMessage === void 0 ? __(\"Please fill in a value!\") : _ref5$invalidMessage,\n example = _ref5.example,\n expression = _ref5.expression,\n hint = _ref5.hint;\n\n if (added.indexOf(name) > -1) {\n return null;\n }\n\n added.push(name);\n return /*#__PURE__*/React.createElement(_Form.Item, {\n key: name,\n label: label || /*#__PURE__*/React.createElement(\"code\", null, name),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n name: formName,\n rules: [{\n required: true,\n pattern: expression ? new RegExp(expression) : undefined,\n message: invalidMessage\n }]\n }, /*#__PURE__*/React.createElement(_Input, {\n placeholder: example ? \"\".concat(__(\"e. g.\"), \" \").concat(example) : undefined\n })), !!hint && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\",\n style: {\n margin: \"10px 0 5px\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: hint\n }\n })));\n }) : null;\n });\n});\nexport { CookieEditFormCodeDynamics };","import _Form from \"antd/es/form\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { useMemo } from \"react\";\nimport { _i, __ } from \"../../../../utils\";\nimport { observer } from \"mobx-react\";\nimport { useStores } from \"../../../../store\";\nvar NoticeFormItemContainsSkipIfActiveAttribute = observer(function (_ref) {\n var name = _ref.name;\n\n var _useStores = useStores(),\n activePlugins = _useStores.optionStore.others.activePlugins;\n\n var activePluginKeys = useMemo(function () {\n return Object.keys(activePlugins);\n }, [activePlugins]);\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues[name] !== nextValues[name];\n }\n }, function (_ref2) {\n var getFieldValue = _ref2.getFieldValue;\n var value = getFieldValue(name); // Find `skip-if-active` and their active plugins\n\n var matches = _toConsumableArray(value.matchAll(/\\s+(skip-if-active=\")([^\"]+)(\")/gm)).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 3),\n plugins = _ref4[2];\n\n return plugins.split(\",\").filter(function (plugin) {\n return activePluginKeys.indexOf(plugin) > -1;\n });\n }).flat();\n\n var uniq = matches.filter(function (plugin, i) {\n return matches.indexOf(plugin) === i;\n });\n\n if (uniq.length === 0) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"The code above contains HTML tags that are skipped when one of the following plugins is active: {{strong/}}. {{i}}What does this mean for me?{{/i}} In most cases, another plugin will take over the execution of the technical code, and you have to create a corresponding content blocker.\"), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null, uniq.map(function (plugin) {\n return activePlugins[plugin];\n }).join(\", \")),\n i: /*#__PURE__*/React.createElement(\"i\", null)\n })));\n });\n});\nexport { NoticeFormItemContainsSkipIfActiveAttribute };","import _Switch from \"antd/es/switch\";\nimport _Form from \"antd/es/form\";\nimport { useCallback } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { FormHeadline, CodeMirror } from \"../../..\";\nimport { CookieEditFormLayout } from \"..\";\nimport { __, _i } from \"../../../../utils\";\nimport { MANAGER_GTM_LABEL, MANAGER_MTM_LABEL } from \"../..\";\nimport { useStores } from \"../../../../store\";\nimport { CookieEditFormManagerFields, CookieEditFormCodeDynamics, NoticeFormItemContainsSkipIfActiveAttribute } from \".\";\nvar CookieEditFormHandlingFields = observer(function (_ref) {\n var notices = _ref.notices,\n dynamicFields = _ref.dynamicFields;\n\n var _useStores = useStores(),\n cookieStore = _useStores.cookieStore,\n _useStores$optionStor = _useStores.optionStore,\n setCookiesViaManager = _useStores$optionStor.setCookiesViaManager,\n isPro = _useStores$optionStor.others.isPro;\n\n var essentialGroup = cookieStore.essentialGroup; // CodeMirror does not support \"display:none;\", we need to hide it in a hacky way\n\n var createHiddenFormItemsWithCodeMirror = useCallback(function (visible) {\n return {\n opacity: visible ? undefined : 0,\n height: visible ? undefined : 0,\n margin: visible ? undefined : 0\n };\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormHeadline, {\n offset: CookieEditFormLayout.labelCol.span,\n description: setCookiesViaManager === \"none\" ? __(\"Define HTML and JavaScript code that is executed when a visitor decides to accept or reject this service or when a page is loaded. It is important to define the executed code correctly, as this ensures that scripts are executed and cookies are set only after the user's consent.\") : __(\"Define the %1$s event that should be thrown in the data layer when a visitor decides to accept or reject this service. The event can be used as a trigger in %1$s. For users who do not allow to use %1$s a fallback can be defined. You can define HTML and JavaScript code that is executed when a visitor decides to accept or reject this service, or when a page is loaded. It is important to define the event names and executed code correctly, as this will ensure that scripts are executed and cookies are only set with the user's consent.\", setCookiesViaManager === \"googleTagManager\" ? MANAGER_GTM_LABEL : MANAGER_MTM_LABEL)\n }, __(\"Technical handling\")), /*#__PURE__*/React.createElement(CookieEditFormManagerFields, {\n manager: MANAGER_GTM_LABEL,\n onlyWhenManagerIs: \"googleTagManager\",\n hasManagerAttributeName: \"hasGTM\",\n thisIsManagerAttributeName: \"thisIsGoogleTagManager\",\n inEventNameAttributeName: \"googleTagManagerInEventName\",\n outEventNameAttributeName: \"googleTagManagerOutEventName\"\n }), /*#__PURE__*/React.createElement(CookieEditFormManagerFields, {\n manager: MANAGER_MTM_LABEL,\n onlyWhenManagerIs: \"matomoTagManager\",\n hasManagerAttributeName: \"hasMTM\",\n thisIsManagerAttributeName: \"thisIsMatomoTagManager\",\n inEventNameAttributeName: \"matomoTagManagerInEventName\",\n outEventNameAttributeName: \"matomoTagManagerOutEventName\"\n }), /*#__PURE__*/React.createElement(CookieEditFormCodeDynamics, {\n dynamicFields: dynamicFields\n }), (notices === null || notices === void 0 ? void 0 : notices.length) > 0 && /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: CookieEditFormLayout.labelCol.span\n }\n }, notices === null || notices === void 0 ? void 0 : notices.map(function (_ref2) {\n var message = _ref2.message,\n severity = _ref2.severity;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-\".concat(severity, \" below-h2 notice-alt\"),\n key: message\n }, /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: message\n }\n }));\n })), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Code executed on opt-in\")\n }, setCookiesViaManager === \"googleTagManager\" && isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.thisIsGoogleTagManager !== nextValues.thisIsGoogleTagManager;\n }\n }, function (_ref3) {\n var getFieldValue = _ref3.getFieldValue;\n return !getFieldValue(\"thisIsGoogleTagManager\") && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"4px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptInNoGoogleTagManager\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", _i(__(\"Only run this script if the user has {{u}}not{{/u}} allowed to use %s\", MANAGER_GTM_LABEL), {\n u: /*#__PURE__*/React.createElement(\"u\", null)\n })));\n }), setCookiesViaManager === \"matomoTagManager\" && isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.thisIsMatomoTagManager !== nextValues.thisIsMatomoTagManager;\n }\n }, function (_ref4) {\n var getFieldValue = _ref4.getFieldValue;\n return !getFieldValue(\"thisIsMatomoTagManager\") && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"4px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptInNoMatomoTagManager\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", _i(__(\"Only run this script if the user has {{u}}not{{/u}} allowed to use %s\", MANAGER_MTM_LABEL), {\n u: /*#__PURE__*/React.createElement(\"u\", null)\n })));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptIn\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(CodeMirror, {\n settings: window.cm_settings\n })), /*#__PURE__*/React.createElement(NoticeFormItemContainsSkipIfActiveAttribute, {\n name: \"codeOptIn\"\n })), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.group !== nextValues.group;\n }\n }, function (_ref5) {\n var getFieldValue = _ref5.getFieldValue;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Code executed on opt-out\"),\n style: createHiddenFormItemsWithCodeMirror(getFieldValue(\"group\") !== essentialGroup.key)\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.noTechnicalDefinitions !== nextValues.noTechnicalDefinitions;\n }\n }, function (_ref6) {\n var getFieldValue = _ref6.getFieldValue;\n return getFieldValue(\"noTechnicalDefinitions\") ? null : /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"4px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptOutDelete\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", __(\"Delete all first-party cookies after opt-out. First-party cookies are only cookies that are set by or for this domain.\")));\n }), setCookiesViaManager === \"googleTagManager\" && isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.thisIsGoogleTagManager !== nextValues.thisIsGoogleTagManager;\n }\n }, function (_ref7) {\n var getFieldValue = _ref7.getFieldValue;\n return !getFieldValue(\"thisIsGoogleTagManager\") && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"4px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptOutNoGoogleTagManager\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", _i(__(\"Only run this script if the user has {{u}}not{{/u}} allowed to use %s\", MANAGER_GTM_LABEL), {\n u: /*#__PURE__*/React.createElement(\"u\", null)\n })));\n }), setCookiesViaManager === \"matomoTagManager\" && isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.thisIsMatomoTagManager !== nextValues.thisIsMatomoTagManager;\n }\n }, function (_ref8) {\n var getFieldValue = _ref8.getFieldValue;\n return !getFieldValue(\"thisIsMatomoTagManager\") && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"4px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptOutNoMatomoTagManager\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", _i(__(\"Only run this script if the user has {{u}}not{{/u}} allowed to use %s\", MANAGER_MTM_LABEL), {\n u: /*#__PURE__*/React.createElement(\"u\", null)\n })));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptOut\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(CodeMirror, {\n settings: window.cm_settings\n })), /*#__PURE__*/React.createElement(NoticeFormItemContainsSkipIfActiveAttribute, {\n name: \"codeOptOut\"\n })));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Code executed on page load\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOnPageLoad\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(CodeMirror, {\n settings: window.cm_settings\n })), /*#__PURE__*/React.createElement(NoticeFormItemContainsSkipIfActiveAttribute, {\n name: \"codeOnPageLoad\"\n })));\n});\nexport { CookieEditFormHandlingFields };","import _Spin from \"antd/es/spin\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _Select from \"antd/es/select\";\nimport _Checkbox from \"antd/es/checkbox\";\nimport _Skeleton from \"antd/es/skeleton\";\nimport _message from \"antd/es/message\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _Form from \"antd/es/form\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { CookieModel } from \"../../../models\";\nimport { __, scrollTo, slugify } from \"../../../utils\";\nimport { useStores } from \"../../../store\";\nimport { useHistory, Prompt } from \"react-router-dom\";\nimport { useRouteCookie } from \"../../../hooks\";\nimport { CookieEditFormGeneralFields, CookieEditFormTechnicalFields, CookieEditFormHandlingFields } from \".\";\nimport { LearnMoreTag } from \"../..\";\nvar CookieEditFormLayout = {\n labelCol: {\n span: 6\n },\n wrapperCol: {\n span: 16\n }\n};\nvar technicalDefinitionDefaults = {\n type: \"http\",\n name: \"\",\n host: \"\",\n duration: undefined,\n durationUnit: \"y\",\n sessionDuration: false\n};\nvar CookieEditForm = observer(function (_ref) {\n var _cookieStore$groups$s, _cookieStore$groups$s2, _presetModel$attribut, _presetModel$attribut2, _presetModel$attribut3, _presetModel$attribut4, _presetModel$attribut5;\n\n var preset = _ref.preset,\n attributes = _ref.attributes,\n _ref$navigateAfterCre = _ref.navigateAfterCreation,\n navigateAfterCreation = _ref$navigateAfterCre === void 0 ? true : _ref$navigateAfterCre,\n _ref$scrollToTop = _ref.scrollToTop,\n scrollToTop = _ref$scrollToTop === void 0 ? true : _ref$scrollToTop,\n onCreated = _ref.onCreated;\n\n var _useRouteCookie = useRouteCookie(),\n _useRouteCookie$route = _useRouteCookie.routeGroup,\n group = _useRouteCookie$route.group,\n link = _useRouteCookie$route.link,\n cookie = _useRouteCookie.cookie,\n id = _useRouteCookie.id,\n queried = _useRouteCookie.queried,\n fetched = _useRouteCookie.fetched;\n\n var _Form$useForm = _Form.useForm(),\n _Form$useForm2 = _slicedToArray(_Form$useForm, 1),\n form = _Form$useForm2[0];\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isBusy = _useState2[0],\n setIsBusy = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n hasChanges = _useState4[0],\n setHasChanges = _useState4[1];\n\n var history = useHistory();\n\n var _useStores = useStores(),\n cookieStore = _useStores.cookieStore;\n\n var essentialGroup = cookieStore.essentialGroup;\n var presetModel = (cookie === null || cookie === void 0 ? void 0 : cookie.presetModel) || cookieStore.presetsCookie.get(preset === null || preset === void 0 ? void 0 : preset.identifier); // Determine the group to use for a given preset, otherwise use current opened group tab\n\n var useGroup = attributes ? attributes.group ? ((_cookieStore$groups$s = cookieStore.groups.sortedGroups.filter(function (_ref2) {\n var name = _ref2.data.name;\n return name === attributes.group;\n })) === null || _cookieStore$groups$s === void 0 ? void 0 : (_cookieStore$groups$s2 = _cookieStore$groups$s[0]) === null || _cookieStore$groups$s2 === void 0 ? void 0 : _cookieStore$groups$s2.key) || \"preset-group-not-found\" : undefined : group.key;\n var allowContentBlockerCreation = Object.keys((preset === null || preset === void 0 ? void 0 : preset.contentBlockerPresets) || []).length > 0;\n var createContentBlockerNotice = (attributes === null || attributes === void 0 ? void 0 : attributes.createContentBlockerNotice) || (presetModel === null || presetModel === void 0 ? void 0 : (_presetModel$attribut = presetModel.attributes) === null || _presetModel$attribut === void 0 ? void 0 : _presetModel$attribut.createContentBlockerNotice);\n var showOptInNoticeScanned = !!(presetModel !== null && presetModel !== void 0 && presetModel.data.scanned && (_presetModel$attribut2 = presetModel.attributes) !== null && _presetModel$attribut2 !== void 0 && _presetModel$attribut2.codeOptIn && [\"wordpress-comments\"].indexOf(presetModel.data.identifier) === -1);\n var initialValues = fetched ? {\n name: cookie.data.title.raw,\n status: cookie.data.status,\n group: group.key || undefined,\n // Can be `0`, so fallback to no selection (e.g. Cookie form modal in Content Blocker)\n purpose: cookie.data.content.raw,\n provider: cookie.data.meta.provider,\n providerPrivacyPolicy: cookie.data.meta.providerPrivacyPolicy,\n consentForwardingUniqueName: cookie.data.meta.consentForwardingUniqueName || cookie.data.slug,\n noTechnicalDefinitions: cookie.data.meta.noTechnicalDefinitions,\n legalBasis: cookie.data.meta.legalBasis,\n ePrivacyUSA: cookie.data.meta.ePrivacyUSA,\n technicalDefinitions: JSON.parse(JSON.stringify(cookie.technicalDefinitions || \"[]\")),\n codeDynamics: JSON.parse(JSON.stringify(cookie.codeDynamics || \"{}\")),\n thisIsGoogleTagManager: cookie.data.meta.thisIsGoogleTagManager,\n googleTagManagerInEventName: cookie.data.meta.googleTagManagerInEventName,\n googleTagManagerOutEventName: cookie.data.meta.googleTagManagerOutEventName,\n thisIsMatomoTagManager: cookie.data.meta.thisIsMatomoTagManager,\n matomoTagManagerInEventName: cookie.data.meta.matomoTagManagerInEventName,\n matomoTagManagerOutEventName: cookie.data.meta.matomoTagManagerOutEventName,\n codeOptIn: cookie.data.meta.codeOptIn,\n codeOptInNoGoogleTagManager: cookie.data.meta.codeOptInNoGoogleTagManager,\n codeOptInNoMatomoTagManager: cookie.data.meta.codeOptInNoMatomoTagManager,\n codeOptOut: cookie.data.meta.codeOptOut,\n codeOptOutNoGoogleTagManager: cookie.data.meta.codeOptOutNoGoogleTagManager,\n codeOptOutNoMatomoTagManager: cookie.data.meta.codeOptOutNoMatomoTagManager,\n codeOnPageLoad: cookie.data.meta.codeOnPageLoad,\n codeOptOutDelete: cookie.data.meta.codeOptOutDelete\n } : {\n name: (attributes === null || attributes === void 0 ? void 0 : attributes.name) || \"\",\n status: \"publish\",\n group: typeof useGroup === \"number\" ? // Can be `0`, so fallback to no selection (e.g. Cookie form modal in Content Blocker)\n useGroup || undefined : undefined,\n purpose: (attributes === null || attributes === void 0 ? void 0 : attributes.purpose) || \"\",\n provider: (attributes === null || attributes === void 0 ? void 0 : attributes.provider) || \"\",\n providerPrivacyPolicy: (attributes === null || attributes === void 0 ? void 0 : attributes.providerPrivacyPolicy) || \"\",\n consentForwardingUniqueName: (attributes === null || attributes === void 0 ? void 0 : attributes.consentForwardingUniqueName) || (preset === null || preset === void 0 ? void 0 : preset.identifier) || \"\",\n noTechnicalDefinitions: (attributes === null || attributes === void 0 ? void 0 : attributes.noTechnicalDefinitions) || false,\n legalBasis: (attributes === null || attributes === void 0 ? void 0 : attributes.legalBasis) || \"consent\",\n ePrivacyUSA: (attributes === null || attributes === void 0 ? void 0 : attributes.ePrivacyUSA) || false,\n technicalDefinitions: attributes !== null && attributes !== void 0 && attributes.technicalDefinitions ? JSON.parse(JSON.stringify(attributes.technicalDefinitions)) : [technicalDefinitionDefaults],\n codeDynamics: (attributes === null || attributes === void 0 ? void 0 : attributes.codeDynamics) || {},\n thisIsGoogleTagManager: (attributes === null || attributes === void 0 ? void 0 : attributes.thisIsGoogleTagManager) || false,\n googleTagManagerInEventName: (attributes === null || attributes === void 0 ? void 0 : attributes.googleTagManagerInEventName) || \"\",\n googleTagManagerOutEventName: (attributes === null || attributes === void 0 ? void 0 : attributes.googleTagManagerOutEventName) || \"\",\n thisIsMatomoTagManager: (attributes === null || attributes === void 0 ? void 0 : attributes.thisIsMatomoTagManager) || false,\n matomoTagManagerInEventName: (attributes === null || attributes === void 0 ? void 0 : attributes.matomoTagManagerInEventName) || \"\",\n matomoTagManagerOutEventName: (attributes === null || attributes === void 0 ? void 0 : attributes.matomoTagManagerOutEventName) || \"\",\n codeOptIn: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptIn) || \"\",\n codeOptInNoGoogleTagManager: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptInNoGoogleTagManager) || false,\n codeOptInNoMatomoTagManager: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptInNoMatomoTagManager) || false,\n codeOptOut: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptOut) || \"\",\n codeOnPageLoad: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOnPageLoad) || \"\",\n codeOptOutNoGoogleTagManager: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptOutNoGoogleTagManager) || false,\n codeOptOutNoMatomoTagManager: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptOutNoMatomoTagManager) || false,\n codeOptOutDelete: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptOutDelete) || false,\n createContentBlocker: typeof (attributes === null || attributes === void 0 ? void 0 : attributes.createContentBlocker) === \"boolean\" ? attributes.createContentBlocker : allowContentBlockerCreation && !(attributes !== null && attributes !== void 0 && attributes.deactivateAutomaticContentBlockerCreation),\n createContentBlockerId: attributes === null || attributes === void 0 ? void 0 : attributes.createContentBlockerId,\n presetCheck: !preset\n }; // Initially load the cookie if not yet done\n\n useEffect(function () {\n if (queried && !fetched) {\n group.cookies.getSingle({\n params: {\n id: id,\n context: \"edit\"\n }\n });\n }\n }, [queried, fetched]); // Lazy load attributes of preset model\n\n useEffect(function () {\n if (presetModel && !presetModel.attributes) {\n presetModel.fetchAttributes();\n }\n }, [presetModel]); // Scroll to top when opening the form\n\n useEffect(function () {\n if (scrollToTop) {\n scrollTo(0);\n }\n }, []);\n var handleSave = useCallback( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(values) {\n var name, status, purpose, noTechnicalDefinitions, technicalDefinitions, _group, codeDynamics, createContentBlocker, createContentBlockerId, consentForwardingUniqueName, meta, newMeta, _useGroup, draft;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n name = values.name, status = values.status, purpose = values.purpose, noTechnicalDefinitions = values.noTechnicalDefinitions, technicalDefinitions = values.technicalDefinitions, _group = values.group, codeDynamics = values.codeDynamics, createContentBlocker = values.createContentBlocker, createContentBlockerId = values.createContentBlockerId, consentForwardingUniqueName = values.consentForwardingUniqueName, meta = _objectWithoutProperties(values, [\"name\", \"status\", \"purpose\", \"noTechnicalDefinitions\", \"technicalDefinitions\", \"group\", \"codeDynamics\", \"createContentBlocker\", \"createContentBlockerId\", \"consentForwardingUniqueName\"]);\n newMeta = _objectSpread(_objectSpread({}, meta), {}, {\n noTechnicalDefinitions: noTechnicalDefinitions,\n codeDynamics: JSON.stringify(codeDynamics),\n // Still hold the data of `technicalDefinitions` in database so it is not cleared when activating this option\n technicalDefinitions: JSON.stringify(noTechnicalDefinitions ? initialValues.technicalDefinitions : technicalDefinitions),\n consentForwardingUniqueName: consentForwardingUniqueName || slugify(name)\n });\n delete newMeta.presetCheck;\n\n if (!queried) {\n _context.next = 14;\n break;\n }\n\n cookie.setName(name);\n cookie.setStatus(status);\n cookie.setPurpose(purpose);\n cookie.setMeta(newMeta);\n cookie.setGroup(_group);\n _context.next = 12;\n return cookie.patch();\n\n case 12:\n _context.next = 19;\n break;\n\n case 14:\n _useGroup = cookieStore.groups.entries.get(_group);\n draft = new CookieModel(_useGroup.cookies, {\n title: {\n rendered: name\n },\n content: {\n rendered: purpose,\n protected: false\n },\n status: status,\n meta: _objectSpread(_objectSpread({}, newMeta), {}, {\n presetId: preset === null || preset === void 0 ? void 0 : preset.identifier,\n presetVersion: preset === null || preset === void 0 ? void 0 : preset.version\n })\n });\n _context.next = 18;\n return draft.persist();\n\n case 18:\n onCreated === null || onCreated === void 0 ? void 0 : onCreated(draft);\n\n case 19:\n setHasChanges(false);\n\n _message.success(__(\"You have successfully saved the service.\") + (createContentBlocker ? \" \".concat(__(\"Continue with the corresponding Content Blocker!\")) : \"\")); // Navigate back after creation\n\n\n navigateAfterCreation && setTimeout(function () {\n return createContentBlocker ? // Navigate to content blocker form and forward `navigateAfterCreation` if given\n history.push(\"/blocker/new?force=\".concat(createContentBlockerId || preset.identifier, \"&cookieCreationPrompt=1\").concat(typeof navigateAfterCreation === \"string\" ? \"&navigateAfterCreation=\".concat(encodeURIComponent(navigateAfterCreation)) : \"\")) : // Navigate back to overview or custom link\n typeof navigateAfterCreation === \"string\" ? window.location.href = navigateAfterCreation : history.push(\"\".concat(link.slice(1), \"/\").concat(_group));\n }, 0);\n _context.next = 28;\n break;\n\n case 24:\n _context.prev = 24;\n _context.t0 = _context[\"catch\"](0);\n\n _message.error(_context.t0.responseJSON.message);\n\n throw _context.t0;\n\n case 28:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 24]]);\n }));\n\n return function (_x) {\n return _ref3.apply(this, arguments);\n };\n }(), [queried, cookie, cookieStore]);\n var onFinish = useCallback( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(values) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n setIsBusy(true);\n _context2.prev = 1;\n _context2.next = 4;\n return handleSave(values);\n\n case 4:\n _context2.next = 8;\n break;\n\n case 6:\n _context2.prev = 6;\n _context2.t0 = _context2[\"catch\"](1);\n\n case 8:\n _context2.prev = 8;\n setIsBusy(false);\n return _context2.finish(8);\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[1, 6, 8, 11]]);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }(), [form, handleSave]);\n var onFinishFailed = useCallback(function (errorInfo) {\n _message.error(__(\"The service could not be saved due to missing/invalid form values.\"));\n\n if (errorInfo.errorFields.length) {\n form.scrollToField(errorInfo.errorFields[0].name, {\n behavior: \"smooth\",\n block: \"center\"\n });\n }\n }, []);\n var handleBeforeUnload = useCallback(function () {\n if (!hasChanges) {\n return true;\n }\n\n return __('You have unsaved changes. If you click on \"confirm\", your changes will be discarded.');\n }, [form, initialValues]);\n\n if (queried && !fetched) {\n return /*#__PURE__*/React.createElement(_Skeleton, {\n active: true,\n paragraph: {\n rows: 8\n }\n });\n }\n\n return /*#__PURE__*/React.createElement(_Spin, {\n spinning: isBusy || (presetModel === null || presetModel === void 0 ? void 0 : presetModel.busy) || false\n }, /*#__PURE__*/React.createElement(Prompt, {\n message: handleBeforeUnload\n }), /*#__PURE__*/React.createElement(_Form, _extends({\n name: \"cookie-\".concat(group.key, \"-\").concat(id),\n form: form\n }, CookieEditFormLayout, {\n initialValues: initialValues,\n onFinish: onFinish,\n onFinishFailed: onFinishFailed,\n onValuesChange: function onValuesChange(_ref5) {\n var technicalDefinitions = _ref5.technicalDefinitions;\n setHasChanges(true); // Listen to `sessionDuration` changes and validate the `required` field\n // Listen to `type` changes and validate the technical host field\n\n var td = (technicalDefinitions || []).filter(Boolean);\n\n if (td.length === 1) {\n var tdChangedKeys = Object.keys(td[0]);\n\n if (tdChangedKeys.length === 1 && [\"sessionDuration\", \"type\"].indexOf(tdChangedKeys[0]) > -1) {\n setTimeout(function () {\n return form.validateFields();\n }, 100); // wait a bit so there are not false-positives\n }\n }\n }\n }), /*#__PURE__*/React.createElement(CookieEditFormGeneralFields, {\n groupNotice: (attributes === null || attributes === void 0 ? void 0 : attributes.groupNotice) || (presetModel === null || presetModel === void 0 ? void 0 : (_presetModel$attribut3 = presetModel.attributes) === null || _presetModel$attribut3 === void 0 ? void 0 : _presetModel$attribut3.groupNotice),\n providerPrivacyPolicyNotice: !fetched && presetModel !== null && presetModel !== void 0 && presetModel.attributes && !initialValues.providerPrivacyPolicy ? __('You have not yet set a privacy policy in the settings, so this field could not be filled in automatically. Please enter the URL of your privacy policy here and <a href=\"%s\" target=\"_blank\">set the corresponding page in your settings.</a>', \"#/settings\") : null,\n showNoticePresetGroupNotFound: useGroup === \"preset-group-not-found\" ? attributes.group : false\n }), /*#__PURE__*/React.createElement(CookieEditFormTechnicalFields, null), /*#__PURE__*/React.createElement(CookieEditFormHandlingFields, {\n dynamicFields: (attributes === null || attributes === void 0 ? void 0 : attributes.dynamicFields) || (presetModel === null || presetModel === void 0 ? void 0 : (_presetModel$attribut4 = presetModel.attributes) === null || _presetModel$attribut4 === void 0 ? void 0 : _presetModel$attribut4.dynamicFields),\n notices: [{\n message: (attributes === null || attributes === void 0 ? void 0 : attributes.technicalHandlingNotice) || (presetModel === null || presetModel === void 0 ? void 0 : (_presetModel$attribut5 = presetModel.attributes) === null || _presetModel$attribut5 === void 0 ? void 0 : _presetModel$attribut5.technicalHandlingNotice),\n severity: \"info\"\n }, {\n // Example: Hotjar (hidden content blocker)\n message: showOptInNoticeScanned && !allowContentBlockerCreation && __(\"If you have already used %s before creating this service, please deactivate the script/plugin with which the service was loaded so far. The opt-in script will now take care of the correct integration.\", presetModel.data.attributes_name),\n severity: \"warning\"\n }, {\n // Example: Google Analytics (scanned, found in custom script (e.g. `functions.php`))\n message: showOptInNoticeScanned && allowContentBlockerCreation && __(\"You are currently embedding %1$s outside of Real Cookie Banner. You can have it blocked via a content blocker before consenting. Alternatively, you can use the following opt-in script to load %1$s directly into Real Cookie Banner.<br /><br />If you want to embed %1$s via Real Cookie Banner, you have to deactivate the content blocker at the end of the form and remove %1$s outside Real Cookie Banner.<br /><br />If you prefer to keep the current integration, you only have to delete the opt-in script in this form.\", presetModel.data.attributes_name),\n severity: \"warning\"\n }].filter(function (_ref6) {\n var message = _ref6.message;\n return message;\n })\n }), !!preset && /*#__PURE__*/React.createElement(React.Fragment, null, allowContentBlockerCreation && navigateAfterCreation && /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: CookieEditFormLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.group !== nextValues.group;\n }\n }, function (_ref7) {\n var getFieldValue = _ref7.getFieldValue;\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n name: \"createContentBlocker\",\n valuePropName: \"checked\",\n dependencies: [\"group\"],\n rules: [{\n validator: function validator(_, value) {\n return getFieldValue(\"group\") === essentialGroup.key && value ? Promise.reject(__('Services that should be associated with a content blocker cannot be in the \"Essential\" group, because it cannot be rejected.')) : Promise.resolve();\n }\n }]\n }, /*#__PURE__*/React.createElement(_Checkbox, null, __(\"Create content blocker for this service.\")));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.createContentBlocker !== nextValues.createContentBlocker;\n }\n }, function (_ref8) {\n var getFieldValue = _ref8.getFieldValue;\n return /*#__PURE__*/React.createElement(React.Fragment, null, getFieldValue(\"createContentBlocker\") && /*#__PURE__*/React.createElement(React.Fragment, null, Object.keys(preset.contentBlockerPresets).length > 1 && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n name: \"createContentBlockerId\",\n rules: [{\n required: true,\n message: __(\"Please select a template for the Content Blocker!\")\n }]\n }, /*#__PURE__*/React.createElement(_Select, {\n style: {\n maxWidth: 500,\n marginTop: 10,\n display: \"block\"\n },\n placeholder: __(\"Select Content Blocker template...\")\n }, Object.keys(preset.contentBlockerPresets).map(function (contentBlockerId) {\n return /*#__PURE__*/React.createElement(_Select.Option, {\n key: contentBlockerId,\n value: contentBlockerId\n }, preset.contentBlockerPresets[contentBlockerId]);\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\",\n style: {\n marginTop: 10\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"Immediately after submitting this form you will be forwarded to another form that allows you to create the Content Blocker.\")))), !!createContentBlockerNotice && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: createContentBlockerNotice\n }\n })));\n })), /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"presetCheck\",\n valuePropName: \"checked\",\n required: true,\n rules: [{\n type: \"boolean\",\n required: true,\n transform: function transform(value) {\n return value || undefined;\n },\n message: __(\"Please confirm that you have checked the contents of the service.\")\n }],\n wrapperCol: {\n offset: CookieEditFormLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(_Checkbox, null, __(\"I have checked the information in the service template myself and added any missing information or corrected any information that does not fit to my use case.\"), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/is-real-cookie-banner-legally-compliant/\")\n })))), /*#__PURE__*/React.createElement(_Form.Item, {\n className: \"rcb-form-sticky-submit\"\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(\"input\", {\n type: \"submit\",\n className: \"button button-primary right\",\n value: __(\"Save\")\n })))));\n});\nexport { CookieEditFormLayout, technicalDefinitionDefaults, CookieEditForm };","import _Form from \"antd/es/form\";\n\nvar FormHeadline = function FormHeadline(_ref) {\n var children = _ref.children,\n description = _ref.description,\n offset = _ref.offset;\n return /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: offset\n },\n style: {\n borderBottom: \"1px solid #e7e7e7\"\n }\n }, /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n margin: \"0 0 \".concat(description ? 3 : 15, \"px 0\")\n }\n }, children), !!description && /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginBottom: 15\n }\n }, description));\n};\n\nexport { FormHeadline };","import { useLocation } from \"react-router-dom\";\nimport { Url } from \"@devowl-wp/utils\";\n/**\n * Allows to parse query arguments from the `react-router` string.\n */\n\nfunction useLocationQuery() {\n return new Url(\"/\".concat(useLocation().search), true).query;\n}\n\nexport { useLocationQuery };","import { useRouteMatch } from \"react-router-dom\";\nimport { useStores } from \"../store\";\nimport { useCallback } from \"react\";\nimport { CookieGroupModel } from \"../models\";\n\nvar useRouteCookieGroup = function useRouteCookieGroup() {\n var _useRouteMatch = useRouteMatch(),\n cookieGroup = _useRouteMatch.params.cookieGroup;\n\n var _useStores = useStores(),\n cookieStore = _useStores.cookieStore; // Get cookie group or return draft object\n\n\n var id = isNaN(+cookieGroup) ? 0 : +cookieGroup;\n var queried = !!cookieGroup;\n var group = cookieStore.groups.entries.get(id) || new CookieGroupModel(cookieStore.groups, {\n id: 0\n });\n var link = \"#/cookies\";\n var editLink = useCallback(function (_ref) {\n var key = _ref.key;\n return \"#/cookies/\".concat(group.key, \"/edit/\").concat(key);\n }, [group]);\n var addCookieLink = \"#/cookies/\".concat(group.key, \"/new\");\n return {\n group: group,\n id: id,\n queried: queried,\n fetched: group.key !== 0,\n link: link,\n editLink: editLink,\n addCookieLink: addCookieLink\n };\n};\n\nexport { useRouteCookieGroup };","function getCookieTypeLocalized() {\n return {\n http: {\n name: \"HTTP Cookie\",\n abbr: \"HTTP\",\n backgroundColor: \"black\"\n },\n local: {\n name: \"Local Storage\",\n abbr: \"Local\",\n backgroundColor: \"#b3983c\"\n },\n session: {\n name: \"Session Storage\",\n abbr: \"Session\",\n backgroundColor: \"#3c99b3\"\n },\n flash: {\n name: \"Flash Local Shared Object\",\n abbr: \"Flash\",\n backgroundColor: \"#b33c3c\"\n },\n indexedDb: {\n name: \"IndexedDB\",\n abbr: \"I-DB\",\n backgroundColor: \"#4ab33c\"\n }\n };\n}\n\nexport { getCookieTypeLocalized };"],"names":["slugify","str","replace","toLowerCase","from","i","l","length","RegExp","charAt","useRouteCookie","routeGroup","useRouteCookieGroup","group","params","useRouteMatch","id","isNaN","cookie","queried","cookies","entries","get","fetched","key","CookieEditFormGeneralFields","_ref","_cookie$presetModel","_cookie$presetModel$d","_ref$showNoticePreset","showNoticePresetGroupNotFound","groupNotice","providerPrivacyPolicyNotice","_useStores","_useStores$cookieStor","cookieStore","groups","essentialGroup","_useStores$optionStor","optionStore","ePrivacyUSA","consentForwarding","_useRouteCookie","isRealCookieBannerPreset","presetModel","data","identifier","findByUniqueCookieName","useCallback","_ref2","_callee","slug","_context","prev","next","request","location","abrupt","sent","filter","d","ID","t0","undefined","stop","_x","apply","this","arguments","validateUniqueCookieName","_ref3","_callee2","allowOverwrite","found","_consentForwardingUniqueName","matchRegexp","foundGenerated","_context2","__","metas","consentForwardingUniqueName","match","_","g1","g2","concat","_x2","_x3","React","createElement","Fragment","offset","CookieEditFormLayout","labelCol","span","url","label","required","name","noStyle","rules","message","className","value","sortedGroups","map","_ref4","_ref4$data","dangerouslySetInnerHTML","__html","autoSize","minRows","type","shouldUpdate","prevValues","nextValues","_ref5","_validator","getFieldValue","setFieldsValue","isEssentialGroup","style","display","validateTrigger","validator","_callee3","_context3","_x4","_x5","placeholder","disabled","_i","strong","_ref6","valuePropName","WP_LIST_TABLE_FORM_ITEM_PROPS","wrapperCol","margin","CookieEditFormTechnicalFields","cookieTypeLocalized","noTechnicalDefinitions","technicalDefinitions","fields","add","remove","description","marginBottom","width","title","code","QuestionCircleFilled","align","field","fieldKey","Object","keys","_prevValues$technical","_nextValues$technical","cookieName","r","Array","isArray","test","_prevValues$technical2","_nextValues$technical2","indexOf","isUrl","Promise","resolve","reject","_prevValues$technical3","_nextValues$technical3","host","startsWith","substr","_prevValues$technical4","_nextValues$technical4","float","marginTop","_prevValues$technical5","_nextValues$technical5","sessionDuration","_ref7","min","addonAfter","maxWidth","onClick","DeleteOutlined","colSpan","technicalDefinitionDefaults","PlusOutlined","CookieEditFormManagerFields","manager","onlyWhenManagerIs","hasManagerAttributeName","thisIsManagerAttributeName","inEventNameAttributeName","outEventNameAttributeName","setCookiesViaManager","hasManager","isPro","others","curValues","isActive","active","inEventName","outEventName","addonBefore","marginRight","DYNAMICS_SEARCH_IN","DYNAMICS_VARIABLE_REGEXP","CookieEditFormCodeDynamics","dynamicFields","k","Boolean","searchInResolved","join","matches","matchAll","added","formName","_ref5$invalidMessage","invalidMessage","example","expression","hint","push","pattern","NoticeFormItemContainsSkipIfActiveAttribute","activePlugins","activePluginKeys","useMemo","split","plugin","flat","uniq","CookieEditFormHandlingFields","notices","createHiddenFormItemsWithCodeMirror","visible","opacity","height","severity","thisIsGoogleTagManager","u","thisIsMatomoTagManager","settings","window","cm_settings","_ref8","duration","durationUnit","CookieEditForm","_cookieStore$groups$s","_cookieStore$groups$s2","_presetModel$attribut","_presetModel$attribut2","_presetModel$attribut3","_presetModel$attribut4","_presetModel$attribut5","preset","attributes","_ref$navigateAfterCre","navigateAfterCreation","_ref$scrollToTop","scrollToTop","onCreated","_useRouteCookie$route","link","_Form$useForm","form","_useState","useState","_useState2","isBusy","setIsBusy","_useState3","_useState4","hasChanges","setHasChanges","history","useHistory","presetsCookie","useGroup","allowContentBlockerCreation","contentBlockerPresets","createContentBlockerNotice","showOptInNoticeScanned","scanned","codeOptIn","initialValues","raw","status","purpose","content","provider","meta","providerPrivacyPolicy","legalBasis","JSON","parse","stringify","codeDynamics","googleTagManagerInEventName","googleTagManagerOutEventName","matomoTagManagerInEventName","matomoTagManagerOutEventName","codeOptInNoGoogleTagManager","codeOptInNoMatomoTagManager","codeOptOut","codeOptOutNoGoogleTagManager","codeOptOutNoMatomoTagManager","codeOnPageLoad","codeOptOutDelete","createContentBlocker","deactivateAutomaticContentBlockerCreation","createContentBlockerId","presetCheck","useEffect","getSingle","context","fetchAttributes","scrollTo","handleSave","values","_group","newMeta","_useGroup","draft","setName","setStatus","setPurpose","setMeta","setGroup","patch","rendered","protected","presetId","presetVersion","version","persist","setTimeout","encodeURIComponent","href","slice","responseJSON","onFinish","finish","onFinishFailed","errorInfo","errorFields","scrollToField","behavior","block","handleBeforeUnload","paragraph","rows","spinning","busy","Prompt","onValuesChange","td","tdChangedKeys","validateFields","technicalHandlingNotice","attributes_name","dependencies","contentBlockerId","transform","FormHeadline","children","borderBottom","useLocationQuery","Url","useLocation","search","query","cookieGroup","editLink","addCookieLink","getCookieTypeLocalized","http","abbr","backgroundColor","local","session","flash","indexedDb"],"sourceRoot":""}
1
+ {"version":3,"file":"152.lite.js?ver=5aff83972673573d7757","mappings":"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","sources":["webpack://realCookieBanner_[name]/./src/public/ts/utils/slugify.tsx","webpack://realCookieBanner_[name]/./src/public/ts/hooks/useRouteCookie.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/formFields/general.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/formFields/technical.tsx","webpack://realCookieBanner_[name]/./src/public/ts/utils/isHost.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/formFields/manager.tsx","webpack://realCookieBanner_[name]/./src/public/ts/others/dynamics/index.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/formFields/codeDynamics.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/formFields/noticeFormItemContainsSkipIfActiveAttribute.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/formFields/handling.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/cookies/form.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/formHeadline.tsx","webpack://realCookieBanner_[name]/./src/public/ts/hooks/useLocationQuery.tsx","webpack://realCookieBanner_[name]/./src/public/ts/hooks/useRouteCookieGroup.tsx","webpack://realCookieBanner_[name]/./src/public/ts/others/cookieTypeLocalized.tsx"],"sourcesContent":["/**\n * Slugify a given text.\n *\n * @see https://gist.github.com/codeguy/6684588\n */\nfunction slugify(str) {\n str = str.replace(/^\\s+|\\s+$/g, \"\"); // trim\n\n str = str.toLowerCase(); // remove accents, swap ñ for n, etc\n\n var from = \"àáäâèéëêìíïîòóöôùúüûñç·/_,:;\";\n var to = \"aaaaeeeeiiiioooouuuunc------\";\n\n for (var i = 0, l = from.length; i < l; i++) {\n str = str.replace(new RegExp(from.charAt(i), \"g\"), to.charAt(i));\n }\n\n str = str.replace(/[^a-z0-9 -]/g, \"\") // remove invalid chars\n .replace(/\\s+/g, \"-\") // collapse whitespace and replace by -\n .replace(/-+/g, \"-\"); // collapse dashes\n\n return str;\n}\n\nexport { slugify };","import { useRouteMatch } from \"react-router-dom\";\nimport { CookieModel } from \"../models\";\nimport { useRouteCookieGroup } from \".\";\n\nvar useRouteCookie = function useRouteCookie() {\n var routeGroup = useRouteCookieGroup();\n var group = routeGroup.group;\n\n var _useRouteMatch = useRouteMatch(),\n params = _useRouteMatch.params; // Get cookie or return draft object\n\n\n var id = isNaN(+params.cookie) ? 0 : +params.cookie;\n var queried = !!params.cookie;\n var cookie = group.cookies.entries.get(+params.cookie) || new CookieModel(group.cookies, {\n id: 0\n });\n return {\n routeGroup: routeGroup,\n cookie: cookie,\n id: id,\n queried: queried,\n fetched: cookie.key !== 0\n };\n};\n\nexport { useRouteCookie };","import _Switch from \"antd/es/switch\";\nimport _Select from \"antd/es/select\";\nimport _Radio from \"antd/es/radio\";\nimport _Form from \"antd/es/form\";\nimport _Input from \"antd/es/input\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useCallback } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { _i, __, request, slugify } from \"../../../../utils\";\nimport { useStores } from \"../../../../store\";\nimport { FormHeadline, LearnMoreTag } from \"../../..\";\nimport { CookieEditFormLayout } from \"..\";\nimport { locationRestForwardCookieGet } from \"../../../../wp-api\";\nimport { useRouteCookie } from \"../../../../hooks\";\nvar CookieEditFormGeneralFields = observer(function (_ref) {\n var _cookie$presetModel, _cookie$presetModel$d;\n\n var _ref$showNoticePreset = _ref.showNoticePresetGroupNotFound,\n showNoticePresetGroupNotFound = _ref$showNoticePreset === void 0 ? false : _ref$showNoticePreset,\n groupNotice = _ref.groupNotice,\n providerPrivacyPolicyNotice = _ref.providerPrivacyPolicyNotice;\n\n var _useStores = useStores(),\n _useStores$cookieStor = _useStores.cookieStore,\n groups = _useStores$cookieStor.groups,\n essentialGroup = _useStores$cookieStor.essentialGroup,\n _useStores$optionStor = _useStores.optionStore,\n ePrivacyUSA = _useStores$optionStor.ePrivacyUSA,\n consentForwarding = _useStores$optionStor.consentForwarding;\n\n var _useRouteCookie = useRouteCookie(),\n cookie = _useRouteCookie.cookie,\n fetched = _useRouteCookie.fetched;\n\n var isRealCookieBannerPreset = ((_cookie$presetModel = cookie.presetModel) === null || _cookie$presetModel === void 0 ? void 0 : (_cookie$presetModel$d = _cookie$presetModel.data) === null || _cookie$presetModel$d === void 0 ? void 0 : _cookie$presetModel$d.identifier) === \"real-cookie-banner\";\n var findByUniqueCookieName = useCallback( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(slug) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return request({\n location: locationRestForwardCookieGet,\n params: {\n slug: slug\n }\n });\n\n case 3:\n return _context.abrupt(\"return\", _context.sent.filter(function (d) {\n return d.ID !== cookie.key;\n })[0]);\n\n case 6:\n _context.prev = 6;\n _context.t0 = _context[\"catch\"](0);\n return _context.abrupt(\"return\", undefined);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 6]]);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }(), [cookie.key]);\n var validateUniqueCookieName = useCallback( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(slug, allowOverwrite) {\n var found, _consentForwardingUniqueName, matchRegexp, foundGenerated;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return findByUniqueCookieName(slug);\n\n case 2:\n found = _context2.sent;\n\n if (!found) {\n _context2.next = 19;\n break;\n }\n\n if (allowOverwrite) {\n _context2.next = 8;\n break;\n }\n\n throw __(\"A service with the same unique name already exists.\");\n\n case 8:\n // Consent Forwarding is deactivated, so we need to generate an unique name for the user\n _consentForwardingUniqueName = found.metas.consentForwardingUniqueName;\n matchRegexp = /^(.*)-(\\d+)$/;\n foundGenerated = found;\n\n case 11:\n if (!foundGenerated) {\n _context2.next = 18;\n break;\n }\n\n _consentForwardingUniqueName = _consentForwardingUniqueName.match(matchRegexp) ? _consentForwardingUniqueName.replace(matchRegexp, function (_, g1, g2) {\n return \"\".concat(g1, \"-\").concat(+g2 + 1);\n }) : \"\".concat(_consentForwardingUniqueName, \"-1\");\n _context2.next = 15;\n return findByUniqueCookieName(_consentForwardingUniqueName);\n\n case 15:\n foundGenerated = _context2.sent;\n _context2.next = 11;\n break;\n\n case 18:\n // Overwrite in form\n allowOverwrite(_consentForwardingUniqueName);\n\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2, _x3) {\n return _ref3.apply(this, arguments);\n };\n }(), [findByUniqueCookieName]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormHeadline, {\n offset: CookieEditFormLayout.labelCol.span\n }, __(\"General service configuration\"), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/real-cookie-banner-create-individual-cookie/\")\n })), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Name\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"name\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please provide a name!\")\n }]\n }, /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __('Each service used should have a descriptive name that is understandable to a non-professional user. Example: \"Google Analytics\".'))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Status\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"status\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please choose a status!\")\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, null, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"publish\"\n }, __(\"Enabled\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"private\"\n }, __(\"Disabled\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"draft\"\n }, __(\"Draft\")))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __('Services with the status \"Draft\" or \"Disabled\" are not visible to the public. In addition, a draft will be highlighted in the service table so that you do not forget to configure it.'))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Group\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"group\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please provide a group!\")\n }]\n }, /*#__PURE__*/React.createElement(_Select, null, groups.sortedGroups.map(function (_ref4) {\n var _ref4$data = _ref4.data,\n id = _ref4$data.id,\n name = _ref4$data.name;\n return /*#__PURE__*/React.createElement(_Select.Option, {\n key: id,\n value: id\n }, name);\n }))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"Each service must be assigned to a group. All services that do not belong to the group of essential services can (but do not have to) be accepted by visitors. According to the ePrivacy Directive, only services without which the website would not work are considered as essential services if the visitor has explicitly requested the service used. A possible economic interest of the website operator in using a tool, e.g. Google Analytics, is irrelevant.\")), showNoticePresetGroupNotFound !== false && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"The service group in which this service is normally placed (%s) has been deleted by you. Please group the service yourself.\", showNoticePresetGroupNotFound))), !!groupNotice && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: groupNotice\n }\n }))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Provider\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"provider\",\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please name a provider!\")\n }]\n }, /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __('A service always has an \"owner\", who processes collected data or information saved in cookies etc. Please specify which provider creates cookies and processes personal data, e.g. \"Google Ireland Limited\". If you are the provider, please enter your legal name.'))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Purpose\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"purpose\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Input.TextArea, {\n autoSize: {\n minRows: 3\n }\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"The ePrivacy Directive and the GDPR require that a non-professional user understands the purpose of this service, how personal data is collected and how cookies are used for this purpose.\"))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Privacy policy of the provider\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"providerPrivacyPolicy\",\n noStyle: true,\n rules: [{\n type: \"url\",\n message: __(\"Please provide a valid URL!\")\n }]\n }, /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"Provide a direct link to the privacy policy of the provider that runs this service (in the language of your website).\")), !!providerPrivacyPolicyNotice && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: providerPrivacyPolicyNotice\n }\n }))), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.group !== nextValues.group || prevValues.name !== nextValues.name;\n }\n }, function (_ref5) {\n var getFieldValue = _ref5.getFieldValue,\n setFieldsValue = _ref5.setFieldsValue;\n var isEssentialGroup = getFieldValue(\"group\") === essentialGroup.key;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Consent Forwarding Unique Name\"),\n style: {\n display: consentForwarding ? undefined : \"none\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"consentForwardingUniqueName\",\n noStyle: true,\n validateTrigger: \"onBlur\",\n rules: [{\n validator: function () {\n var _validator = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(rules, value) {\n var allowOverwrite;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n allowOverwrite = consentForwarding ? !value : true;\n return _context3.abrupt(\"return\", validateUniqueCookieName(value || slugify(getFieldValue(\"name\")), allowOverwrite ? function (consentForwardingUniqueName) {\n return setFieldsValue({\n consentForwardingUniqueName: consentForwardingUniqueName\n });\n } : undefined));\n\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n function validator(_x4, _x5) {\n return _validator.apply(this, arguments);\n }\n\n return validator;\n }()\n }]\n }, /*#__PURE__*/React.createElement(_Input, {\n placeholder: fetched ? \"\" : slugify(getFieldValue(\"name\"))\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"Consent Forwarding is active. This means that all services on all available instances must be identified by a unique name in order to correctly set consent for a service.\")), isEssentialGroup && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You can define a unique name, but essential services are automatically accepted when a consent is forwarded.\")))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Legal basis\"),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"legalBasis\",\n noStyle: true,\n rules: [{\n required: true\n }]\n }, /*#__PURE__*/React.createElement(_Radio.Group, {\n disabled: isEssentialGroup\n }, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"consent\"\n }, __(\"Consent (Opt-in)\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"legitimate-interest\"\n }, __(\"Legitimate interest (Opt-out)\")), isRealCookieBannerPreset && /*#__PURE__*/React.createElement(_Radio.Button, {\n value: \"legal-requirement\"\n }, __(\"Compliance with a legal obligation\")))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, _i(__('Services can be used on various legal bases according to Art. 6 GDPR. \"Consent\" means that the user must explicitly agree to the service (opt-in). \"Legitimate interest\" means that your interest as a website operator prevails to use the service and the user must explicitly disagree (opt-out). Unless it is an essential service. Then an objection is not possible. {{strong}}A legitimate interest exists only in rare cases and only for data processing. If you are not sure, it is better to obtain consent to be on the safe side.{{/strong}}'), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n })), isEssentialGroup && !isRealCookieBannerPreset && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __('Your service is currently grouped as \"Essential\". This group implies the legitimate interest, with the only difference that this service cannot be opted out.')))));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.group !== nextValues.group || prevValues.ePrivacyUSA !== nextValues.ePrivacyUSA;\n }\n }, function (_ref6) {\n var getFieldValue = _ref6.getFieldValue;\n return /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"US data processing\"),\n style: {\n display: ePrivacyUSA ? undefined : \"none\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"ePrivacyUSA\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", __(\"This service processes data in the USA or transfers data to US companies or servers\")), getFieldValue(\"ePrivacyUSA\") && getFieldValue(\"group\") === essentialGroup.key && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"If you use this service declaration only as a notice and the corresponding service is already embedded outside the cookie banner on the first visit to the website, it is possible that the service used in the USA is already processing data before the user has agreed to this. From a data protection perspective, the use of such services should be avoided, or the service should be embedded in the opt-in code (execution after consent). In practice, this will not always be possible.\"))));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"No technical definitions\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"noTechnicalDefinitions\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", __(\"This service does not set any technical cookies on the client of the visitor, but e.g. integrates a script.\"))));\n});\nexport { CookieEditFormGeneralFields };","import _Checkbox from \"antd/es/checkbox\";\nimport _Input from \"antd/es/input\";\nimport _Form from \"antd/es/form\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _Select from \"antd/es/select\";\nimport _Tooltip from \"antd/es/tooltip\";\nimport { observer } from \"mobx-react\";\nimport { __, _i, isHost, isUrl } from \"../../../../utils\";\nimport { getCookieTypeLocalized } from \"../../../../others\";\nimport { PlusOutlined, QuestionCircleFilled, DeleteOutlined } from \"@ant-design/icons\";\nimport { FormHeadline } from \"../../..\";\nimport { CookieEditFormLayout, technicalDefinitionDefaults } from \"..\";\nvar WP_LIST_TABLE_FORM_ITEM_PROPS = {\n labelCol: {\n span: 0\n },\n wrapperCol: {\n span: 24\n },\n style: {\n margin: 0\n }\n};\nvar CookieEditFormTechnicalFields = observer(function () {\n var cookieTypeLocalized = getCookieTypeLocalized();\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.noTechnicalDefinitions !== nextValues.noTechnicalDefinitions || prevValues.technicalDefinitions.length !== nextValues.technicalDefinitions.length;\n }\n }, function (_ref) {\n var getFieldValue = _ref.getFieldValue;\n return getFieldValue(\"noTechnicalDefinitions\") ? null : /*#__PURE__*/React.createElement(_Form.List, {\n name: \"technicalDefinitions\"\n }, function (fields, _ref2) {\n var add = _ref2.add,\n remove = _ref2.remove;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormHeadline, {\n offset: CookieEditFormLayout.labelCol.span,\n description: __(\"For each service you use, you should specify all cookies that are used by it. You can find this out in the developer console of your browser. Please note that there are several types of cookies and that the law requires that you inform your visitors not only about (HTTP) cookies, but also about cookie-like information.\")\n }, __(\"Technical cookie information\")), /*#__PURE__*/React.createElement(\"table\", {\n className: \"wp-list-table widefat fixed striped table-view-list\",\n style: {\n marginBottom: 25\n }\n }, /*#__PURE__*/React.createElement(\"thead\", null, /*#__PURE__*/React.createElement(\"tr\", null, /*#__PURE__*/React.createElement(\"td\", {\n width: 150\n }, __(\"Cookie type\")), /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Tooltip, {\n title: _i(__(\"Every cookie has a technical name, which you must provide. If a cookie name is dynamically composed, please use an asterisk ({{code}}*{{/code}}) as a wildcard (placeholder).\"), {\n code: /*#__PURE__*/React.createElement(\"code\", null)\n })\n }, /*#__PURE__*/React.createElement(\"span\", null, __(\"Technical cookie name\"), \" \", /*#__PURE__*/React.createElement(QuestionCircleFilled, null)))), /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Tooltip, {\n title: __(\"Every cookie is associated to a domain or hostname.\")\n }, /*#__PURE__*/React.createElement(\"span\", null, __(\"Technical cookie host\"), \" \", /*#__PURE__*/React.createElement(QuestionCircleFilled, null)))), /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Tooltip, {\n title: __(\"A HTTP cookie is only valid for a certain time, which is defined when the cookie is set.\")\n }, /*#__PURE__*/React.createElement(\"span\", null, __(\"Cookie duration\"), \" \", /*#__PURE__*/React.createElement(QuestionCircleFilled, null)))), /*#__PURE__*/React.createElement(\"td\", {\n width: 50,\n align: \"right\"\n }, \"\\xA0\"))), /*#__PURE__*/React.createElement(\"tbody\", null, fields.map(function (field) {\n return /*#__PURE__*/React.createElement(\"tr\", {\n key: field.key\n }, /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, WP_LIST_TABLE_FORM_ITEM_PROPS, {\n fieldKey: [field.fieldKey, \"type\"],\n name: [field.name, \"type\"],\n rules: [{\n required: true,\n message: __(\"Please provide a cookie type!\")\n }]\n }), /*#__PURE__*/React.createElement(_Select, null, Object.keys(cookieTypeLocalized).map(function (key) {\n return /*#__PURE__*/React.createElement(_Select.Option, {\n key: key,\n value: key\n }, cookieTypeLocalized[key].name);\n })))), /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, WP_LIST_TABLE_FORM_ITEM_PROPS, {\n fieldKey: [field.fieldKey, \"name\"],\n name: [field.name, \"name\"],\n rules: [{\n required: true,\n message: __(\"Please provide a technical cookie name!\")\n }]\n }), /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n var _prevValues$technical, _nextValues$technical;\n\n return ((_prevValues$technical = prevValues.technicalDefinitions[field.name]) === null || _prevValues$technical === void 0 ? void 0 : _prevValues$technical.name) !== ((_nextValues$technical = nextValues.technicalDefinitions[field.name]) === null || _nextValues$technical === void 0 ? void 0 : _nextValues$technical.name);\n }\n }, function (_ref3) {\n var getFieldValue = _ref3.getFieldValue;\n var cookieName = getFieldValue([\"technicalDefinitions\", field.name, \"name\"]);\n var notSupportedCookieNamePlaceholders = [/\\[/gm, [/([{]+)/gm, function (match) {\n return match.length === 1;\n }], /\\(/gm];\n return notSupportedCookieNamePlaceholders.filter(function (r) {\n return Array.isArray(r) ? r[0].test(cookieName) && cookieName.match(r[0]).filter(r[1]).length > 0 : r.test(cookieName);\n }).length > 0 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"Are you sure this is the name of the cookie? It seems like you are using a placeholder that is not supported. Please use an asterisk ({{code}}*{{/code}}) as a placeholder if the cookie name is dynamically composed.\"), {\n code: /*#__PURE__*/React.createElement(\"code\", null)\n })));\n })), /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n var _prevValues$technical2, _nextValues$technical2;\n\n return ((_prevValues$technical2 = prevValues.technicalDefinitions[field.name]) === null || _prevValues$technical2 === void 0 ? void 0 : _prevValues$technical2.type) !== ((_nextValues$technical2 = nextValues.technicalDefinitions[field.name]) === null || _nextValues$technical2 === void 0 ? void 0 : _nextValues$technical2.type);\n }\n }, function (_ref4) {\n var getFieldValue = _ref4.getFieldValue;\n var type = getFieldValue([\"technicalDefinitions\", field.name, \"type\"]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, WP_LIST_TABLE_FORM_ITEM_PROPS, {\n fieldKey: [field.fieldKey, \"host\"],\n name: [field.name, \"host\"],\n rules: [{\n validator: function validator(_, value) {\n return ([\"local\", \"session\", \"indexedDb\"].indexOf(type) > -1 ? isUrl(value) : isHost(value)) || value === \"\" && type !== \"http\" ? Promise.resolve() : Promise.reject(__(\"Please provide a valid hostname!\"));\n }\n }]\n }), /*#__PURE__*/React.createElement(_Input, null)), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n var _prevValues$technical3, _nextValues$technical3;\n\n return ((_prevValues$technical3 = prevValues.technicalDefinitions[field.name]) === null || _prevValues$technical3 === void 0 ? void 0 : _prevValues$technical3.host) !== ((_nextValues$technical3 = nextValues.technicalDefinitions[field.name]) === null || _nextValues$technical3 === void 0 ? void 0 : _nextValues$technical3.host);\n }\n }, function (_ref5) {\n var getFieldValue = _ref5.getFieldValue;\n var host = getFieldValue([\"technicalDefinitions\", field.name, \"host\"]);\n return host.startsWith(\"*.\") && host.length > 2 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"You are using an invalid wildcard (placeholder) syntax {{code}}*.{{/code}} to match subdomains. Use {{code}}.%s{{/code}} to include subdomains.\", host.substr(2)), {\n code: /*#__PURE__*/React.createElement(\"code\", null)\n })));\n }));\n })), /*#__PURE__*/React.createElement(\"td\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n var _prevValues$technical4, _nextValues$technical4;\n\n return ((_prevValues$technical4 = prevValues.technicalDefinitions[field.name]) === null || _prevValues$technical4 === void 0 ? void 0 : _prevValues$technical4.type) !== ((_nextValues$technical4 = nextValues.technicalDefinitions[field.name]) === null || _nextValues$technical4 === void 0 ? void 0 : _nextValues$technical4.type);\n }\n }, function (_ref6) {\n var getFieldValue = _ref6.getFieldValue;\n var type = getFieldValue([\"technicalDefinitions\", field.name, \"type\"]);\n return [\"local\", \"session\", \"indexedDb\", \"flash\"].indexOf(type) > -1 ? null : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, {\n fieldKey: [field.fieldKey, \"sessionDuration\"],\n name: [field.name, \"sessionDuration\"],\n noStyle: true,\n valuePropName: \"checked\"\n }), /*#__PURE__*/React.createElement(_Checkbox, {\n style: {\n float: \"left\",\n marginTop: 5\n }\n }, /*#__PURE__*/React.createElement(_Tooltip, {\n title: __(\"This cookie is active as long as the session is active\")\n }, /*#__PURE__*/React.createElement(\"span\", null, __(\"Session\"))))), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n var _prevValues$technical5, _nextValues$technical5;\n\n return ((_prevValues$technical5 = prevValues.technicalDefinitions[field.name]) === null || _prevValues$technical5 === void 0 ? void 0 : _prevValues$technical5.sessionDuration) !== ((_nextValues$technical5 = nextValues.technicalDefinitions[field.name]) === null || _nextValues$technical5 === void 0 ? void 0 : _nextValues$technical5.sessionDuration);\n }\n }, function (_ref7) {\n var getFieldValue = _ref7.getFieldValue;\n var sessionDuration = getFieldValue([\"technicalDefinitions\", field.name, \"sessionDuration\"]);\n return /*#__PURE__*/React.createElement(_Form.Item, _extends({}, field, WP_LIST_TABLE_FORM_ITEM_PROPS, {\n fieldKey: [field.fieldKey, \"duration\"],\n name: [field.name, \"duration\"],\n rules: [{\n required: !sessionDuration,\n message: __(\"Please provide a valid duration!\")\n }]\n }), /*#__PURE__*/React.createElement(_Input, {\n min: \"0\",\n addonAfter: /*#__PURE__*/React.createElement(_Form.Item, {\n name: [field.name, \"durationUnit\"],\n noStyle: true,\n rules: [{\n required: true,\n message: __(\"Please provide an unit!\")\n }]\n }, /*#__PURE__*/React.createElement(_Select, null, /*#__PURE__*/React.createElement(_Select.Option, {\n value: \"s\"\n }, __(\"second(s)\")), /*#__PURE__*/React.createElement(_Select.Option, {\n value: \"m\"\n }, __(\"minute(s)\"), \" \"), /*#__PURE__*/React.createElement(_Select.Option, {\n value: \"h\"\n }, __(\"hour(s)\"), \" \"), /*#__PURE__*/React.createElement(_Select.Option, {\n value: \"d\"\n }, __(\"day(s)\"), \" \"), /*#__PURE__*/React.createElement(_Select.Option, {\n value: \"mo\"\n }, __(\"month(s)\"), \" \"), /*#__PURE__*/React.createElement(_Select.Option, {\n value: \"y\"\n }, __(\"year(s)\"), \" \"))),\n type: \"number\",\n style: {\n maxWidth: 200,\n display: sessionDuration ? \"none\" : undefined\n }\n }));\n }));\n })), /*#__PURE__*/React.createElement(\"td\", null, fields.length > 1 ? /*#__PURE__*/React.createElement(\"a\", {\n className: \"button button-small\",\n onClick: function onClick() {\n remove(field.name);\n }\n }, /*#__PURE__*/React.createElement(DeleteOutlined, null)) : null));\n })), /*#__PURE__*/React.createElement(\"tfoot\", null, /*#__PURE__*/React.createElement(\"tr\", null, /*#__PURE__*/React.createElement(\"td\", {\n colSpan: 5,\n align: \"right\"\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"button button-primary alignright\",\n onClick: function onClick() {\n add(technicalDefinitionDefaults);\n }\n }, /*#__PURE__*/React.createElement(PlusOutlined, null), \" \", __(\"Add another cookie definition\")))))));\n });\n });\n});\nexport { CookieEditFormTechnicalFields };","/**\n * Is a passed host string valid?\n *\n * @param url\n * @see https://stackoverflow.com/a/106223/5506547\n */\nfunction isHost(url) {\n return /^\\.?(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/gm.test(url);\n}\n\nexport { isHost };","import _Input from \"antd/es/input\";\nimport _Tooltip from \"antd/es/tooltip\";\nimport _Form from \"antd/es/form\";\nimport _Switch from \"antd/es/switch\";\nimport { observer } from \"mobx-react\";\nimport { CookieEditFormLayout } from \"..\";\nimport { __ } from \"../../../../utils\";\nimport { useStores } from \"../../../../store\";\nimport { useRouteCookie } from \"../../../../hooks\";\nimport { LearnMoreTag } from \"../../..\";\n/**\n * Common manager form items. It provides fields for \"This is manger XY\" and in/out events.\n * If you add another manager, please also consider to add the meta fields to REST and initial values\n * of the cookie form itself.\n */\n\nvar CookieEditFormManagerFields = observer(function (_ref) {\n var manager = _ref.manager,\n onlyWhenManagerIs = _ref.onlyWhenManagerIs,\n hasManagerAttributeName = _ref.hasManagerAttributeName,\n thisIsManagerAttributeName = _ref.thisIsManagerAttributeName,\n inEventNameAttributeName = _ref.inEventNameAttributeName,\n outEventNameAttributeName = _ref.outEventNameAttributeName;\n\n var _useStores = useStores(),\n cookieStore = _useStores.cookieStore,\n _useStores$optionStor = _useStores.optionStore,\n setCookiesViaManager = _useStores$optionStor.setCookiesViaManager,\n hasManager = _useStores$optionStor[hasManagerAttributeName],\n isPro = _useStores$optionStor.others.isPro;\n\n var essentialGroup = cookieStore.essentialGroup;\n\n var _useRouteCookie = useRouteCookie(),\n cookie = _useRouteCookie.cookie;\n\n return setCookiesViaManager === onlyWhenManagerIs && isPro && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: CookieEditFormLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(_Tooltip, {\n title: hasManager && cookie.key !== hasManager ? __(\"You have already defined a %s service.\", manager) : \"\"\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(_Form.Item, {\n name: thisIsManagerAttributeName,\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, {\n disabled: hasManager && cookie.key !== hasManager\n })), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", __(\"Opt-in script below loads %s\", manager))))), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, curValues) {\n return prevValues[thisIsManagerAttributeName] !== curValues[thisIsManagerAttributeName] || prevValues.group !== curValues.group;\n }\n }, function (_ref2) {\n var getFieldValue = _ref2.getFieldValue;\n var isActive = getFieldValue(thisIsManagerAttributeName);\n var group = getFieldValue(\"group\");\n return isActive && group !== essentialGroup.key && /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: CookieEditFormLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You have defined %1$s in a non-essential service group. In our legal opinion, this is the only way to use %1$s legally. However, please note that if a user doesn't consent to load %1$s, opt-in and opt-out events will not be sent to %1$s. Real Cookie Banner offers you the possibility to specify a fallback HTML/JavaScript for this case.\", manager))));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, curValues) {\n return prevValues[thisIsManagerAttributeName] !== curValues[thisIsManagerAttributeName] || prevValues[inEventNameAttributeName] !== curValues[inEventNameAttributeName] || prevValues[outEventNameAttributeName] !== curValues[outEventNameAttributeName];\n }\n }, function (_ref3) {\n var getFieldValue = _ref3.getFieldValue;\n var active = getFieldValue(thisIsManagerAttributeName);\n var inEventName = getFieldValue(inEventNameAttributeName);\n var outEventName = getFieldValue(outEventNameAttributeName);\n return !active && /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Event names for %s\", manager)\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: inEventNameAttributeName,\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Input, {\n addonBefore: __(\"Opt-in\"),\n style: {\n maxWidth: 400,\n marginRight: 10,\n marginBottom: 5\n }\n })), /*#__PURE__*/React.createElement(_Form.Item, {\n name: outEventNameAttributeName,\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Input, {\n addonBefore: __(\"Opt-out\"),\n style: {\n maxWidth: 400,\n marginRight: 10,\n marginBottom: 5\n }\n })), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/real-cookie-banner-with-google-tag-manager-or-matomo-tag-manager/\")\n })), (inEventName.length > 0 || outEventName.length > 0) && !hasManager && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You have not yet defined a %s service. To use event names, you must create a %s service.\", manager, manager))));\n }));\n});\nexport { CookieEditFormManagerFields };","/**\n * This fields of cookies can hold dynamic variables in `{{my_variable}}` format.\n */\nvar DYNAMICS_SEARCH_IN = [\"codeOptIn\", \"codeOptOut\", \"codeOnPageLoad\"];\nvar DYNAMICS_VARIABLE_REGEXP = /{{([A-Za-z0-9_]+)}}/gm;\nexport * from \"./apply\";\nexport { DYNAMICS_SEARCH_IN, DYNAMICS_VARIABLE_REGEXP };","import _Form from \"antd/es/form\";\nimport _Input from \"antd/es/input\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { observer } from \"mobx-react\";\nimport { __ } from \"../../../../utils\";\nimport { DYNAMICS_SEARCH_IN, DYNAMICS_VARIABLE_REGEXP } from \"../../../../others\";\n\n/**\n * Provide dynamic variables in `codeOptIn`, `codeOptOut` and `codeOnPageLoad`.\n */\nvar CookieEditFormCodeDynamics = observer(function (_ref) {\n var dynamicFields = _ref.dynamicFields;\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return DYNAMICS_SEARCH_IN.map(function (k) {\n return prevValues[k] !== nextValues[k];\n }).filter(Boolean).length > 0;\n }\n }, function (_ref2) {\n var getFieldValue = _ref2.getFieldValue;\n var searchInResolved = DYNAMICS_SEARCH_IN.map(function (k) {\n return getFieldValue(k);\n }).join(\"\");\n var matches = Array.from(searchInResolved.matchAll(DYNAMICS_VARIABLE_REGEXP)).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n m = _ref4[1];\n\n return m;\n });\n var added = [];\n return matches ? matches.map(function (name) {\n var formName = [\"codeDynamics\", name];\n\n var _ref5 = (dynamicFields === null || dynamicFields === void 0 ? void 0 : dynamicFields[name]) || {},\n label = _ref5.label,\n _ref5$invalidMessage = _ref5.invalidMessage,\n invalidMessage = _ref5$invalidMessage === void 0 ? __(\"Please fill in a value!\") : _ref5$invalidMessage,\n example = _ref5.example,\n expression = _ref5.expression,\n hint = _ref5.hint;\n\n if (added.indexOf(name) > -1) {\n return null;\n }\n\n added.push(name);\n return /*#__PURE__*/React.createElement(_Form.Item, {\n key: name,\n label: label || /*#__PURE__*/React.createElement(\"code\", null, name),\n required: true\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n name: formName,\n rules: [{\n required: true,\n pattern: expression ? new RegExp(expression) : undefined,\n message: invalidMessage\n }]\n }, /*#__PURE__*/React.createElement(_Input, {\n placeholder: example ? \"\".concat(__(\"e. g.\"), \" \").concat(example) : undefined\n })), !!hint && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\",\n style: {\n margin: \"10px 0 5px\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: hint\n }\n })));\n }) : null;\n });\n});\nexport { CookieEditFormCodeDynamics };","import _Form from \"antd/es/form\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { useMemo } from \"react\";\nimport { _i, __ } from \"../../../../utils\";\nimport { observer } from \"mobx-react\";\nimport { useStores } from \"../../../../store\";\nvar NoticeFormItemContainsSkipIfActiveAttribute = observer(function (_ref) {\n var name = _ref.name;\n\n var _useStores = useStores(),\n activePlugins = _useStores.optionStore.others.activePlugins;\n\n var activePluginKeys = useMemo(function () {\n return Object.keys(activePlugins);\n }, [activePlugins]);\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues[name] !== nextValues[name];\n }\n }, function (_ref2) {\n var getFieldValue = _ref2.getFieldValue;\n var value = getFieldValue(name); // Find `skip-if-active` and their active plugins\n\n var matches = _toConsumableArray(value.matchAll(/\\s+(skip-if-active=\")([^\"]+)(\")/gm)).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 3),\n plugins = _ref4[2];\n\n return plugins.split(\",\").filter(function (plugin) {\n return activePluginKeys.indexOf(plugin) > -1;\n });\n }).flat();\n\n var uniq = matches.filter(function (plugin, i) {\n return matches.indexOf(plugin) === i;\n });\n\n if (uniq.length === 0) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"The code above contains HTML tags that are skipped when one of the following plugins is active: {{strong/}}. {{i}}What does this mean for me?{{/i}} In most cases, another plugin will take over the execution of the technical code, and you have to create a corresponding content blocker.\"), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null, uniq.map(function (plugin) {\n return activePlugins[plugin];\n }).join(\", \")),\n i: /*#__PURE__*/React.createElement(\"i\", null)\n })));\n });\n});\nexport { NoticeFormItemContainsSkipIfActiveAttribute };","import _Switch from \"antd/es/switch\";\nimport _Form from \"antd/es/form\";\nimport { useCallback } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { FormHeadline, CodeMirror } from \"../../..\";\nimport { CookieEditFormLayout } from \"..\";\nimport { __, _i } from \"../../../../utils\";\nimport { MANAGER_GTM_LABEL, MANAGER_MTM_LABEL } from \"../..\";\nimport { useStores } from \"../../../../store\";\nimport { CookieEditFormManagerFields, CookieEditFormCodeDynamics, NoticeFormItemContainsSkipIfActiveAttribute } from \".\";\nvar CookieEditFormHandlingFields = observer(function (_ref) {\n var notices = _ref.notices,\n dynamicFields = _ref.dynamicFields;\n\n var _useStores = useStores(),\n cookieStore = _useStores.cookieStore,\n _useStores$optionStor = _useStores.optionStore,\n setCookiesViaManager = _useStores$optionStor.setCookiesViaManager,\n isPro = _useStores$optionStor.others.isPro;\n\n var essentialGroup = cookieStore.essentialGroup; // CodeMirror does not support \"display:none;\", we need to hide it in a hacky way\n\n var createHiddenFormItemsWithCodeMirror = useCallback(function (visible) {\n return {\n opacity: visible ? undefined : 0,\n height: visible ? undefined : 0,\n margin: visible ? undefined : 0\n };\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormHeadline, {\n offset: CookieEditFormLayout.labelCol.span,\n description: setCookiesViaManager === \"none\" ? __(\"Define HTML and JavaScript code that is executed when a visitor decides to accept or reject this service or when a page is loaded. It is important to define the executed code correctly, as this ensures that scripts are executed and cookies are set only after the user's consent.\") : __(\"Define the %1$s event that should be thrown in the data layer when a visitor decides to accept or reject this service. The event can be used as a trigger in %1$s. For users who do not allow to use %1$s a fallback can be defined. You can define HTML and JavaScript code that is executed when a visitor decides to accept or reject this service, or when a page is loaded. It is important to define the event names and executed code correctly, as this will ensure that scripts are executed and cookies are only set with the user's consent.\", setCookiesViaManager === \"googleTagManager\" ? MANAGER_GTM_LABEL : MANAGER_MTM_LABEL)\n }, __(\"Technical handling\")), /*#__PURE__*/React.createElement(CookieEditFormManagerFields, {\n manager: MANAGER_GTM_LABEL,\n onlyWhenManagerIs: \"googleTagManager\",\n hasManagerAttributeName: \"hasGTM\",\n thisIsManagerAttributeName: \"thisIsGoogleTagManager\",\n inEventNameAttributeName: \"googleTagManagerInEventName\",\n outEventNameAttributeName: \"googleTagManagerOutEventName\"\n }), /*#__PURE__*/React.createElement(CookieEditFormManagerFields, {\n manager: MANAGER_MTM_LABEL,\n onlyWhenManagerIs: \"matomoTagManager\",\n hasManagerAttributeName: \"hasMTM\",\n thisIsManagerAttributeName: \"thisIsMatomoTagManager\",\n inEventNameAttributeName: \"matomoTagManagerInEventName\",\n outEventNameAttributeName: \"matomoTagManagerOutEventName\"\n }), /*#__PURE__*/React.createElement(CookieEditFormCodeDynamics, {\n dynamicFields: dynamicFields\n }), (notices === null || notices === void 0 ? void 0 : notices.length) > 0 && /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: CookieEditFormLayout.labelCol.span\n }\n }, notices === null || notices === void 0 ? void 0 : notices.map(function (_ref2) {\n var message = _ref2.message,\n severity = _ref2.severity;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-\".concat(severity, \" below-h2 notice-alt\"),\n key: message\n }, /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: message\n }\n }));\n })), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Code executed on opt-in\")\n }, setCookiesViaManager === \"googleTagManager\" && isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.thisIsGoogleTagManager !== nextValues.thisIsGoogleTagManager;\n }\n }, function (_ref3) {\n var getFieldValue = _ref3.getFieldValue;\n return !getFieldValue(\"thisIsGoogleTagManager\") && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"4px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptInNoGoogleTagManager\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", _i(__(\"Only run this script if the user has {{u}}not{{/u}} allowed to use %s\", MANAGER_GTM_LABEL), {\n u: /*#__PURE__*/React.createElement(\"u\", null)\n })));\n }), setCookiesViaManager === \"matomoTagManager\" && isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.thisIsMatomoTagManager !== nextValues.thisIsMatomoTagManager;\n }\n }, function (_ref4) {\n var getFieldValue = _ref4.getFieldValue;\n return !getFieldValue(\"thisIsMatomoTagManager\") && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"4px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptInNoMatomoTagManager\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", _i(__(\"Only run this script if the user has {{u}}not{{/u}} allowed to use %s\", MANAGER_MTM_LABEL), {\n u: /*#__PURE__*/React.createElement(\"u\", null)\n })));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptIn\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(CodeMirror, {\n settings: window.cm_settings\n })), /*#__PURE__*/React.createElement(NoticeFormItemContainsSkipIfActiveAttribute, {\n name: \"codeOptIn\"\n })), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.group !== nextValues.group;\n }\n }, function (_ref5) {\n var getFieldValue = _ref5.getFieldValue;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Code executed on opt-out\"),\n style: createHiddenFormItemsWithCodeMirror(getFieldValue(\"group\") !== essentialGroup.key)\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.noTechnicalDefinitions !== nextValues.noTechnicalDefinitions;\n }\n }, function (_ref6) {\n var getFieldValue = _ref6.getFieldValue;\n return getFieldValue(\"noTechnicalDefinitions\") ? null : /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"4px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptOutDelete\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", __(\"Delete all first-party cookies after opt-out. First-party cookies are only cookies that are set by or for this domain.\")));\n }), setCookiesViaManager === \"googleTagManager\" && isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.thisIsGoogleTagManager !== nextValues.thisIsGoogleTagManager;\n }\n }, function (_ref7) {\n var getFieldValue = _ref7.getFieldValue;\n return !getFieldValue(\"thisIsGoogleTagManager\") && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"4px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptOutNoGoogleTagManager\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", _i(__(\"Only run this script if the user has {{u}}not{{/u}} allowed to use %s\", MANAGER_GTM_LABEL), {\n u: /*#__PURE__*/React.createElement(\"u\", null)\n })));\n }), setCookiesViaManager === \"matomoTagManager\" && isPro && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.thisIsMatomoTagManager !== nextValues.thisIsMatomoTagManager;\n }\n }, function (_ref8) {\n var getFieldValue = _ref8.getFieldValue;\n return !getFieldValue(\"thisIsMatomoTagManager\") && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"4px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptOutNoMatomoTagManager\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, null)), /*#__PURE__*/React.createElement(\"span\", null, \"\\xA0\\xA0\", _i(__(\"Only run this script if the user has {{u}}not{{/u}} allowed to use %s\", MANAGER_MTM_LABEL), {\n u: /*#__PURE__*/React.createElement(\"u\", null)\n })));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOptOut\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(CodeMirror, {\n settings: window.cm_settings\n })), /*#__PURE__*/React.createElement(NoticeFormItemContainsSkipIfActiveAttribute, {\n name: \"codeOptOut\"\n })));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Code executed on page load\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"codeOnPageLoad\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(CodeMirror, {\n settings: window.cm_settings\n })), /*#__PURE__*/React.createElement(NoticeFormItemContainsSkipIfActiveAttribute, {\n name: \"codeOnPageLoad\"\n })));\n});\nexport { CookieEditFormHandlingFields };","import _Spin from \"antd/es/spin\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _Select from \"antd/es/select\";\nimport _Checkbox from \"antd/es/checkbox\";\nimport _Skeleton from \"antd/es/skeleton\";\nimport _message from \"antd/es/message\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _Form from \"antd/es/form\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { CookieModel } from \"../../../models\";\nimport { __, scrollTo, slugify } from \"../../../utils\";\nimport { useStores } from \"../../../store\";\nimport { useHistory, Prompt } from \"react-router-dom\";\nimport { useRouteCookie } from \"../../../hooks\";\nimport { CookieEditFormGeneralFields, CookieEditFormTechnicalFields, CookieEditFormHandlingFields } from \".\";\nimport { LearnMoreTag } from \"../..\";\nvar CookieEditFormLayout = {\n labelCol: {\n span: 6\n },\n wrapperCol: {\n span: 16\n }\n};\nvar technicalDefinitionDefaults = {\n type: \"http\",\n name: \"\",\n host: \"\",\n duration: undefined,\n durationUnit: \"y\",\n sessionDuration: false\n};\nvar CookieEditForm = observer(function (_ref) {\n var _cookieStore$groups$s, _cookieStore$groups$s2, _presetModel$attribut, _presetModel$attribut2, _presetModel$attribut3, _presetModel$attribut4, _presetModel$attribut5;\n\n var preset = _ref.preset,\n attributes = _ref.attributes,\n _ref$navigateAfterCre = _ref.navigateAfterCreation,\n navigateAfterCreation = _ref$navigateAfterCre === void 0 ? true : _ref$navigateAfterCre,\n _ref$scrollToTop = _ref.scrollToTop,\n scrollToTop = _ref$scrollToTop === void 0 ? true : _ref$scrollToTop,\n onCreated = _ref.onCreated;\n\n var _useRouteCookie = useRouteCookie(),\n _useRouteCookie$route = _useRouteCookie.routeGroup,\n group = _useRouteCookie$route.group,\n link = _useRouteCookie$route.link,\n cookie = _useRouteCookie.cookie,\n id = _useRouteCookie.id,\n queried = _useRouteCookie.queried,\n fetched = _useRouteCookie.fetched;\n\n var _Form$useForm = _Form.useForm(),\n _Form$useForm2 = _slicedToArray(_Form$useForm, 1),\n form = _Form$useForm2[0];\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isBusy = _useState2[0],\n setIsBusy = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n hasChanges = _useState4[0],\n setHasChanges = _useState4[1];\n\n var history = useHistory();\n\n var _useStores = useStores(),\n cookieStore = _useStores.cookieStore;\n\n var essentialGroup = cookieStore.essentialGroup;\n var presetModel = (cookie === null || cookie === void 0 ? void 0 : cookie.presetModel) || cookieStore.presetsCookie.get(preset === null || preset === void 0 ? void 0 : preset.identifier); // Determine the group to use for a given preset, otherwise use current opened group tab\n\n var useGroup = attributes ? attributes.group ? ((_cookieStore$groups$s = cookieStore.groups.sortedGroups.filter(function (_ref2) {\n var name = _ref2.data.name;\n return name === attributes.group;\n })) === null || _cookieStore$groups$s === void 0 ? void 0 : (_cookieStore$groups$s2 = _cookieStore$groups$s[0]) === null || _cookieStore$groups$s2 === void 0 ? void 0 : _cookieStore$groups$s2.key) || \"preset-group-not-found\" : undefined : group.key;\n var allowContentBlockerCreation = Object.keys((preset === null || preset === void 0 ? void 0 : preset.contentBlockerPresets) || []).length > 0;\n var createContentBlockerNotice = (attributes === null || attributes === void 0 ? void 0 : attributes.createContentBlockerNotice) || (presetModel === null || presetModel === void 0 ? void 0 : (_presetModel$attribut = presetModel.attributes) === null || _presetModel$attribut === void 0 ? void 0 : _presetModel$attribut.createContentBlockerNotice);\n var showOptInNoticeScanned = !!(presetModel !== null && presetModel !== void 0 && presetModel.data.scanned && (_presetModel$attribut2 = presetModel.attributes) !== null && _presetModel$attribut2 !== void 0 && _presetModel$attribut2.codeOptIn && [\"wordpress-comments\"].indexOf(presetModel.data.identifier) === -1);\n var initialValues = fetched ? {\n name: cookie.data.title.raw,\n status: cookie.data.status,\n group: group.key || undefined,\n // Can be `0`, so fallback to no selection (e.g. Cookie form modal in Content Blocker)\n purpose: cookie.data.content.raw,\n provider: cookie.data.meta.provider,\n providerPrivacyPolicy: cookie.data.meta.providerPrivacyPolicy,\n consentForwardingUniqueName: cookie.data.meta.consentForwardingUniqueName || cookie.data.slug,\n noTechnicalDefinitions: cookie.data.meta.noTechnicalDefinitions,\n legalBasis: cookie.data.meta.legalBasis,\n ePrivacyUSA: cookie.data.meta.ePrivacyUSA,\n technicalDefinitions: JSON.parse(JSON.stringify(cookie.technicalDefinitions || \"[]\")),\n codeDynamics: JSON.parse(JSON.stringify(cookie.codeDynamics || \"{}\")),\n thisIsGoogleTagManager: cookie.data.meta.thisIsGoogleTagManager,\n googleTagManagerInEventName: cookie.data.meta.googleTagManagerInEventName,\n googleTagManagerOutEventName: cookie.data.meta.googleTagManagerOutEventName,\n thisIsMatomoTagManager: cookie.data.meta.thisIsMatomoTagManager,\n matomoTagManagerInEventName: cookie.data.meta.matomoTagManagerInEventName,\n matomoTagManagerOutEventName: cookie.data.meta.matomoTagManagerOutEventName,\n codeOptIn: cookie.data.meta.codeOptIn,\n codeOptInNoGoogleTagManager: cookie.data.meta.codeOptInNoGoogleTagManager,\n codeOptInNoMatomoTagManager: cookie.data.meta.codeOptInNoMatomoTagManager,\n codeOptOut: cookie.data.meta.codeOptOut,\n codeOptOutNoGoogleTagManager: cookie.data.meta.codeOptOutNoGoogleTagManager,\n codeOptOutNoMatomoTagManager: cookie.data.meta.codeOptOutNoMatomoTagManager,\n codeOnPageLoad: cookie.data.meta.codeOnPageLoad,\n codeOptOutDelete: cookie.data.meta.codeOptOutDelete\n } : {\n name: (attributes === null || attributes === void 0 ? void 0 : attributes.name) || \"\",\n status: \"publish\",\n group: typeof useGroup === \"number\" ? // Can be `0`, so fallback to no selection (e.g. Cookie form modal in Content Blocker)\n useGroup || undefined : undefined,\n purpose: (attributes === null || attributes === void 0 ? void 0 : attributes.purpose) || \"\",\n provider: (attributes === null || attributes === void 0 ? void 0 : attributes.provider) || \"\",\n providerPrivacyPolicy: (attributes === null || attributes === void 0 ? void 0 : attributes.providerPrivacyPolicy) || \"\",\n consentForwardingUniqueName: (attributes === null || attributes === void 0 ? void 0 : attributes.consentForwardingUniqueName) || (preset === null || preset === void 0 ? void 0 : preset.identifier) || \"\",\n noTechnicalDefinitions: (attributes === null || attributes === void 0 ? void 0 : attributes.noTechnicalDefinitions) || false,\n legalBasis: (attributes === null || attributes === void 0 ? void 0 : attributes.legalBasis) || \"consent\",\n ePrivacyUSA: (attributes === null || attributes === void 0 ? void 0 : attributes.ePrivacyUSA) || false,\n technicalDefinitions: attributes !== null && attributes !== void 0 && attributes.technicalDefinitions ? JSON.parse(JSON.stringify(attributes.technicalDefinitions)) : [technicalDefinitionDefaults],\n codeDynamics: (attributes === null || attributes === void 0 ? void 0 : attributes.codeDynamics) || {},\n thisIsGoogleTagManager: (attributes === null || attributes === void 0 ? void 0 : attributes.thisIsGoogleTagManager) || false,\n googleTagManagerInEventName: (attributes === null || attributes === void 0 ? void 0 : attributes.googleTagManagerInEventName) || \"\",\n googleTagManagerOutEventName: (attributes === null || attributes === void 0 ? void 0 : attributes.googleTagManagerOutEventName) || \"\",\n thisIsMatomoTagManager: (attributes === null || attributes === void 0 ? void 0 : attributes.thisIsMatomoTagManager) || false,\n matomoTagManagerInEventName: (attributes === null || attributes === void 0 ? void 0 : attributes.matomoTagManagerInEventName) || \"\",\n matomoTagManagerOutEventName: (attributes === null || attributes === void 0 ? void 0 : attributes.matomoTagManagerOutEventName) || \"\",\n codeOptIn: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptIn) || \"\",\n codeOptInNoGoogleTagManager: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptInNoGoogleTagManager) || false,\n codeOptInNoMatomoTagManager: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptInNoMatomoTagManager) || false,\n codeOptOut: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptOut) || \"\",\n codeOnPageLoad: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOnPageLoad) || \"\",\n codeOptOutNoGoogleTagManager: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptOutNoGoogleTagManager) || false,\n codeOptOutNoMatomoTagManager: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptOutNoMatomoTagManager) || false,\n codeOptOutDelete: (attributes === null || attributes === void 0 ? void 0 : attributes.codeOptOutDelete) || false,\n createContentBlocker: typeof (attributes === null || attributes === void 0 ? void 0 : attributes.createContentBlocker) === \"boolean\" ? attributes.createContentBlocker : allowContentBlockerCreation && !(attributes !== null && attributes !== void 0 && attributes.deactivateAutomaticContentBlockerCreation),\n createContentBlockerId: attributes === null || attributes === void 0 ? void 0 : attributes.createContentBlockerId,\n presetCheck: !preset\n }; // Initially load the cookie if not yet done\n\n useEffect(function () {\n if (queried && !fetched) {\n group.cookies.getSingle({\n params: {\n id: id,\n context: \"edit\"\n }\n });\n }\n }, [queried, fetched]); // Lazy load attributes of preset model\n\n useEffect(function () {\n if (presetModel && !presetModel.attributes) {\n presetModel.fetchAttributes();\n }\n }, [presetModel]); // Scroll to top when opening the form\n\n useEffect(function () {\n if (scrollToTop) {\n scrollTo(0);\n }\n }, []);\n var handleSave = useCallback( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(values) {\n var name, status, purpose, noTechnicalDefinitions, technicalDefinitions, _group, codeDynamics, createContentBlocker, createContentBlockerId, consentForwardingUniqueName, meta, newMeta, _useGroup, draft;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n name = values.name, status = values.status, purpose = values.purpose, noTechnicalDefinitions = values.noTechnicalDefinitions, technicalDefinitions = values.technicalDefinitions, _group = values.group, codeDynamics = values.codeDynamics, createContentBlocker = values.createContentBlocker, createContentBlockerId = values.createContentBlockerId, consentForwardingUniqueName = values.consentForwardingUniqueName, meta = _objectWithoutProperties(values, [\"name\", \"status\", \"purpose\", \"noTechnicalDefinitions\", \"technicalDefinitions\", \"group\", \"codeDynamics\", \"createContentBlocker\", \"createContentBlockerId\", \"consentForwardingUniqueName\"]);\n newMeta = _objectSpread(_objectSpread({}, meta), {}, {\n noTechnicalDefinitions: noTechnicalDefinitions,\n codeDynamics: JSON.stringify(codeDynamics),\n // Still hold the data of `technicalDefinitions` in database so it is not cleared when activating this option\n technicalDefinitions: JSON.stringify(noTechnicalDefinitions ? initialValues.technicalDefinitions : technicalDefinitions),\n consentForwardingUniqueName: consentForwardingUniqueName || slugify(name)\n });\n delete newMeta.presetCheck;\n\n if (!queried) {\n _context.next = 14;\n break;\n }\n\n cookie.setName(name);\n cookie.setStatus(status);\n cookie.setPurpose(purpose);\n cookie.setMeta(newMeta);\n cookie.setGroup(_group);\n _context.next = 12;\n return cookie.patch();\n\n case 12:\n _context.next = 19;\n break;\n\n case 14:\n _useGroup = cookieStore.groups.entries.get(_group);\n draft = new CookieModel(_useGroup.cookies, {\n title: {\n rendered: name\n },\n content: {\n rendered: purpose,\n protected: false\n },\n status: status,\n meta: _objectSpread(_objectSpread({}, newMeta), {}, {\n presetId: preset === null || preset === void 0 ? void 0 : preset.identifier,\n presetVersion: preset === null || preset === void 0 ? void 0 : preset.version\n })\n });\n _context.next = 18;\n return draft.persist();\n\n case 18:\n onCreated === null || onCreated === void 0 ? void 0 : onCreated(draft);\n\n case 19:\n setHasChanges(false);\n\n _message.success(__(\"You have successfully saved the service.\") + (createContentBlocker ? \" \".concat(__(\"Continue with the corresponding Content Blocker!\")) : \"\")); // Navigate back after creation\n\n\n navigateAfterCreation && setTimeout(function () {\n return createContentBlocker ? // Navigate to content blocker form and forward `navigateAfterCreation` if given\n history.push(\"/blocker/new?force=\".concat(createContentBlockerId || preset.identifier, \"&cookieCreationPrompt=1\").concat(typeof navigateAfterCreation === \"string\" ? \"&navigateAfterCreation=\".concat(encodeURIComponent(navigateAfterCreation)) : \"\")) : // Navigate back to overview or custom link\n typeof navigateAfterCreation === \"string\" ? window.location.href = navigateAfterCreation : history.push(\"\".concat(link.slice(1), \"/\").concat(_group));\n }, 0);\n _context.next = 28;\n break;\n\n case 24:\n _context.prev = 24;\n _context.t0 = _context[\"catch\"](0);\n\n _message.error(_context.t0.responseJSON.message);\n\n throw _context.t0;\n\n case 28:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 24]]);\n }));\n\n return function (_x) {\n return _ref3.apply(this, arguments);\n };\n }(), [queried, cookie, cookieStore]);\n var onFinish = useCallback( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(values) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n setIsBusy(true);\n _context2.prev = 1;\n _context2.next = 4;\n return handleSave(values);\n\n case 4:\n _context2.next = 8;\n break;\n\n case 6:\n _context2.prev = 6;\n _context2.t0 = _context2[\"catch\"](1);\n\n case 8:\n _context2.prev = 8;\n setIsBusy(false);\n return _context2.finish(8);\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[1, 6, 8, 11]]);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }(), [form, handleSave]);\n var onFinishFailed = useCallback(function (errorInfo) {\n _message.error(__(\"The service could not be saved due to missing/invalid form values.\"));\n\n if (errorInfo.errorFields.length) {\n form.scrollToField(errorInfo.errorFields[0].name, {\n behavior: \"smooth\",\n block: \"center\"\n });\n }\n }, []);\n var handleBeforeUnload = useCallback(function () {\n if (!hasChanges) {\n return true;\n }\n\n return __('You have unsaved changes. If you click on \"confirm\", your changes will be discarded.');\n }, [form, initialValues]);\n\n if (queried && !fetched) {\n return /*#__PURE__*/React.createElement(_Skeleton, {\n active: true,\n paragraph: {\n rows: 8\n }\n });\n }\n\n return /*#__PURE__*/React.createElement(_Spin, {\n spinning: isBusy || (presetModel === null || presetModel === void 0 ? void 0 : presetModel.busy) || false\n }, /*#__PURE__*/React.createElement(Prompt, {\n message: handleBeforeUnload\n }), /*#__PURE__*/React.createElement(_Form, _extends({\n name: \"cookie-\".concat(group.key, \"-\").concat(id),\n form: form\n }, CookieEditFormLayout, {\n initialValues: initialValues,\n onFinish: onFinish,\n onFinishFailed: onFinishFailed,\n onValuesChange: function onValuesChange(_ref5) {\n var technicalDefinitions = _ref5.technicalDefinitions;\n setHasChanges(true); // Listen to `sessionDuration` changes and validate the `required` field\n // Listen to `type` changes and validate the technical host field\n\n var td = (technicalDefinitions || []).filter(Boolean);\n\n if (td.length === 1) {\n var tdChangedKeys = Object.keys(td[0]);\n\n if (tdChangedKeys.length === 1 && [\"sessionDuration\", \"type\"].indexOf(tdChangedKeys[0]) > -1) {\n setTimeout(function () {\n return form.validateFields();\n }, 100); // wait a bit so there are not false-positives\n }\n }\n }\n }), /*#__PURE__*/React.createElement(CookieEditFormGeneralFields, {\n groupNotice: (attributes === null || attributes === void 0 ? void 0 : attributes.groupNotice) || (presetModel === null || presetModel === void 0 ? void 0 : (_presetModel$attribut3 = presetModel.attributes) === null || _presetModel$attribut3 === void 0 ? void 0 : _presetModel$attribut3.groupNotice),\n providerPrivacyPolicyNotice: !fetched && presetModel !== null && presetModel !== void 0 && presetModel.attributes && !initialValues.providerPrivacyPolicy ? __('You have not yet set a privacy policy in the settings, so this field could not be filled in automatically. Please enter the URL of your privacy policy here and <a href=\"%s\" target=\"_blank\">set the corresponding page in your settings.</a>', \"#/settings\") : null,\n showNoticePresetGroupNotFound: useGroup === \"preset-group-not-found\" ? attributes.group : false\n }), /*#__PURE__*/React.createElement(CookieEditFormTechnicalFields, null), /*#__PURE__*/React.createElement(CookieEditFormHandlingFields, {\n dynamicFields: (attributes === null || attributes === void 0 ? void 0 : attributes.dynamicFields) || (presetModel === null || presetModel === void 0 ? void 0 : (_presetModel$attribut4 = presetModel.attributes) === null || _presetModel$attribut4 === void 0 ? void 0 : _presetModel$attribut4.dynamicFields),\n notices: [{\n message: (attributes === null || attributes === void 0 ? void 0 : attributes.technicalHandlingNotice) || (presetModel === null || presetModel === void 0 ? void 0 : (_presetModel$attribut5 = presetModel.attributes) === null || _presetModel$attribut5 === void 0 ? void 0 : _presetModel$attribut5.technicalHandlingNotice),\n severity: \"info\"\n }, {\n // Example: Hotjar (hidden content blocker)\n message: showOptInNoticeScanned && !allowContentBlockerCreation && __(\"If you have already used %s before creating this service, please deactivate the script/plugin with which the service was loaded so far. The opt-in script will now take care of the correct integration.\", presetModel.data.attributes_name),\n severity: \"warning\"\n }, {\n // Example: Google Analytics (scanned, found in custom script (e.g. `functions.php`))\n message: showOptInNoticeScanned && allowContentBlockerCreation && __(\"You are currently embedding %1$s outside of Real Cookie Banner. You can have it blocked via a content blocker before consenting. Alternatively, you can use the following opt-in script to load %1$s directly into Real Cookie Banner.<br /><br />If you want to embed %1$s via Real Cookie Banner, you have to deactivate the content blocker at the end of the form and remove %1$s outside Real Cookie Banner.<br /><br />If you prefer to keep the current integration, you only have to delete the opt-in script in this form.\", presetModel.data.attributes_name),\n severity: \"warning\"\n }].filter(function (_ref6) {\n var message = _ref6.message;\n return message;\n })\n }), !!preset && /*#__PURE__*/React.createElement(React.Fragment, null, allowContentBlockerCreation && navigateAfterCreation && /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: CookieEditFormLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.group !== nextValues.group;\n }\n }, function (_ref7) {\n var getFieldValue = _ref7.getFieldValue;\n return /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n name: \"createContentBlocker\",\n valuePropName: \"checked\",\n dependencies: [\"group\"],\n rules: [{\n validator: function validator(_, value) {\n return getFieldValue(\"group\") === essentialGroup.key && value ? Promise.reject(__('Services that should be associated with a content blocker cannot be in the \"Essential\" group, because it cannot be rejected.')) : Promise.resolve();\n }\n }]\n }, /*#__PURE__*/React.createElement(_Checkbox, null, __(\"Create content blocker for this service.\")));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.createContentBlocker !== nextValues.createContentBlocker;\n }\n }, function (_ref8) {\n var getFieldValue = _ref8.getFieldValue;\n return /*#__PURE__*/React.createElement(React.Fragment, null, getFieldValue(\"createContentBlocker\") && /*#__PURE__*/React.createElement(React.Fragment, null, Object.keys(preset.contentBlockerPresets).length > 1 && /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n name: \"createContentBlockerId\",\n rules: [{\n required: true,\n message: __(\"Please select a template for the Content Blocker!\")\n }]\n }, /*#__PURE__*/React.createElement(_Select, {\n style: {\n maxWidth: 500,\n marginTop: 10,\n display: \"block\"\n },\n placeholder: __(\"Select Content Blocker template...\")\n }, Object.keys(preset.contentBlockerPresets).map(function (contentBlockerId) {\n return /*#__PURE__*/React.createElement(_Select.Option, {\n key: contentBlockerId,\n value: contentBlockerId\n }, preset.contentBlockerPresets[contentBlockerId]);\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\",\n style: {\n marginTop: 10\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"Immediately after submitting this form you will be forwarded to another form that allows you to create the Content Blocker.\")))), !!createContentBlockerNotice && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-info below-h2 notice-alt\"\n }, /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: createContentBlockerNotice\n }\n })));\n })), /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"presetCheck\",\n valuePropName: \"checked\",\n required: true,\n rules: [{\n type: \"boolean\",\n required: true,\n transform: function transform(value) {\n return value || undefined;\n },\n message: __(\"Please confirm that you have checked the contents of the service.\")\n }],\n wrapperCol: {\n offset: CookieEditFormLayout.labelCol.span\n }\n }, /*#__PURE__*/React.createElement(_Checkbox, null, __(\"I have checked the information in the service template myself and added any missing information or corrected any information that does not fit to my use case.\"), \" \", /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/is-real-cookie-banner-legally-compliant/\")\n })))), /*#__PURE__*/React.createElement(_Form.Item, {\n className: \"rcb-form-sticky-submit\"\n }, /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(\"input\", {\n type: \"submit\",\n className: \"button button-primary right\",\n value: __(\"Save\")\n })))));\n});\nexport { CookieEditFormLayout, technicalDefinitionDefaults, CookieEditForm };","import _Form from \"antd/es/form\";\n\nvar FormHeadline = function FormHeadline(_ref) {\n var children = _ref.children,\n description = _ref.description,\n offset = _ref.offset;\n return /*#__PURE__*/React.createElement(_Form.Item, {\n wrapperCol: {\n offset: offset\n },\n style: {\n borderBottom: \"1px solid #e7e7e7\"\n }\n }, /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n margin: \"0 0 \".concat(description ? 3 : 15, \"px 0\")\n }\n }, children), !!description && /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginBottom: 15\n }\n }, description));\n};\n\nexport { FormHeadline };","import { useLocation } from \"react-router-dom\";\nimport { Url } from \"@devowl-wp/utils\";\n/**\n * Allows to parse query arguments from the `react-router` string.\n */\n\nfunction useLocationQuery() {\n return new Url(\"/\".concat(useLocation().search), true).query;\n}\n\nexport { useLocationQuery };","import { useRouteMatch } from \"react-router-dom\";\nimport { useStores } from \"../store\";\nimport { useCallback } from \"react\";\nimport { CookieGroupModel } from \"../models\";\n\nvar useRouteCookieGroup = function useRouteCookieGroup() {\n var _useRouteMatch = useRouteMatch(),\n cookieGroup = _useRouteMatch.params.cookieGroup;\n\n var _useStores = useStores(),\n cookieStore = _useStores.cookieStore; // Get cookie group or return draft object\n\n\n var id = isNaN(+cookieGroup) ? 0 : +cookieGroup;\n var queried = !!cookieGroup;\n var group = cookieStore.groups.entries.get(id) || new CookieGroupModel(cookieStore.groups, {\n id: 0\n });\n var link = \"#/cookies\";\n var editLink = useCallback(function (_ref) {\n var key = _ref.key;\n return \"#/cookies/\".concat(group.key, \"/edit/\").concat(key);\n }, [group]);\n var addCookieLink = \"#/cookies/\".concat(group.key, \"/new\");\n return {\n group: group,\n id: id,\n queried: queried,\n fetched: group.key !== 0,\n link: link,\n editLink: editLink,\n addCookieLink: addCookieLink\n };\n};\n\nexport { useRouteCookieGroup };","function getCookieTypeLocalized() {\n return {\n http: {\n name: \"HTTP Cookie\",\n abbr: \"HTTP\",\n backgroundColor: \"black\"\n },\n local: {\n name: \"Local Storage\",\n abbr: \"Local\",\n backgroundColor: \"#b3983c\"\n },\n session: {\n name: \"Session Storage\",\n abbr: \"Session\",\n backgroundColor: \"#3c99b3\"\n },\n flash: {\n name: \"Flash Local Shared Object\",\n abbr: \"Flash\",\n backgroundColor: \"#b33c3c\"\n },\n indexedDb: {\n name: \"IndexedDB\",\n abbr: \"I-DB\",\n backgroundColor: \"#4ab33c\"\n }\n };\n}\n\nexport { getCookieTypeLocalized };"],"names":["slugify","str","replace","toLowerCase","from","i","l","length","RegExp","charAt","useRouteCookie","routeGroup","useRouteCookieGroup","group","params","useRouteMatch","id","isNaN","cookie","queried","cookies","entries","get","fetched","key","CookieEditFormGeneralFields","_ref","_cookie$presetModel","_cookie$presetModel$d","_ref$showNoticePreset","showNoticePresetGroupNotFound","groupNotice","providerPrivacyPolicyNotice","_useStores","_useStores$cookieStor","cookieStore","groups","essentialGroup","_useStores$optionStor","optionStore","ePrivacyUSA","consentForwarding","_useRouteCookie","isRealCookieBannerPreset","presetModel","data","identifier","findByUniqueCookieName","useCallback","_ref2","_callee","slug","_context","prev","next","request","location","abrupt","sent","filter","d","ID","t0","undefined","stop","_x","apply","this","arguments","validateUniqueCookieName","_ref3","_callee2","allowOverwrite","found","_consentForwardingUniqueName","matchRegexp","foundGenerated","_context2","__","metas","consentForwardingUniqueName","match","_","g1","g2","concat","_x2","_x3","React","createElement","Fragment","offset","CookieEditFormLayout","labelCol","span","url","label","required","name","noStyle","rules","message","className","value","sortedGroups","map","_ref4","_ref4$data","dangerouslySetInnerHTML","__html","autoSize","minRows","type","shouldUpdate","prevValues","nextValues","_ref5","_validator","getFieldValue","setFieldsValue","isEssentialGroup","style","display","validateTrigger","validator","_callee3","_context3","_x4","_x5","placeholder","disabled","_i","strong","_ref6","valuePropName","WP_LIST_TABLE_FORM_ITEM_PROPS","wrapperCol","margin","CookieEditFormTechnicalFields","cookieTypeLocalized","noTechnicalDefinitions","technicalDefinitions","fields","add","remove","description","marginBottom","width","title","code","QuestionCircleFilled","align","field","fieldKey","Object","keys","_prevValues$technical","_nextValues$technical","cookieName","r","Array","isArray","test","_prevValues$technical2","_nextValues$technical2","indexOf","isUrl","Promise","resolve","reject","_prevValues$technical3","_nextValues$technical3","host","startsWith","substr","_prevValues$technical4","_nextValues$technical4","float","marginTop","_prevValues$technical5","_nextValues$technical5","sessionDuration","_ref7","min","addonAfter","maxWidth","onClick","DeleteOutlined","colSpan","technicalDefinitionDefaults","PlusOutlined","CookieEditFormManagerFields","manager","onlyWhenManagerIs","hasManagerAttributeName","thisIsManagerAttributeName","inEventNameAttributeName","outEventNameAttributeName","setCookiesViaManager","hasManager","isPro","others","curValues","isActive","active","inEventName","outEventName","addonBefore","marginRight","DYNAMICS_SEARCH_IN","DYNAMICS_VARIABLE_REGEXP","CookieEditFormCodeDynamics","dynamicFields","k","Boolean","searchInResolved","join","matches","matchAll","added","formName","_ref5$invalidMessage","invalidMessage","example","expression","hint","push","pattern","NoticeFormItemContainsSkipIfActiveAttribute","activePlugins","activePluginKeys","useMemo","split","plugin","flat","uniq","CookieEditFormHandlingFields","notices","createHiddenFormItemsWithCodeMirror","visible","opacity","height","severity","thisIsGoogleTagManager","u","thisIsMatomoTagManager","settings","window","cm_settings","_ref8","duration","durationUnit","CookieEditForm","_cookieStore$groups$s","_cookieStore$groups$s2","_presetModel$attribut","_presetModel$attribut2","_presetModel$attribut3","_presetModel$attribut4","_presetModel$attribut5","preset","attributes","_ref$navigateAfterCre","navigateAfterCreation","_ref$scrollToTop","scrollToTop","onCreated","_useRouteCookie$route","link","_Form$useForm","form","_useState","useState","_useState2","isBusy","setIsBusy","_useState3","_useState4","hasChanges","setHasChanges","history","useHistory","presetsCookie","useGroup","allowContentBlockerCreation","contentBlockerPresets","createContentBlockerNotice","showOptInNoticeScanned","scanned","codeOptIn","initialValues","raw","status","purpose","content","provider","meta","providerPrivacyPolicy","legalBasis","JSON","parse","stringify","codeDynamics","googleTagManagerInEventName","googleTagManagerOutEventName","matomoTagManagerInEventName","matomoTagManagerOutEventName","codeOptInNoGoogleTagManager","codeOptInNoMatomoTagManager","codeOptOut","codeOptOutNoGoogleTagManager","codeOptOutNoMatomoTagManager","codeOnPageLoad","codeOptOutDelete","createContentBlocker","deactivateAutomaticContentBlockerCreation","createContentBlockerId","presetCheck","useEffect","getSingle","context","fetchAttributes","scrollTo","handleSave","values","_group","newMeta","_useGroup","draft","setName","setStatus","setPurpose","setMeta","setGroup","patch","rendered","protected","presetId","presetVersion","version","persist","setTimeout","encodeURIComponent","href","slice","responseJSON","onFinish","finish","onFinishFailed","errorInfo","errorFields","scrollToField","behavior","block","handleBeforeUnload","paragraph","rows","spinning","busy","Prompt","onValuesChange","td","tdChangedKeys","validateFields","technicalHandlingNotice","attributes_name","dependencies","contentBlockerId","transform","FormHeadline","children","borderBottom","useLocationQuery","Url","useLocation","search","query","cookieGroup","editLink","addCookieLink","getCookieTypeLocalized","http","abbr","backgroundColor","local","session","flash","indexedDb"],"sourceRoot":""}
public/dist/admin.lite.js CHANGED
@@ -1,2 +1,2 @@
1
- var realCookieBanner_admin;!function(){"use strict";var e,t,r,n={3055:function(e,t,r){var n,o;r.d(t,{r:function(){return n}}),function(e){e.Cookie="cookie",e.Web="web",e.App="app"}(n||(n={})),function(e){e.Bulgarian="bg",e.Catalan="ca",e.Czech="cs",e.Danish="da",e.German="de",e.Greek="el",e.Spanish="es",e.Estonian="et",e.Basque="eus",e.Finnish="fi",e.French="fr",e.Galician="gl",e.Croatian="hr",e.Hungarian="hu",e.Italian="it",e.Japanese="ja",e.Lithuanian="lt",e.Latvian="lv",e.Maltese="mt",e.Dutch="nl",e.Norwegian="no",e.Polish="pl",e.Portuguese="pt",e.Romanian="ro",e.SerbianCyrillic="sr-Cyrl",e.SerbianLatin="sr-Latn",e.Russian="ru",e.Slovak="sk",e.Slovenian="sl",e.Swedish="sv",e.Turkish="tr",e.Chinese="zh"}(o||(o={}))},3162:function(e,t,r){r.r(t),r.d(t,{locationRestChecklistGet:function(){return Z.gn},locationRestChecklistPut:function(){return Z.s5},locationRestConsentAllDelete:function(){return Z.Ok},locationRestConsentAllGet:function(){return Z.cI},locationRestConsentClearDelete:function(){return Z.rz},locationRestConsentDynamicPredecisionGet:function(){return Z.aY},locationRestConsentForwardPost:function(){return Z.vY},locationRestConsentGet:function(){return Z.JQ},locationRestConsentPost:function(){return Z.PM},locationRestConsentRefererGet:function(){return Z.qD},locationRestCookieGroupOrderPut:function(){return Z.BI},locationRestCookieUnassignedGet:function(){return Z.pV},locationRestCookiesOrderPut:function(){return Z.It},locationRestCountryBypassDatabasePut:function(){return Z._3},locationRestExportConsentsGet:function(){return Z.QB},locationRestExportGet:function(){return Z.Vm},locationRestForwardCookieGet:function(){return Z.Vc},locationRestForwardEndpointsGet:function(){return Z.AW},locationRestImportPost:function(){return Z.HR},locationRestLiteDismissConfigPageProNotice:function(){return Z.nQ},locationRestMigrationDelete:function(){return Z.oW},locationRestMigrationPost:function(){return Z.nX},locationRestPresetsBannerGet:function(){return Z.tX},locationRestPresetsBlockerAttributesGet:function(){return Z.N9},locationRestPresetsBlockerGet:function(){return Z.Wu},locationRestPresetsCookiesAttributesGet:function(){return Z.tw},locationRestPresetsCookiesGet:function(){return Z.zf},locationRestRevisionCurrentGet:function(){return Z.GQ},locationRestRevisionCurrentPut:function(){return Z.a4},locationRestRevisionGet:function(){return Z.Z1},locationRestRevisionIndependentGet:function(){return Z.TB},locationRestScannerQueuePost:function(){return Z.kv},locationRestScannerResultAllExternalUrlsByHostGet:function(){return Z.ME},locationRestScannerResultExternalPatch:function(){return Z.Ce},locationRestScannerResultExternalsGet:function(){return Z.MQ},locationRestScannerResultMarkupGet:function(){return Z.$5},locationRestScannerResultPresetsGet:function(){return Z.eO},locationRestStatsButtonsClickedGet:function(){return Z.$Q},locationRestStatsCustomBypassGet:function(){return Z.gh},locationRestStatsMainGet:function(){return Z.BV},locationRestTcfDeclarationsGet:function(){return Z.Y3},locationRestTcfGvlPut:function(){return Z.yR},locationRestTcfVendorsGet:function(){return Z.fs},locationRestWpSettings:function(){return Z.g3},locationRestWpSettingsPatch:function(){return Z.J3},ChecklistStore:function(){return k.L_},ConsentStore:function(){return k.v},CookieStore:function(){return k.hc},CustomizeBannerStore:function(){return k.WS},OptionStore:function(){return k.aZ},RootStore:function(){return k.My},ScannerStore:function(){return k.Cu},StatsStore:function(){return k.et},TcfStore:function(){return k.z},useStores:function(){return k.mZ}});var n=r(8782),o=r(3249),i=r(63),a=r(7938),s=r(5450),c=r.n(s),l=(r(3523),r(1533)),u=r(4614),p=r(1312),f=(r(1696),r(9738),r(8488)),h=r.n(f),b=r(8700),d=r(5408),v={};for(var y in b)"default"!==y&&(v[y]=function(e){return b[e]}.bind(0,y));r.d(t,v);var m,g,Z=r(9332),k=r(5187);r.p=(0,b.getWebpackPublicPath)({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"1",TCF_CMP_ID:367}),null===b.handleCorrupRestApi||void 0===b.handleCorrupRestApi||(0,b.handleCorrupRestApi)((m={},(0,i.Z)(m,u.M.get.optionStore.restNamespace,(0,a.Z)(c().mark((function e(){return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,d.W)({location:{path:"/plugin"}});case 2:case"end":return e.stop()}}),e)})))),(0,i.Z)(m,"wp/v2",(g=(0,a.Z)(c().mark((function e(){return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,d.W)({location:{path:"/settings",namespace:"wp/v2"}});case 2:case"end":return e.stop()}}),e)}))),function(){return g.apply(this,arguments)})),m)),o.ZP.config({prefixCls:"rcb-antd"}),n.ZP.config({top:50});var w=document.getElementById("".concat(u.M.get.optionStore.slug,"-component"));w&&(0,l.render)(React.createElement(o.ZP,{prefixCls:"rcb-antd",locale:{locale:h().locale()}},React.createElement(u.M.StoreProvider,null,React.createElement(p.K,null))),w)},2142:function(e,t,r){r.d(t,{b:function(){return k}});var n=r(9591),o=r(4094),i=r(4741),a=r(6107),s=r(7228),c=r(4115),l=r(7363),u=r(3554),p=r(5071),f=r(1857),h=r(5406),b=r(8719),d=r(3058),v=r(4614),y=r(3289),m=r(4522),g=(0,u.Pi)((function(e){var t=e.id,r=e.checked,n=e.title,o=e.description,i=e.link,s=e.linkText,c=e.linkTarget,l=e.needsPro,u=e.onLinkClick,g=!(0,v.m)().optionStore.others.isPro&&l,Z=null;if("scanner"===t){var k=(0,y.p)(),w=k.percent,R=k.remaining,C=k.currentJob;R>0&&w>0&&(null==C?void 0:C.group_position)>0&&(Z=React.createElement(a.Z,null,(0,p.__)("Currently scanning (%d %%)",w)))}return React.createElement("div",{style:{margin:"5px 0"}},React.createElement(f.Z,{title:r&&o},React.createElement("span",null,g?React.createElement(h.Z,{style:{color:"#7ec8ec"}}):r?React.createElement(b.Z,{style:{color:"#52c41a"}}):React.createElement(d.Z,{style:{color:"#e2e2e2"}})," ",React.createElement("span",{style:{textDecoration:r?"line-through":void 0,fontWeight:"bold"}},n),!!i&&!!s&&React.createElement(React.Fragment,null,"  •  ",React.createElement("a",{href:i,target:c,rel:"noreferrer",onClick:u},s)))),g&&"get-pro"!==t&&React.createElement(React.Fragment,null," ",React.createElement(a.Z,{color:m.k},(0,p.__)("Needs PRO"))),!!Z&&React.createElement(React.Fragment,null," ",Z),!!o&&!r&&React.createElement("p",{className:"description",style:{paddingLeft:17}},o))})),Z=r(2046),k=(0,u.Pi)((function(e){var t=e.onLinkClick,r=(0,c.Z)(e,["onLinkClick"]),u=(0,v.m)().checklistStore,f=u.busyChecklist,h=u.items,b=u.completed,y=u.checkable,m=u.done,k=u.checklist.overdue,w=(0,l.useState)("boolean"==typeof r.showHidden?r.showHidden:!m),R=(0,s.Z)(w,2),C=R[0],P=R[1];return React.createElement(n.Z,{spinning:f},React.createElement(o.Z,{direction:"vertical",size:"large"},k&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:0}},React.createElement("p",null,(0,p.__)("How time flies! You have installed Real Cookie Banner some time ago, but you still haven't finished the configuration yet."))),React.createElement("p",{className:"description"},(0,p.__)("We have collected all relevant steps for the legally compliant use of Real Cookie Banner after the first installation. Set up the cookie banner step by step to add an opt-in cookie banner to your website in compliance with the ePrivacy Directive and GDPR.")),React.createElement("div",null,m&&(C?React.createElement(a.Z,{icon:React.createElement(Z.Z,null),color:"default",style:{cursor:"pointer"},onClick:function(){return P(!1)}},(0,p.__)("Hide completed steps")):React.createElement(a.Z,{icon:React.createElement(d.Z,null),color:"success",style:{cursor:"pointer"},onClick:function(){return P(!0)}},(0,p.__)("%d / %d steps completed",b.length>y.length?y.length:b.length,y.length))),h.map((function(e){var r=e.id,n=(0,c.Z)(e,["id"]);return!C&&n.checked?null:React.createElement(g,(0,i.Z)({key:r,id:r},n,{onLinkClick:function(e){["get-pro"].indexOf(r)>-1&&u.toggleChecklistItem(r,!0),null==t||t(e)}}))})))))}))},294:function(e,t,r){r.d(t,{DR:function(){return y},Gh:function(){return d},Ki:function(){return v}});var n=r(2519),o=r(8920),i=r(9943),a=r(6315),s=r(6478),c=r(7363),l=r(3554),u=r(5071),p=r(8240),f=r(8042),h=r(4342),b=r(4614),d="Google Tag Manager",v="Matomo Tag Manager",y=(0,l.Pi)((function(){var e=(0,b.m)().optionStore,t=e.refreshSiteAfterConsent,r=e.imprintExternalUrl,l=e.imprintIsExternalUrl,y=e.privacyPolicyExternalUrl,m=e.privacyPolicyIsExternalUrl,g=e.others,Z=g.isPro,k=g.customizeBannerUrl,w=(0,c.useCallback)((function(e){return"".concat(k.replace(/autofocus\[panel]=[\w-]+/,"autofocus[section]=".concat(e)),"&return=").concat(encodeURIComponent(window.location.href))}),[k])("real-cookie-banner-banner-legal");return React.createElement(React.Fragment,null,React.createElement(a.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.bannerActive!==t.bannerActive}},(function(e){var t=e.getFieldValue,r=e.setFieldsValue,n=t("bannerActive");return React.createElement(React.Fragment,null,React.createElement(a.Z.Item,{label:(0,u.__)("Cookie Banner/Dialog")},React.createElement(a.Z.Item,{noStyle:!0,name:"bannerActive",valuePropName:"checked"},React.createElement(s.Z,{style:{display:n?void 0:"none"}})),!n&&React.createElement(i.Z,{title:(0,u.__)("I have already checked/will check all text in the cookie banner and content blocker myself. I have added missing information and corrected information that does not fit my use case."),cancelText:(0,u.__)("Cancel"),okText:(0,u.__)("Activate now!"),overlayStyle:{maxWidth:450},onCancel:function(){r({bannerActive:!1})},onConfirm:function(){r({bannerActive:!0})},placement:"bottomLeft"},React.createElement(s.Z,{checked:!1})),React.createElement("p",{className:"description",style:{marginTop:5}},(0,u.__)("You can enable and disable the cookie banner. We recommend to activate the cookie banner on your website after you have added all services."))),React.createElement(a.Z.Item,{label:(0,u.__)("Content Blocker"),style:{display:n?void 0:"none"}},React.createElement(a.Z.Item,{name:"blockerActive",valuePropName:"checked",noStyle:!0},React.createElement(s.Z,{style:{marginTop:5}})),React.createElement("p",{className:"description",style:{marginTop:5}},(0,u.__)("This feature allows you to block content that would process personal data and set cookies, but for which you do not yet have the visitor's consent."))))})),React.createElement(a.Z.Item,{label:(0,u.__)("Refresh site after consent"),style:{display:t?void 0:"none"}},React.createElement(a.Z.Item,{name:"refreshSiteAfterConsent",noStyle:!0},React.createElement(o.ZP.Group,null,React.createElement(o.ZP.Button,{value:!1},(0,u.__)("Do not refresh")),React.createElement(o.ZP.Button,{value:!0},(0,u.__)("Refresh")))),React.createElement("p",{className:"description"},(0,u.__)("Depending on how services are loaded, e.g. by other plugins on your website, it may be necessary to reload the website after the user has consented to the setting of cookies (only necessary in very rare cases)."))),React.createElement(a.Z.Item,{label:(0,u.__)("Hide cookie banner on specific pages")},React.createElement("p",{className:"description",style:{marginTop:7}},(0,u.__)("According to the ePrivacy Directive, legally required pages such as the privacy policy or the imprint (depending on the country) may be accessible without the user having to give consent to services and their cookies. Therefore, it is recommended to avoid processing personal data and setting cookies on these pages and not to display a cookie banner.")),React.createElement(a.Z.Item,{label:(0,u.__)("Imprint Page"),labelCol:{span:24},wrapperCol:{span:12},style:{marginBottom:12}},l?React.createElement(n.Z,{value:r,readOnly:!0,addonAfter:React.createElement("a",{className:"button-link alignright",rel:"noreferrer",target:"_blank",href:w},(0,u.__)("Edit"))}):React.createElement(a.Z.Item,{name:"imprintId",noStyle:!0},React.createElement(p.m,{postType:"pages",forceDefaultLanguage:!0,postStatus:["publish"],perPage:100}))),React.createElement(a.Z.Item,{label:(0,u.__)("Privacy policy page"),labelCol:{span:24},wrapperCol:{span:12},style:{marginBottom:12}},m?React.createElement(n.Z,{value:y,readOnly:!0,addonAfter:React.createElement("a",{className:"button-link alignright",rel:"noreferrer",target:"_blank",href:w},(0,u.__)("Edit"))}):React.createElement(a.Z.Item,{name:"privacyPolicyId",noStyle:!0},React.createElement(p.m,{postType:"pages",forceDefaultLanguage:!0,postStatus:["publish"],perPage:100}))),React.createElement(a.Z.Item,{label:React.createElement(React.Fragment,null,(0,u.__)("Hide on additional pages")," ",React.createElement(f.g,{title:(0,u.__)("Want to hide cookie banner on more pages?"),testDrive:!0,feature:"hide-page-ids",description:(0,u.__)("Cookie banners are legally necessary, but distract your users from the essentials. For example, on landing pages for advertising campaigns, they lead to lower conversion rates. On these pages, it can be useful to avoid processing personal data and setting cookies to keep the conversion rate high. You can hide the cookie banner on these pages.")})),labelCol:{span:24},wrapperCol:{span:12},style:{marginBottom:12}},React.createElement(a.Z.Item,{name:"hidePageIds",noStyle:!0},React.createElement(p.m,{postType:"pages",multiple:!0,disabled:!Z,forceDefaultLanguage:!0,postStatus:["publish"],perPage:100})))),React.createElement(a.Z.Item,{label:(0,u.__)("Load services after consent via")},React.createElement(a.Z.Item,{name:"setCookiesViaManager",noStyle:!0},React.createElement(o.ZP.Group,null,React.createElement(o.ZP.Button,{disabled:!Z,value:"none"},(0,u.__)("HTML/JavaScript Snippet")),React.createElement(o.ZP.Button,{disabled:!Z,value:"googleTagManager"},(0,u.__)("%s Event",d)),React.createElement(o.ZP.Button,{disabled:!Z,value:"matomoTagManager"},(0,u.__)("%s Event",v)))),React.createElement("div",{style:{margin:"5px 0px 0px"}},React.createElement(h.r,{url:(0,u.__)("https://devowl.io/knowledge-base/real-cookie-banner-with-google-tag-manager-or-matomo-tag-manager/")}),React.createElement(f.g,{title:(0,u.__)("Want to use a Tag Manager legally?"),testDrive:!0,feature:"set-cookies-via-manager",assetName:(0,u.__)("pro-modal/set-cookies-via-manager.png"),description:(0,u.__)("You can integrate services via Google Tag Manager or Matomo Tag Manager. At the same time, you can obtain and document consents via Real Cookie Banner in accordance with data protection regulations.")})),React.createElement("p",{className:"description"},React.createElement("strong",null,(0,u.__)("You only need to change this option if you use Google Tag Manager or Matomo Tag Manager."))," ",(0,u._i)((0,u.__)("If you opt-in to or opt-out from services, you will normally execute JavaScript code to ensure that scripts are enabled/disabled and cookies are set/removed on the visitor's client. If you are a Google Tag Manager or Matomo Tag Manager user, you can map this behavior by using tags that are triggered by an event in the data layer. {{strong}}If you enable this option,{{/strong}} the Google Tag Manager or Matomo Tag Manager should not yet be integrated into your website. Instead, you must integrate it as an opt-in script of a service you create for the Tag Manager. For each service listed in this plugin, you will receive an additional field where you can specify the name of the event that is automatically triggered when the user opt-in or opt-out. We have a full integration for tag managers which should allow you to run it legally compliant in the EU."),{strong:React.createElement("strong",null)}))))}))},1312:function(e,t,r){r.d(t,{K:function(){return F},m:function(){return T}});var n=r(2202),o=r(7228),i=r(9591),a=r(7363),s=r(3554),c=r(6711),l=r(5071),u=r(4614),p=(0,s.Pi)((function(){var e=(0,u.m)().optionStore,t=(0,c.useLocation)().pathname,r=(0,a.useCallback)((function(t){return e.updateCurrentRevision(),t.preventDefault(),!1}),[e]);return e.needsRevisionRetrigger&&-1===t.indexOf("/edit/")&&-1===t.indexOf("/new")&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l.__)("You have changed settings that affect the content or behavior of the cookie banner. You should ask all visitors for their consent again.")," ","•"," ",React.createElement("a",{href:"#",onClick:r},(0,l.__)("Request new consent"))))})),f=(0,s.Pi)((function(){var e=(0,u.m)().optionStore,t=e.publicCookieCount,r=e.busySettings;return e.bannerActive&&!t&&!r&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l.__)("The cookie banner is activated, but unfortunately you have not yet created or enabled services.")))})),h=r(6703),b=(0,s.Pi)((function(){return!!(0,h.u)().showNoticeAnonymousScriptNotWritable&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l._i)((0,l.__)("Your {{code}}wp-content{{/code}} folder is not writable. Please check your permissions!"),{code:React.createElement("code",null)})))})),d=(0,s.Pi)((function(e){var t=e.manager,r=e.managerId,n=e.hasManagerAttributeName,o=e.presetId,i=(0,u.m)().optionStore,a=i.setCookiesViaManager,s=i[n],p=(0,c.useLocation)().pathname;return a===r&&!s&&/^\/cookies\/\d+$/.test(p)&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l._i)((0,l.__)("You have not yet defined a %s service. To use {{strong}}%s{{/strong}} with Real Cookie Banner, you must create the appropriate service.",t,t),{strong:React.createElement("strong",null)})," ","• ",React.createElement("a",{href:"#".concat(p,"/new?force=").concat(o)},(0,l.__)("Create now"))))})),v=r(2200),y=function(){var e=(0,c.useHistory)().listen;return(0,a.useEffect)((function(){var t=e((function(){(0,v.X)(0)}));return function(){t()}}),[e]),null},m=r(294),g=r(6069),Z=r(3058),k=r(9943),w=r(6800),R=(0,s.Pi)((function(){var e=(0,u.m)().optionStore,t=e.others,r=t.proUrl,n=t.isPro,o=t.isConfigProNoticeVisible,i="".concat(r,"&feature=main-button"),s=(0,a.useCallback)((function(){window.open(i,"_blank"),e.dismissConfigProNotice()}),[e]),c=(0,a.useCallback)((function(){e.dismissConfigProNotice()}),[e]);return!n&&React.createElement(k.Z,{visible:!!o,title:(0,l.__)("Thank you for using the free version of Real Cookie Banner. You might also be interested in the PRO version, which offers you more features, 20+ design templates, 100+ service templates, 60+ content blocker templates and much more."),icon:React.createElement(w.Z,{style:{color:"#1890ff"}}),placement:"bottom",onConfirm:s,onCancel:c,cancelText:(0,l.__)("No, not interested..."),okText:(0,l.__)("I want to learn more!"),overlayStyle:{maxWidth:450}},React.createElement("a",{className:"page-title-action",rel:"noreferrer",onClick:s},(0,l.__)("Get PRO version")))})),C=r(2142),P=(0,s.Pi)((function(){var e=(0,a.useState)(!1),t=(0,o.Z)(e,2),r=t[0],n=t[1],i=(0,u.m)(),s=i.optionStore,p=i.checklistStore,f=(0,c.useLocation)().pathname,h=s.others.customizeBannerUrl,b=s.publicUrl,d=p.completed,v=p.checkable,y=p.done;(0,a.useEffect)((function(){p.fetchChecklist()}),[]);var m=(0,a.useCallback)((function(e){window.location.href="".concat(h,"&return=").concat(encodeURIComponent(window.location.href)),e.preventDefault()}),[]),k=(0,a.useCallback)((function(){n(!0),p.fetchChecklist()}),[n]),w=(0,a.useCallback)((function(){n(!1)}),[n]);return React.createElement(React.Fragment,null,React.createElement("h1",{className:"wp-heading-inline"},(0,l.__)("Real Cookie Banner")),React.createElement("img",{className:"rcb-nav-logo",src:"".concat(b,"images/logos/real-cookie-banner.svg")}),React.createElement("a",{className:"page-title-action",href:"#",onClick:m},(0,l.__)("Customize banner")),React.createElement(R,null),!y&&"/"!==f&&React.createElement(React.Fragment,null,React.createElement("a",{className:"page-title-action",style:{color:"#52c41a",background:"#f6ffed",borderColor:"#85af65"},onClick:k},React.createElement(Z.Z,null)," ",(0,l.__)("%d / %d steps completed",d.length>v.length?v.length:d.length,v.length)),React.createElement(g.Z,{visible:r,title:(0,l.__)("Set up the cookie banner"),onCancel:w,okButtonProps:{style:{display:"none"}},cancelText:(0,l.__)("Close"),width:800},React.createElement(C.b,{showHidden:!0,onLinkClick:w}))),React.createElement("hr",{className:"wp-header-end"}))})),S=r(9871),E=(0,s.Pi)((function(){var e=(0,u.m)().optionStore.publicUrl;return React.createElement("div",{className:"rcb-config-footer"},(0,l._i)((0,l.__)("Real Cookie Banner is brought to you with {{icon/}} by"),{icon:React.createElement(S.Z,{style:{color:"#dca7a7"}})}),React.createElement("a",{href:"https://devowl.io/",target:"_blank",rel:"noreferrer"},React.createElement("img",{src:"".concat(e,"images/logos/devowl-with-text.svg")})))})),_=r(8700),x=r(3289),O=r(6),D=r(3537),z={display:"block",marginTop:10},T=function(e,t){return{default:function(){return React.createElement(_.SuspenseChunkTranslation,{chunkFile:r.u("chunk-config-tab-".concat(e)),options:function(){return(0,u.m)().optionStore},fallback:React.createElement(i.Z,{spinning:!0,style:z})},t)}}},I=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(728),r.e(914),r.e(411),r.e(379)]).then(r.bind(r,6968)).then((function(e){var t=e.DashboardCards;return T("dashboard",React.createElement(t,null))}))})),A=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(768)]).then(r.bind(r,8386)).then((function(e){var t=e.SettingsForm;return T("settings",React.createElement(t,null))}))})),M=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(728),r.e(813),r.e(930),r.e(547),r.e(795),r.e(193),r.e(138),r.e(3)]).then(r.bind(r,645)).then((function(e){var t=e.ScannerRouter;return T("scanner",React.createElement(t,null))}))})),B=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(728),r.e(813),r.e(930),r.e(547),r.e(717),r.e(138),r.e(152),r.e(718)]).then(r.bind(r,2524)).then((function(e){var t=e.CookieGroupsTabRouter;return T("cookies",React.createElement(t,null))}))})),N=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(728),r.e(813),r.e(914),r.e(930),r.e(795),r.e(625)]).then(r.bind(r,4386)).then((function(e){var t=e.ConsentTabRouter;return T("consent",React.createElement(t,null))}))})),j=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(728),r.e(813),r.e(547),r.e(138),r.e(152),r.e(478)]).then(r.bind(r,4362)).then((function(e){var t=e.BlockerRouter;return T("blocker",React.createElement(t,null))}))})),U=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(914),r.e(193),r.e(954),r.e(357)]).then(r.bind(r,5484)).then((function(e){var t=e.ImportExportCards;return T("import",React.createElement(t,null))}))})),V=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(322)]).then(r.bind(r,5646)).then((function(e){var t=e.ConfigLicensing;return T("licensing",React.createElement(t,null))}))})),F=(0,s.Pi)((function(){var e=(0,x.p)(),t=e.percent,r=e.remaining,s=e.currentJob,h=(0,u.m)(),v=h.optionStore,g=h.checklistStore,Z=v.others,k=Z.showLicenseFormImmediate,w=(0,o.Z)(Z.colorScheme,3)[2];return(0,a.useLayoutEffect)((function(){v.fetchSettings();var e=function(){g.fetchChecklist()},t="".concat(O.JOB_DONE_EVENT_PREFIX).concat(D.b);return document.addEventListener(t,e),function(){document.removeEventListener(t,e)}}),[]),k?React.createElement(a.Suspense,{fallback:React.createElement(i.Z,{spinning:!0,style:z})},React.createElement(V,null)):React.createElement(c.HashRouter,null,React.createElement(P,null),React.createElement("nav",{className:"nav-tab-wrapper wp-clearfix"},React.createElement(c.NavLink,{to:"/",className:"nav-tab",activeClassName:"nav-tab-active",exact:!0},(0,l.__)("Dashboard")),React.createElement(c.NavLink,{to:"/settings",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Settings")),React.createElement(c.NavLink,{to:"/scanner",className:"nav-tab",activeClassName:"nav-tab-active"},r>0&&t>0&&(null==s?void 0:s.group_position)>0?React.createElement(n.Z,{count:"".concat(t," %"),style:{top:-11,fontSize:10,height:16,lineHeight:"16px",background:w}},(0,l.__)("Scanner")):(0,l.__)("Scanner")),React.createElement(c.NavLink,{to:"/cookies",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Services (Cookies)")),React.createElement(c.NavLink,{to:"/blocker",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Content Blocker")),React.createElement(c.NavLink,{to:"/consent",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Consent")),React.createElement(c.NavLink,{to:"/import",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Import / Export")),"try.devowl.io"!==window.location.host&&React.createElement(c.NavLink,{to:"/licensing",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Licensing")),React.createElement("a",{href:(0,l.__)("https://devowl.io/support/"),className:"nav-tab",target:"_blank",rel:"noreferrer"},(0,l.__)("Support"))),React.createElement(p,null),React.createElement(f,null),React.createElement(b,null),React.createElement(d,{manager:m.Gh,managerId:"googleTagManager",hasManagerAttributeName:"hasGTM",presetId:"gtm"}),React.createElement(d,{manager:m.Ki,managerId:"matomoTagManager",hasManagerAttributeName:"hasMTM",presetId:"mtm"}),React.createElement(y,null),React.createElement(a.Suspense,{fallback:React.createElement(i.Z,{spinning:!0,style:z})},React.createElement(c.Switch,null,React.createElement(c.Route,{path:"/",exact:!0},React.createElement(I,null)),React.createElement(c.Route,{path:"/settings/:tab?"},void 0===v.bannerActive?null:React.createElement(A,null)),React.createElement(c.Route,{path:"/scanner"},React.createElement(M,null)),React.createElement(c.Route,{path:"/cookies/:cookieGroup?"},React.createElement(B,null)),React.createElement(c.Route,{path:"/consent/:tab?"},React.createElement(N,null)),React.createElement(c.Route,{path:"/blocker"},React.createElement(j,null)),React.createElement(c.Route,{path:"/import"},React.createElement(U,null)),React.createElement(c.Route,{path:"/licensing"},React.createElement(V,null)))),React.createElement(E,null))}))},4342:function(e,t,r){r.d(t,{r:function(){return s}});var n=r(6107),o=r(2711),i=r(7088),a=r(5071),s=function(e){var t=e.url,r=e.style,s=void 0===r?void 0:r,c=e.label,l=void 0===c?(0,a.__)("Learn more"):c,u=(0,o.Z)({cursor:"pointer"},s);return React.createElement(n.Z,{style:u,onClick:function(){return window.open(t,"_blank")}},React.createElement(i.Z,null)," ",l)}},8240:function(e,t,r){r.d(t,{m:function(){return y}});var n=r(3828),o=r(9591),i=r(2711),a=r(7938),s=r(7228),c=r(5450),l=r.n(c),u=r(7363),p=r(6965),f=r(6703),h=r(5408),b=r(5071),d=r(2936),v=r(8700),y=function(e){var t=e.postType,r=e.postStatus,c=void 0===r?["draft","publish","private"]:r,y=e.perPage,m=void 0===y?10:y,g=e.value,Z=e.multiple,k=e.disabled,w=e.forceDefaultLanguage,R=e.onChange,C=e.titleRender,P=void 0===C?function(e){return e.title.rendered}:C,S=e.filter,E=void 0===S?function(){return!0}:S,_=(0,u.useState)(!1),x=(0,s.Z)(_,2),O=x[0],D=x[1],z=(0,u.useState)(g),T=(0,s.Z)(z,2),I=T[0],A=T[1],M=(0,u.useState)(!1),B=(0,s.Z)(M,2),N=B[0],j=B[1],U=(0,u.useState)([]),V=(0,s.Z)(U,2),F=V[0],G=V[1],W=(0,u.useCallback)(function(){var e=(0,a.Z)(l().mark((function e(r){var n,o,a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return j(!0),n=(0,f.u)(),o=n.defaultLanguage,a=n.currentLanguage,e.next=4,(0,h.W)({location:{path:"/".concat(t),method:v.RouteHttpVerb.GET,namespace:"wp/v2"},request:(0,i.Z)({status:r.include?["draft","publish","private"]:c,orderby:r.search?"relevance":"title"},r),params:{rcbForceLang:w?o:a}});case 4:s=e.sent,G(s),j(!1);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[]);return(0,d.N)(O,""===O?0:800,(function(e){!1!==e&&W({search:e,per_page:e.length?50:m})}),(function(e){!1!==e&&j(!0),G([])})),(0,u.useEffect)((function(){(I>0||Array.isArray(I)&&I.length>0)&&W({include:Array.isArray(I)?I:[I]})}),[]),(0,u.useEffect)((function(){JSON.stringify(I)!==JSON.stringify(g)&&(g>0||Array.isArray(g)&&g.length>0)&&(A(g),W({include:Array.isArray(g)?g:[g]}))}),[g,I]),React.createElement(n.Z,{mode:Z?"multiple":void 0,disabled:k,showSearch:!0,value:I,placeholder:(0,b.__)("Search..."),notFoundContent:N?React.createElement(o.Z,{size:"small"}):null,onClick:function(){return D("")},onSearch:D,onChange:function(e){var t=Array.isArray(e)?e.map(Number):+e;A(t),null==R||R(t)},filterOption:!1,loading:N},!Z&&!N&&React.createElement(n.Z.Option,{value:0},(0,b.__)("— Select —")),F.map((function(e){return React.createElement(n.Z.Option,{key:e.id,value:e.id,style:{display:E(e)?void 0:"none"}},(t=P(e),(0,p.C)(t)?null===(r=(new DOMParser).parseFromString('<a href="'.concat(t,'"></a>'),"text/html").querySelector("a"))||void 0===r?void 0:r.href:(new DOMParser).parseFromString(t,"text/html").documentElement.textContent));var t,r})))}},2579:function(e,t,r){r.d(t,{B:function(){return p}});var n=r(6069),o=r(7228),i=r(7363),a=r(9635),s=r(6703),c=r(5071),l=r(8081),u=r(5829),p=function(e){var t=e.visible,r=void 0!==t&&t,p=e.showHints,f=void 0===p||p,h=e.title,b=e.testDrive,d=void 0!==b&&b,v=e.assetName,y=e.description,m=e.feature,g=e.onClose,Z=e.inContainer,k=e.inContainerElement,w=(0,s.u)(),R=w.proUrl,C=w.hints,P=(0,i.useState)(),S=(0,o.Z)(P,2),E=S[0],_=S[1],x=(0,i.useCallback)((function(){window.open("".concat(R,"&feature=").concat(m),"_blank").focus(),null==g||g()}),[g]);(0,i.useEffect)((function(){Z&&E&&(null==E?void 0:E.parentElement.parentElement.previousElementSibling).removeAttribute("tabIndex")}),[E]);var O=null==C?void 0:C.proDialog;return Z&&!k?null:React.createElement(n.Z,{visible:!!Z||r,title:React.createElement("span",null,React.createElement(a.Z,null)," ",h," ",(0,c.__)("Get PRO!")),onOk:x,onCancel:g,cancelText:(0,c.__)("No, not interested..."),okText:(0,c.__)("I want to learn more!"),className:"rcb-pro-modal",width:v?800:600,getContainer:Z?k:void 0},!!v&&React.createElement("img",{style:{marginTop:10},src:"https://assets.devowl.io/in-app/wp-real-cookie-banner/".concat(v)}),React.createElement("div",{style:{maxWidth:600,margin:"auto"},ref:_},React.createElement("p",null,(0,l.E)(y)),d&&React.createElement("p",null,(0,c._i)((0,c.__)("Check out this feature with a {{a}}free sandbox{{/a}} before buying!"),{a:React.createElement("a",{href:"https://try.devowl.io/?product=RCB",target:"_blank",rel:"noreferrer"})}))),!!O&&f&&React.createElement("div",{style:{maxWidth:600,margin:"auto",textAlign:"left"}},React.createElement(u.j,O)))}},5829:function(e,t,r){r.d(t,{j:function(){return a}});var n=r(5489),o=r(8503),i=r(2841),a=function(e){var t=e.title,r=e.description,a=e.link,s=e.linkText,c=e.logo;return React.createElement(React.Fragment,null,React.createElement(i.Z,null,t),React.createElement(n.Z,{wrap:!1,style:{marginBottom:10}},React.createElement(o.Z,{flex:"auto"},!!r&&React.createElement("p",{style:{margin:0}},React.createElement("span",{dangerouslySetInnerHTML:{__html:r}})," ",!!a&&!!s&&React.createElement("a",{href:a,target:"_blank",rel:"noreferrer",className:"button-link"},s))),React.createElement(o.Z,{flex:"150px",style:{alignSelf:"center"}},!!c&&React.createElement("img",{src:c,style:{maxWidth:"calc(100% - 20px)",height:"auto",marginLeft:20}}))))}},8042:function(e,t,r){r.d(t,{g:function(){return i}});var n=r(4115),o=r(4522),i=function(e){e.children;var t=e.wrapperAttributes,r=void 0===t?{}:t,i=(0,n.Z)(e,["children","wrapperAttributes"]),a=(0,o.t)(i),s=a.modal,c=a.tag;return React.createElement(React.Fragment,null,s,React.createElement("span",r,c))}},2936:function(e,t,r){r.d(t,{N:function(){return i}});var n=r(7228),o=r(7363);function i(e,t,r,i){var a=(0,o.useState)(e),s=(0,n.Z)(a,2),c=s[0],l=s[1];return(0,o.useEffect)((function(){var r=setTimeout((function(){l(e)}),t);return null==i||i(e),function(){clearTimeout(r)}}),[e]),(0,o.useEffect)((function(){r(c)}),[c]),c}},4522:function(e,t,r){r.d(t,{t:function(){return f},k:function(){return p}});var n=r(4741),o=r(6107),i=r(7228),a=r(2193),s=r(5071),c=r(4614),l=r(7363),u=r(2579),p="#2db7f5";function f(e,t){var r=(0,l.useState)(!1),f=(0,i.Z)(r,2),h=f[0],b=f[1],d=(0,c.m)().optionStore.others.isPro,v="boolean"==typeof t?t:d,y=(0,l.useCallback)((function(e){b(!0),null==e||e.preventDefault()}),[b]),m=(0,l.useMemo)((function(){return v?null:React.createElement(o.Z,{icon:React.createElement(a.Z,null),color:p,style:{cursor:"pointer"},onClick:y},e.tagText||(0,s.__)("Unlock feature"))}),[y,e]),g=(0,l.useMemo)((function(){return v?null:React.createElement(u.B,(0,n.Z)({visible:h,onClose:function(){return b(!1)}},e))}),[h,b,e]);return{isPro:v,tag:m,modal:g,open:y}}},3289:function(e,t,r){r.d(t,{p:function(){return s}});var n=r(6),o=r(7363),i=r(4614),a=r(3537);function s(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,s=(0,i.m)(),c=s.scannerStore;return(0,n.useProgress)({type:a.u,fetchStatusInterval:e,fetchAdditionalData:t,onAdditionalData:(0,o.useCallback)((function(e){var t=e["rcb-scan-list"],r=t.presets,n=t.externalUrls;c.resultPresetsFromResponse(r),c.resultExternalUrlsFromResponse(n)}),[c]),onCancel:r})}},62:function(e,t,r){r.d(t,{p:function(){return v}});var n,o,i,a,s,c,l,u=r(6724),p=r(6762),f=r(3340),h=r(9303),b=r(7821),d=r(490),v=(n=function(){function e(t,r){var n=this;(0,p.Z)(this,e),(0,u.Z)(this,"id",o,this),(0,u.Z)(this,"name",i,this),(0,u.Z)(this,"needsPro",a,this),(0,u.Z)(this,"description",s,this),(0,u.Z)(this,"tags",c,this),(0,u.Z)(this,"settings",l,this),this.store=void 0,this.resetPreviewInUiSettings=void 0,(0,b.runInAction)((function(){return(0,b.set)(n,t)})),this.store=r}return(0,f.Z)(e,[{key:"applyInUi",value:function(){var e=this;return!(!this.store.rootStore.optionStore.others.isPro&&this.needsPro||(this.previewInUi(),setTimeout((function(){var t=(0,d.getSidebarCustomize)();e.store.presetDefaults.forEach((function(r,n){t(n).set(void 0===e.settings[n]?r:e.settings[n])}))}),100),0))}},{key:"previewInUi",value:function(){var t=(0,d.getSidebarCustomize)(),r=this.store.presetDefaults,n=this.store.rootStore.optionStore.others.customizeIdsBanner.settings,o=[];this.resetPreviewInUiSettings={};for(var i=0,a=Object.keys(n);i<a.length;i++)for(var s=a[i],c=n[s],l=0,u=Object.keys(c);l<u.length;l++){var p=u[l],f=c[p];if(r.has(f)){this.resetPreviewInUiSettings[f]=[s,p,t(f).get()];var h=Object.prototype.hasOwnProperty.call(this.settings,f)?this.settings[f]:r.get(f);o.push([s,p,h])}}e.getIframeStore().customizeBannerStore.setBannerFromPreset(o)}},{key:"resetPreviewInUi",value:function(){this.resetPreviewInUiSettings&&(e.getIframeStore().customizeBannerStore.setBannerFromPreset(Object.values(this.resetPreviewInUiSettings)),this.resetPreviewInUiSettings={})}}],[{key:"getIframeStore",value:function(){try{return document.querySelector("#customize-preview > iframe").contentWindow.realCookieBanner_customize_banner.RootStore.get}catch(e){return}}}]),e}(),o=(0,h.Z)(n.prototype,"id",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i=(0,h.Z)(n.prototype,"name",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,h.Z)(n.prototype,"needsPro",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,h.Z)(n.prototype,"description",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=(0,h.Z)(n.prototype,"tags",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=(0,h.Z)(n.prototype,"settings",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n)},480:function(e,t,r){r.d(t,{R:function(){return p}});var n,o=r(6762),i=r(3340),a=r(3841),s=r(5952),c=r(8700),l=r(5408),u=r(1313),p=c.ClientCollection.annotate({path:"/rcb-blocker",singlePath:"/rcb-blocker/:id",namespace:"wp/v2",methods:[c.RouteHttpVerb.GET],request:l.W})(n=function(e){(0,a.Z)(r,e);var t=(0,s.Z)(r);function r(e){var n;return(0,o.Z)(this,r),(n=t.call(this)).store=void 0,n.store=e,n}return(0,i.Z)(r,[{key:"instance",value:function(e){return new u.p(this).fromResponse(e)}}]),r}(c.AbstractPostCollection))||n},1313:function(e,t,r){r.d(t,{p:function(){return Z}});var n,o,i,a=r(6724),s=r(6762),c=r(3340),l=r(5558),u=r(3071),p=r(8067),f=r(3841),h=r(5952),b=r(9303),d=r(8700),v=r(5408),y=r(9338),m=r(7821),g=r(4614),Z=d.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:v.W,create:{path:"/rcb-blocker"},patch:{path:"/rcb-blocker/:id"},delete:{path:"/rcb-blocker/:id"}})((o=function(e){(0,f.Z)(r,e);var t=(0,h.Z)(r);function r(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,s.Z)(this,r),n=t.call(this,e,o),(0,a.Z)(n,"presetModel",i,(0,l.Z)(n)),(0,m.reaction)((function(){var e;return null===(e=n.data)||void 0===e?void 0:e.preset}),(function(e){return(0,m.runInAction)((function(){n.presetModel=e?new y.w(e,g.M.get.cookieStore):void 0}))}),{fireImmediately:!0}),n}return(0,c.Z)(r,[{key:"hosts",get:function(){var e;return null===(e=this.data)||void 0===e?void 0:e.meta.hosts.split("\n")}},{key:"tcfVendors",get:function(){var e;return null!==(e=this.data)&&void 0!==e&&e.meta.tcfVendors?this.data.meta.tcfVendors.split(",").filter(Boolean).map(Number):[]}},{key:"cookies",get:function(){var e;return null===(e=this.data)||void 0===e?void 0:e.meta.cookies.split(",").filter(Boolean).map(Number)}},{key:"setName",value:function(e){this.data.title.rendered=e}},{key:"setStatus",value:function(e){this.data.status=e}},{key:"setDescription",value:function(e){this.data.content.rendered=e}},{key:"setMeta",value:function(e){this.data.meta=e}},{key:"transformDataForPatch",value:function(){var e=(0,u.Z)((0,p.Z)(r.prototype),"transformDataForPatch",this).call(this);return{title:e.title,content:e.content,status:e.status,meta:e.meta,slug:e.title}}},{key:"afterPatch",value:function(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterDelete",value:function(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterPersist",value:function(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}}]),r}(d.AbstractPost),i=(0,b.Z)(o.prototype,"presetModel",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,b.Z)(o.prototype,"hosts",[m.computed],Object.getOwnPropertyDescriptor(o.prototype,"hosts"),o.prototype),(0,b.Z)(o.prototype,"tcfVendors",[m.computed],Object.getOwnPropertyDescriptor(o.prototype,"tcfVendors"),o.prototype),(0,b.Z)(o.prototype,"cookies",[m.computed],Object.getOwnPropertyDescriptor(o.prototype,"cookies"),o.prototype),(0,b.Z)(o.prototype,"setName",[m.action],Object.getOwnPropertyDescriptor(o.prototype,"setName"),o.prototype),(0,b.Z)(o.prototype,"setStatus",[m.action],Object.getOwnPropertyDescriptor(o.prototype,"setStatus"),o.prototype),(0,b.Z)(o.prototype,"setDescription",[m.action],Object.getOwnPropertyDescriptor(o.prototype,"setDescription"),o.prototype),(0,b.Z)(o.prototype,"setMeta",[m.action],Object.getOwnPropertyDescriptor(o.prototype,"setMeta"),o.prototype),n=o))||n},9338:function(e,t,r){r.d(t,{w:function(){return v}});var n,o,i,a,s=r(6724),c=r(6762),l=r(3340),u=r(9303),p=r(5450),f=r.n(p),h=r(7821),b=r(3506),d=r(5408),v=(n=function(){function e(t,r){var n=this;(0,c.Z)(this,e),(0,s.Z)(this,"busy",o,this),(0,s.Z)(this,"data",i,this),(0,s.Z)(this,"attributes",a,this),this.store=void 0,this.fetchAttributes=(0,h.flow)(f().mark((function e(){var t;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.busy=!0,e.next=4,(0,d.W)({location:b.N,params:{identifier:this.data.identifier}});case 4:t=e.sent,this.attributes=t,e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(0),console.log(e.t0),e.t0;case 12:return e.prev=12,this.busy=!1,e.finish(12);case 15:case"end":return e.stop()}}),e,this,[[0,8,12,15]])}))),(0,h.runInAction)((function(){n.data=t})),this.store=r}return(0,l.Z)(e,[{key:"fullLogoUrl",get:function(){var e=this.data.logoFile,t=this.store.rootStore.optionStore.publicUrl;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}}]),e}(),o=(0,u.Z)(n.prototype,"busy",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,u.Z)(n.prototype,"data",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,u.Z)(n.prototype,"attributes",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,u.Z)(n.prototype,"fullLogoUrl",[h.computed],Object.getOwnPropertyDescriptor(n.prototype,"fullLogoUrl"),n.prototype),n)},6565:function(e,t,r){r.d(t,{y:function(){return M}});var n,o,i,a,s,c,l,u,p,f,h,b,d,v,y,m,g,Z,k,w,R,C,P,S,E,_,x,O=r(2711),D=r(6724),z=r(6762),T=r(3340),I=r(9303),A=r(7821),M=(n=function(){function e(t,r){var n=this;(0,z.Z)(this,e),(0,D.Z)(this,"id",o,this),(0,D.Z)(this,"ipv4",i,this),(0,D.Z)(this,"ipv6",a,this),(0,D.Z)(this,"ipv4_hash",s,this),(0,D.Z)(this,"ipv6_hash",c,this),(0,D.Z)(this,"uuid",l,this),(0,D.Z)(this,"previous_decision",u,this),(0,D.Z)(this,"decision",p,this),(0,D.Z)(this,"decision_labels",f,this),(0,D.Z)(this,"created",h,this),(0,D.Z)(this,"blocker",b,this),(0,D.Z)(this,"dnt",d,this),(0,D.Z)(this,"custom_bypass",v,this),(0,D.Z)(this,"user_country",y,this),(0,D.Z)(this,"revision_hash",m,this),(0,D.Z)(this,"revision_independent_hash",g,this),(0,D.Z)(this,"button_clicked",Z,this),(0,D.Z)(this,"context",k,this),(0,D.Z)(this,"viewport_width",w,this),(0,D.Z)(this,"viewport_height",R,this),(0,D.Z)(this,"viewed_page",C,this),(0,D.Z)(this,"url_imprint",P,this),(0,D.Z)(this,"url_privacy_policy",S,this),(0,D.Z)(this,"forwarded",E,this),(0,D.Z)(this,"forwarded_blocker",_,this),(0,D.Z)(this,"tcf_string",x,this),this.store=void 0,this.plain=void 0,(0,A.runInAction)((function(){return(0,A.set)(n,t)})),this.store=r,this.plain=t}return(0,T.Z)(e,[{key:"revision",get:function(){return this.store.revisions.get(this.revision_hash)}},{key:"revision_independent",get:function(){return this.store.revisionsIndependent.get(this.revision_independent_hash)}},{key:"custom_bypass_readable",get:function(){var e=this.custom_bypass;return e?e.charAt(0).toUpperCase()+e.slice(1):""}},{key:"export",get:function(){return JSON.parse(JSON.stringify((0,O.Z)((0,O.Z)({},this.plain),{},{revision:this.revision.data,revision_independent:this.revision_independent.data})))}},{key:"fetchRevisions",value:function(){return Promise.all([this.store.fetchRevision({hash:this.revision_hash}),this.store.fetchRevisionIndependent({hash:this.revision_independent_hash})])}}]),e}(),o=(0,I.Z)(n.prototype,"id",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i=(0,I.Z)(n.prototype,"ipv4",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,I.Z)(n.prototype,"ipv6",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,I.Z)(n.prototype,"ipv4_hash",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=(0,I.Z)(n.prototype,"ipv6_hash",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=(0,I.Z)(n.prototype,"uuid",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=(0,I.Z)(n.prototype,"previous_decision",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=(0,I.Z)(n.prototype,"decision",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=(0,I.Z)(n.prototype,"decision_labels",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=(0,I.Z)(n.prototype,"created",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=(0,I.Z)(n.prototype,"blocker",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d=(0,I.Z)(n.prototype,"dnt",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=(0,I.Z)(n.prototype,"custom_bypass",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=(0,I.Z)(n.prototype,"user_country",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=(0,I.Z)(n.prototype,"revision_hash",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=(0,I.Z)(n.prototype,"revision_independent_hash",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z=(0,I.Z)(n.prototype,"button_clicked",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=(0,I.Z)(n.prototype,"context",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=(0,I.Z)(n.prototype,"viewport_width",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=(0,I.Z)(n.prototype,"viewport_height",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=(0,I.Z)(n.prototype,"viewed_page",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=(0,I.Z)(n.prototype,"url_imprint",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=(0,I.Z)(n.prototype,"url_privacy_policy",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=(0,I.Z)(n.prototype,"forwarded",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=(0,I.Z)(n.prototype,"forwarded_blocker",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=(0,I.Z)(n.prototype,"tcf_string",[A.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,I.Z)(n.prototype,"revision",[A.computed],Object.getOwnPropertyDescriptor(n.prototype,"revision"),n.prototype),(0,I.Z)(n.prototype,"revision_independent",[A.computed],Object.getOwnPropertyDescriptor(n.prototype,"revision_independent"),n.prototype),(0,I.Z)(n.prototype,"custom_bypass_readable",[A.computed],Object.getOwnPropertyDescriptor(n.prototype,"custom_bypass_readable"),n.prototype),n)},6398:function(e,t,r){r.d(t,{b:function(){return m}});var n,o,i=r(38),a=r(6762),s=r(3340),c=r(3841),l=r(5952),u=r(9303),p=r(5450),f=r.n(p),h=r(8700),b=r(5408),d=r(4947),v=r(7821),y=r(6950),m=h.ClientCollection.annotate({path:"/rcb-cookie",singlePath:"/rcb-cookie/:id",namespace:"wp/v2",methods:[h.RouteHttpVerb.GET],request:b.W})((o=function(e){(0,c.Z)(r,e);var t=(0,l.Z)(r);function r(e){var n;return(0,a.Z)(this,r),(n=t.call(this)).store=void 0,n.orderCookies=(0,v.flow)(f().mark((function e(t){var r,n,o,a;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busy=!0,e.prev=1,e.next=4,(0,b.W)({location:y.I,request:{ids:t}});case 4:r=0,n=(0,i.Z)(t);try{for(n.s();!(o=n.n()).done;)a=o.value,this.entries.get(a).setOrder(r),r++}catch(e){n.e(e)}finally{n.f()}e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busy=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.store=e,n}return(0,s.Z)(r,[{key:"sortedCookies",get:function(){var e=Array.from(this.entries.values());return e.sort((function(e,t){return e.data.menu_order<t.data.menu_order?-1:e.data.menu_order>t.data.menu_order||e.key<t.key?1:e.key>t.key?-1:0})),e}},{key:"instance",value:function(e){return new d.U(this).fromResponse(e)}}]),r}(h.AbstractPostCollection),(0,u.Z)(o.prototype,"sortedCookies",[v.computed],Object.getOwnPropertyDescriptor(o.prototype,"sortedCookies"),o.prototype),n=o))||n},9208:function(e,t,r){r.d(t,{w:function(){return m}});var n,o,i=r(38),a=r(6762),s=r(3340),c=r(3841),l=r(5952),u=r(9303),p=r(5450),f=r.n(p),h=r(8700),b=r(5408),d=r(9323),v=r(7821),y=r(4876),m=h.ClientCollection.annotate({path:"/rcb-cookie-group",singlePath:"/rcb-cookie-group/:id",namespace:"wp/v2",methods:[h.RouteHttpVerb.GET],request:b.W})((o=function(e){(0,c.Z)(r,e);var t=(0,l.Z)(r);function r(e){var n;return(0,a.Z)(this,r),(n=t.call(this)).store=void 0,n.orderCookieGroups=(0,v.flow)(f().mark((function e(t){var r,n,o,a;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busy=!0,e.prev=1,e.next=4,(0,b.W)({location:y.B,request:{ids:t}});case 4:r=0,n=(0,i.Z)(t);try{for(n.s();!(o=n.n()).done;)a=o.value,this.entries.get(a).setOrder(r),r++}catch(e){n.e(e)}finally{n.f()}e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busy=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.store=e,n}return(0,s.Z)(r,[{key:"sortedGroups",get:function(){var e=Array.from(this.entries.values());return e.sort((function(e,t){return e.data.meta.order<t.data.meta.order?-1:e.data.meta.order>t.data.meta.order?1:0})),e}},{key:"instance",value:function(e){return new d.O(this).fromResponse(e)}}]),r}(h.AbstractCategoryCollection),(0,u.Z)(o.prototype,"sortedGroups",[v.computed],Object.getOwnPropertyDescriptor(o.prototype,"sortedGroups"),o.prototype),n=o))||n},9323:function(e,t,r){r.d(t,{O:function(){return Z}});var n,o,i,a,s=r(6724),c=r(6762),l=r(3340),u=r(5558),p=r(3841),f=r(5952),h=r(9303),b=r(5450),d=r.n(b),v=r(8700),y=r(5408),m=r(6398),g=r(7821),Z=v.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:y.W,create:{path:"/rcb-cookie-group"},patch:{path:"/rcb-cookie-group/:id"},delete:{path:"/rcb-cookie-group/:id"}})((o=function(e){(0,p.Z)(r,e);var t=(0,f.Z)(r);function r(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,c.Z)(this,r),n=t.call(this,e,o),(0,s.Z)(n,"cookies",i,(0,u.Z)(n)),(0,s.Z)(n,"fetchedAllCookies",a,(0,u.Z)(n)),n.fetchCookies=(0,g.flow)(d().mark((function e(){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.cookies.get({request:{status:["draft","publish","private"]},params:{per_page:100,"rcb-cookie-group":this.key,context:"edit"}});case 2:this.fetchedAllCookies=!0;case 3:case"end":return e.stop()}}),e,this)}))),(0,g.runInAction)((function(){n.cookies=new m.b((0,u.Z)(n))})),n}return(0,l.Z)(r,[{key:"cookiesCount",get:function(){return this.fetchedAllCookies?this.cookies.entries.size:this.data.count}},{key:"setName",value:function(e){this.data.name=e}},{key:"setDescription",value:function(e){this.data.description=e}},{key:"setOrder",value:function(e){this.data.meta.order=e}},{key:"afterDelete",value:function(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterPatch",value:function(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterPersist",value:function(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}}]),r}(v.AbstractCategory),i=(0,h.Z)(o.prototype,"cookies",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,h.Z)(o.prototype,"fetchedAllCookies",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,h.Z)(o.prototype,"cookiesCount",[g.computed],Object.getOwnPropertyDescriptor(o.prototype,"cookiesCount"),o.prototype),(0,h.Z)(o.prototype,"setName",[g.action],Object.getOwnPropertyDescriptor(o.prototype,"setName"),o.prototype),(0,h.Z)(o.prototype,"setDescription",[g.action],Object.getOwnPropertyDescriptor(o.prototype,"setDescription"),o.prototype),(0,h.Z)(o.prototype,"setOrder",[g.action],Object.getOwnPropertyDescriptor(o.prototype,"setOrder"),o.prototype),n=o))||n},4947:function(e,t,r){r.d(t,{U:function(){return w}});var n,o,i,a=r(2711),s=r(7228),c=r(6724),l=r(6762),u=r(3340),p=r(5558),f=r(3071),h=r(8067),b=r(3841),d=r(5952),v=r(9303),y=r(8700),m=r(5408),g=r(1974),Z=r(7821),k=r(4614),w=y.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:m.W,create:{path:"/rcb-cookie"},patch:{path:"/rcb-cookie/:id"},delete:{path:"/rcb-cookie/:id"}})((o=function(e){(0,b.Z)(r,e);var t=(0,d.Z)(r);function r(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,l.Z)(this,r),n=t.call(this,e,o),(0,c.Z)(n,"presetModel",i,(0,p.Z)(n)),n.store=void 0,(0,Z.reaction)((function(){var e;return null===(e=n.data)||void 0===e?void 0:e.preset}),(function(e){return(0,Z.runInAction)((function(){n.presetModel=e?new g.g(e,k.M.get.cookieStore):void 0}))}),{fireImmediately:!0}),n}return(0,u.Z)(r,[{key:"rootStore",get:function(){return this.collection.store.collection.store.rootStore}},{key:"tagManagerSettings",get:function(){var e=this.rootStore.optionStore;return e.others.isPro,e.setCookiesViaManager,!1}},{key:"technicalDefinitions",get:function(){return JSON.parse(this.data.meta.technicalDefinitions)}},{key:"codeDynamics",get:function(){return JSON.parse(this.data.meta.codeDynamics||"{}")}},{key:"firstTechnicalDefinition",get:function(){var e;return null===(e=this.technicalDefinitions)||void 0===e?void 0:e[0]}},{key:"afterPatch",value:function(){var e=this,t=this.collection.store.collection,r=(0,s.Z)(this.data["rcb-cookie-group"],1)[0];t.entries.forEach((function(t){r!==t.key?t.cookies.entries.delete(e.key):t.cookies.entries.set(e.key,e)})),this.rootStore.optionStore.fetchCurrentRevision(),this.rootStore.cookieStore.unassignedCookies.delete(this.key)}},{key:"setOrder",value:function(e){this.data.menu_order=e}},{key:"setName",value:function(e){this.data.title.rendered=e}},{key:"setStatus",value:function(e){this.data.status=e}},{key:"setPurpose",value:function(e){this.data.content.rendered=e}},{key:"setGroup",value:function(e){this.data["rcb-cookie-group"]=[e]}},{key:"setMeta",value:function(e){this.data.meta=e}},{key:"transformDataForPersist",value:function(){var e=(0,f.Z)((0,h.Z)(r.prototype),"transformDataForPersist",this).call(this);return(0,a.Z)((0,a.Z)({},e),{},{"rcb-cookie-group":[this.collection.store.key]})}},{key:"transformDataForPatch",value:function(){var e=(0,f.Z)((0,h.Z)(r.prototype),"transformDataForPatch",this).call(this);return{title:e.title,content:e.content,status:e.status,meta:e.meta,menu_order:e.menu_order,"rcb-cookie-group":this.data["rcb-cookie-group"],slug:e.title}}},{key:"afterDelete",value:function(){this.collection.store.cookies.store.collection.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterPersist",value:function(){var e=this.collection.store.cookies.store.collection.store.rootStore,t=e.optionStore,r=e.checklistStore;t.fetchCurrentRevision(),r.probablyFetchByChangedItem("add-cookie")}}]),r}(y.AbstractPost),i=(0,v.Z)(o.prototype,"presetModel",[Z.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,v.Z)(o.prototype,"rootStore",[Z.computed],Object.getOwnPropertyDescriptor(o.prototype,"rootStore"),o.prototype),(0,v.Z)(o.prototype,"tagManagerSettings",[Z.computed],Object.getOwnPropertyDescriptor(o.prototype,"tagManagerSettings"),o.prototype),(0,v.Z)(o.prototype,"technicalDefinitions",[Z.computed],Object.getOwnPropertyDescriptor(o.prototype,"technicalDefinitions"),o.prototype),(0,v.Z)(o.prototype,"codeDynamics",[Z.computed],Object.getOwnPropertyDescriptor(o.prototype,"codeDynamics"),o.prototype),(0,v.Z)(o.prototype,"firstTechnicalDefinition",[Z.computed],Object.getOwnPropertyDescriptor(o.prototype,"firstTechnicalDefinition"),o.prototype),(0,v.Z)(o.prototype,"afterPatch",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"afterPatch"),o.prototype),(0,v.Z)(o.prototype,"setOrder",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"setOrder"),o.prototype),(0,v.Z)(o.prototype,"setName",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"setName"),o.prototype),(0,v.Z)(o.prototype,"setStatus",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"setStatus"),o.prototype),(0,v.Z)(o.prototype,"setPurpose",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"setPurpose"),o.prototype),(0,v.Z)(o.prototype,"setGroup",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"setGroup"),o.prototype),(0,v.Z)(o.prototype,"setMeta",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"setMeta"),o.prototype),n=o))||n},1974:function(e,t,r){r.d(t,{g:function(){return v}});var n,o,i,a,s=r(6724),c=r(6762),l=r(3340),u=r(9303),p=r(5450),f=r.n(p),h=r(7821),b=r(7419),d=r(5408),v=(n=function(){function e(t,r){var n=this;(0,c.Z)(this,e),(0,s.Z)(this,"busy",o,this),(0,s.Z)(this,"data",i,this),(0,s.Z)(this,"attributes",a,this),this.store=void 0,this.fetchAttributes=(0,h.flow)(f().mark((function e(){var t;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.busy=!0,e.next=4,(0,d.W)({location:b.t,params:{identifier:this.data.identifier}});case 4:t=e.sent,this.attributes=t,e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(0),console.log(e.t0),e.t0;case 12:return e.prev=12,this.busy=!1,e.finish(12);case 15:case"end":return e.stop()}}),e,this,[[0,8,12,15]])}))),(0,h.runInAction)((function(){n.data=t})),this.store=r}return(0,l.Z)(e,[{key:"fullLogoUrl",get:function(){var e=this.data.logoFile,t=this.store.rootStore.optionStore.publicUrl;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}}]),e}(),o=(0,u.Z)(n.prototype,"busy",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,u.Z)(n.prototype,"data",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,u.Z)(n.prototype,"attributes",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,u.Z)(n.prototype,"fullLogoUrl",[h.computed],Object.getOwnPropertyDescriptor(n.prototype,"fullLogoUrl"),n.prototype),n)},6714:function(e,t,r){r.d(t,{k:function(){return o}});var n=r(6762),o=function e(t,r){(0,n.Z)(this,e),this.data=void 0,this.store=void 0,this.data=t,this.store=r}},6172:function(e,t,r){r.d(t,{I:function(){return o}});var n=r(6762),o=function e(t,r){(0,n.Z)(this,e),this.data=void 0,this.store=void 0,this.data=t,this.store=r}},5277:function(e,t,r){r.d(t,{o:function(){return v}});var n,o,i,a=r(6724),s=r(6762),c=r(3340),l=r(9303),u=r(5450),p=r.n(u),f=r(7821),h=r(4375),b=r(5408),d=r(5071),v=(n=function(){function e(t,r){var n=this;(0,s.Z)(this,e),(0,a.Z)(this,"busy",o,this),(0,a.Z)(this,"data",i,this),this.store=void 0,this.ignore=(0,f.flow)(p().mark((function e(){var t,r=arguments;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=!(r.length>1&&void 0!==r[1])||r[1],e.prev=1,e.next=4,(0,b.W)({location:h.C,request:{ignored:t},params:{host:this.data.host}});case 4:this.data.ignored=t,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),console.log(e.t0),e.t0;case 11:case"end":return e.stop()}}),e,this,[[1,7]])}))),(0,f.runInAction)((function(){n.data=t})),this.store=r}return(0,c.Z)(e,[{key:"inactive",get:function(){return"full"===this.blockedStatus||this.data.ignored}},{key:"blockedStatus",get:function(){var e=this.data,t=e.foundCount,r=e.blockedCount;return 0===r?"none":t===r?"full":"partial"}},{key:"blockedStatusText",get:function(){switch(this.blockedStatus){case"full":return(0,d.__)("Fully blocked");case"partial":return(0,d.__)("Partially blocked");default:return(0,d.__)("Not blocked")}}}]),e}(),o=(0,l.Z)(n.prototype,"busy",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,l.Z)(n.prototype,"data",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,l.Z)(n.prototype,"inactive",[f.computed],Object.getOwnPropertyDescriptor(n.prototype,"inactive"),n.prototype),(0,l.Z)(n.prototype,"blockedStatus",[f.computed],Object.getOwnPropertyDescriptor(n.prototype,"blockedStatus"),n.prototype),(0,l.Z)(n.prototype,"blockedStatusText",[f.computed],Object.getOwnPropertyDescriptor(n.prototype,"blockedStatusText"),n.prototype),n)},5482:function(e,t,r){r.d(t,{a:function(){return b}});var n,o,i,a=r(6724),s=r(6762),c=r(3340),l=r(9303),u=r(5450),p=r.n(u),f=r(7821),h=r(9522),b=(n=function(){function e(t,r){var n=this;(0,s.Z)(this,e),(0,a.Z)(this,"busy",o,this),(0,a.Z)(this,"data",i,this),this.store=void 0,this.fetchMarkup=(0,f.flow)(p().mark((function e(){return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.store.fetchMarkup(this.data.id);case 2:case"end":return e.stop()}}),e,this)}))),(0,f.runInAction)((function(){n.data=t})),this.store=r}return(0,c.Z)(e,[{key:"markup",get:function(){return this.store.resultMarkup.get(this.data.id)}},{key:"blockedUrlTruncate",get:function(){return(0,h.r)(this.data.blockedUrl,50,"[...]")}},{key:"sourceUrlTruncate",get:function(){return(0,h.r)(this.data.sourceUrl,50,"[...]")}}]),e}(),o=(0,l.Z)(n.prototype,"busy",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,l.Z)(n.prototype,"data",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,l.Z)(n.prototype,"markup",[f.computed],Object.getOwnPropertyDescriptor(n.prototype,"markup"),n.prototype),(0,l.Z)(n.prototype,"blockedUrlTruncate",[f.computed],Object.getOwnPropertyDescriptor(n.prototype,"blockedUrlTruncate"),n.prototype),(0,l.Z)(n.prototype,"sourceUrlTruncate",[f.computed],Object.getOwnPropertyDescriptor(n.prototype,"sourceUrlTruncate"),n.prototype),n)},1435:function(e,t,r){r.d(t,{g:function(){return y}});var n,o,i,a,s=r(6724),c=r(6762),l=r(3340),u=r(9303),p=r(5450),f=r.n(p),h=r(7821),b=r(5408),d=r(5071),v=r(3506),y=(n=function(){function e(t,r){var n=this;(0,c.Z)(this,e),(0,s.Z)(this,"busy",o,this),(0,s.Z)(this,"data",i,this),(0,s.Z)(this,"attributes",a,this),this.store=void 0,this.fetchAttributes=(0,h.flow)(f().mark((function e(){var t;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.busy=!0,e.next=4,(0,b.W)({location:v.N,params:{identifier:this.data.identifier}});case 4:t=e.sent,this.attributes=t,e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(0),console.log(e.t0),e.t0;case 12:return e.prev=12,this.busy=!1,e.finish(12);case 15:case"end":return e.stop()}}),e,this,[[0,8,12,15]])}))),(0,h.runInAction)((function(){n.data=t})),this.store=r}return(0,l.Z)(e,[{key:"fullLogoUrl",get:function(){var e=this.data.logoFile,t=this.store.rootStore.optionStore.publicUrl;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}},{key:"inactive",get:function(){var e;return!(null===(e=this.data.tags)||void 0===e||!e[(0,d.__)("Already exists")])}}]),e}(),o=(0,u.Z)(n.prototype,"busy",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,u.Z)(n.prototype,"data",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,u.Z)(n.prototype,"attributes",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,u.Z)(n.prototype,"fullLogoUrl",[h.computed],Object.getOwnPropertyDescriptor(n.prototype,"fullLogoUrl"),n.prototype),(0,u.Z)(n.prototype,"inactive",[h.computed],Object.getOwnPropertyDescriptor(n.prototype,"inactive"),n.prototype),n)},9081:function(e,t,r){r.d(t,{i:function(){return u}});var n,o,i,a=r(6724),s=r(6762),c=r(9303),l=r(7821),u=(n=function e(t,r,n){var c=this;(0,s.Z)(this,e),(0,a.Z)(this,"data",o,this),(0,a.Z)(this,"special",i,this),this.store=void 0,(0,l.runInAction)((function(){c.special=r,c.data=t})),this.store=n},o=(0,c.Z)(n.prototype,"data",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i=(0,c.Z)(n.prototype,"special",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n)},3116:function(e,t,r){r.d(t,{v:function(){return u}});var n,o,i,a=r(6724),s=r(6762),c=r(9303),l=r(7821),u=(n=function e(t,r,n){var c=this;(0,s.Z)(this,e),(0,a.Z)(this,"data",o,this),(0,a.Z)(this,"special",i,this),this.store=void 0,(0,l.runInAction)((function(){c.special=r,c.data=t})),this.store=n},o=(0,c.Z)(n.prototype,"data",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i=(0,c.Z)(n.prototype,"special",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n)},3025:function(e,t,r){r.d(t,{C:function(){return h}});var n,o,i=r(7870),a=r(38),s=r(6724),c=r(6762),l=r(3340),u=r(9303),p=r(7821),f=r(3055),h=(n=function(){function e(t,r){var n=this;(0,c.Z)(this,e),(0,s.Z)(this,"data",o,this),this.store=void 0,(0,p.runInAction)((function(){n.data=t})),this.store=r}return(0,l.Z)(e,[{key:"vendorConfiguration",get:function(){var e,t=(0,a.Z)(this.store.vendorConfigurations.entries.values());try{for(t.s();!(e=t.n()).done;){var r=e.value;if(r.vendorModel.data.id===this.data.id)return r}}catch(e){t.e(e)}finally{t.f()}}},{key:"deviceStorageDisclosure",get:function(){var e=this.data,t=e.usesCookies,r=e.cookieMaxAgeSeconds,n=e.cookieRefresh,o=e.usesNonCookieAccess,a=e.deviceStorageDisclosure,s=null!=a&&a.disclosures.length?(0,i.Z)(a.disclosures):[];return o&&s.unshift({type:f.r.Web,identifier:"*",purposes:void 0,cookieRefresh:void 0,domain:"*",maxAgeSeconds:null}),t&&s.unshift({type:f.r.Cookie,identifier:"*",purposes:void 0,cookieRefresh:n,domain:"*",maxAgeSeconds:r}),s}},{key:"allPurposes",get:function(){return[].concat((0,i.Z)(this.legIntPurposes),(0,i.Z)(this.purposes),(0,i.Z)(this.specialPurposes)).filter(Boolean)}},{key:"allFeatures",get:function(){return[].concat((0,i.Z)(this.features),(0,i.Z)(this.specialFeatures)).filter(Boolean)}},{key:"restrictivePurposes",get:function(){for(var e={normal:{}},t=0,r=[].concat((0,i.Z)(this.legIntPurposes),(0,i.Z)(this.purposes));t<r.length;t++){var n=r[t];e.normal[n.data.id.toString()]={enabled:!0,legInt:this.legIntPurposes.indexOf(n)>-1&&!n.special?"yes":"no"}}return e}},{key:"purposes",get:function(){var e,t=this;return null===(e=this.data)||void 0===e?void 0:e.purposes.map((function(e){return t.store.purposes.get("".concat(e))}))}},{key:"legIntPurposes",get:function(){var e,t=this;return null===(e=this.data)||void 0===e?void 0:e.legIntPurposes.map((function(e){return t.store.purposes.get("".concat(e))}))}},{key:"flexiblePurposes",get:function(){var e,t=this;return null===(e=this.data)||void 0===e?void 0:e.flexiblePurposes.map((function(e){return t.store.purposes.get("".concat(e))}))}},{key:"specialPurposes",get:function(){var e,t=this;return null===(e=this.data)||void 0===e?void 0:e.specialPurposes.map((function(e){return t.store.specialPurposes.get("".concat(e))}))}},{key:"features",get:function(){var e,t=this;return null===(e=this.data)||void 0===e?void 0:e.features.map((function(e){return t.store.features.get("".concat(e))}))}},{key:"specialFeatures",get:function(){var e,t=this;return null===(e=this.data)||void 0===e?void 0:e.specialFeatures.map((function(e){return t.store.specialFeatures.get("".concat(e))}))}}]),e}(),o=(0,u.Z)(n.prototype,"data",[p.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,u.Z)(n.prototype,"vendorConfiguration",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"vendorConfiguration"),n.prototype),(0,u.Z)(n.prototype,"deviceStorageDisclosure",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"deviceStorageDisclosure"),n.prototype),(0,u.Z)(n.prototype,"allPurposes",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"allPurposes"),n.prototype),(0,u.Z)(n.prototype,"allFeatures",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"allFeatures"),n.prototype),(0,u.Z)(n.prototype,"restrictivePurposes",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"restrictivePurposes"),n.prototype),(0,u.Z)(n.prototype,"purposes",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"purposes"),n.prototype),(0,u.Z)(n.prototype,"legIntPurposes",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"legIntPurposes"),n.prototype),(0,u.Z)(n.prototype,"flexiblePurposes",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"flexiblePurposes"),n.prototype),(0,u.Z)(n.prototype,"specialPurposes",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"specialPurposes"),n.prototype),(0,u.Z)(n.prototype,"features",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"features"),n.prototype),(0,u.Z)(n.prototype,"specialFeatures",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"specialFeatures"),n.prototype),n)},597:function(e,t,r){r.d(t,{C:function(){return p}});var n,o=r(6762),i=r(3340),a=r(3841),s=r(5952),c=r(8700),l=r(5408),u=r(6215),p=c.ClientCollection.annotate({path:"/rcb-tcf-vendor-conf",singlePath:"/rcb-tcf-vendor-conf/:id",namespace:"wp/v2",methods:[c.RouteHttpVerb.GET],request:l.W})(n=function(e){(0,a.Z)(r,e);var t=(0,s.Z)(r);function r(e){var n;return(0,o.Z)(this,r),(n=t.call(this)).store=void 0,n.store=e,n}return(0,i.Z)(r,[{key:"instance",value:function(e){return new u.S(this).fromResponse(e)}}]),r}(c.AbstractPostCollection))||n},6215:function(e,t,r){r.d(t,{S:function(){return w}});var n,o,i,a=r(7870),s=r(6724),c=r(6762),l=r(3340),u=r(5558),p=r(3071),f=r(8067),h=r(3841),b=r(5952),d=r(9303),v=r(8700),y=r(5408),m=r(7821),g=r(3025),Z=r(5311),k=r.n(Z),w=v.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:y.W,create:{path:"/rcb-tcf-vendor-conf"},patch:{path:"/rcb-tcf-vendor-conf/:id"},delete:{path:"/rcb-tcf-vendor-conf/:id"}})((o=function(e){(0,h.Z)(r,e);var t=(0,b.Z)(r);function r(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,c.Z)(this,r),n=t.call(this,e,o),(0,s.Z)(n,"vendorModel",i,(0,u.Z)(n)),(0,m.reaction)((function(){return n.data.vendor}),(function(e){return(0,m.runInAction)((function(){if(e){var t=n.collection.store.vendors,r=e.id.toString(),o=t.get(r);o||(o=new g.C(e,n.collection.store),t.set(r,o)),n.vendorModel=o}}))}),{fireImmediately:!0}),(0,m.reaction)((function(){var e;return null===(e=n.data.meta)||void 0===e?void 0:e.vendorId}),(function(e){e&&(n.vendorModel=n.collection.store.vendors.get(e.toString()))}),{fireImmediately:!0}),n}return(0,l.Z)(r,[{key:"restrictivePurposes",get:function(){var e,t,r="global"===this.collection.store.rootStore.optionStore.tcfScopeOfConsent,n=(null===(e=this.vendorModel)||void 0===e?void 0:e.restrictivePurposes)||{normal:{}};if(r)return n;var o=JSON.parse(this.data.meta.restrictivePurposes);return k().extend(!0,{},(null===(t=this.vendorModel)||void 0===t?void 0:t.restrictivePurposes)||{},o)}},{key:"stats",get:function(){var e,t=this.restrictivePurposes.normal,r=(0,a.Z)(Object.values(t));return{activePurposes:r.filter((function(e){return e.enabled})).length,legIntPurposes:r.filter((function(e){var t=e.enabled,r=e.legInt;return t&&"yes"===r})).length,activeFeatures:(null===(e=this.vendorModel)||void 0===e?void 0:e.allFeatures.length)||0}}},{key:"setStatus",value:function(e){this.data.status=e}},{key:"setMeta",value:function(e){this.data.meta=e}},{key:"transformDataForPatch",value:function(){var e=(0,p.Z)((0,f.Z)(r.prototype),"transformDataForPatch",this).call(this);return{status:e.status,meta:e.meta}}},{key:"afterPatch",value:function(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterDelete",value:function(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterPersist",value:function(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}}]),r}(v.AbstractPost),i=(0,d.Z)(o.prototype,"vendorModel",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,d.Z)(o.prototype,"restrictivePurposes",[m.computed],Object.getOwnPropertyDescriptor(o.prototype,"restrictivePurposes"),o.prototype),(0,d.Z)(o.prototype,"stats",[m.computed],Object.getOwnPropertyDescriptor(o.prototype,"stats"),o.prototype),(0,d.Z)(o.prototype,"setStatus",[m.action],Object.getOwnPropertyDescriptor(o.prototype,"setStatus"),o.prototype),(0,d.Z)(o.prototype,"setMeta",[m.action],Object.getOwnPropertyDescriptor(o.prototype,"setMeta"),o.prototype),n=o))||n},7052:function(e,t,r){r.d(t,{L:function(){return k}});var n,o,i,a=r(2711),s=r(6724),c=r(6762),l=r(3340),u=r(5558),p=r(3841),f=r(5952),h=r(9303),b=r(5450),d=r.n(b),v=r(7821),y=r(8700),m=r(6127),g=r(6410),Z=r(5408),k=(n=function(e){(0,p.Z)(r,e);var t=(0,f.Z)(r);function r(e){var n;return(0,c.Z)(this,r),n=t.call(this),(0,s.Z)(n,"busyChecklist",o,(0,u.Z)(n)),(0,s.Z)(n,"checklist",i,(0,u.Z)(n)),n.rootStore=void 0,n.probablyFetchByChangedItem=(0,v.flow)(d().mark((function e(t,r){var n;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r){e.next=4;break}return e.next=3,this.fetchChecklist();case 3:return e.abrupt("return");case 4:if(n=Array.isArray(t)?t:[t],!(this.items.filter((function(e){var t=e.id,r=e.checked;return n.indexOf(t)>-1&&!r})).length>0)){e.next=8;break}return e.next=8,this.fetchChecklist();case 8:case"end":return e.stop()}}),e,this)}))),n.fetchChecklist=(0,v.flow)(d().mark((function e(){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyChecklist=!0,e.prev=1,e.next=4,(0,Z.W)({location:m.g,params:{_wp_http_referer:window.location.href}});case 4:this.checklist=e.sent,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),console.log(e.t0),e.t0;case 11:return e.prev=11,this.busyChecklist=!1,e.finish(11);case 14:case"end":return e.stop()}}),e,this,[[1,7,11,14]])}))),n.toggleChecklistItem=(0,v.flow)(d().mark((function e(t,r){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyChecklist=!0,e.prev=1,e.next=4,(0,Z.W)({location:g.s,request:{state:r},params:{id:t,_wp_http_referer:window.location.href}});case 4:this.checklist=e.sent,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),console.log(e.t0),e.t0;case 11:return e.prev=11,this.busyChecklist=!1,e.finish(11);case 14:case"end":return e.stop()}}),e,this,[[1,7,11,14]])}))),n.rootStore=e,n}return(0,l.Z)(r,[{key:"items",get:function(){var e=this;return this.checklist&&Object.keys(this.checklist.items).map((function(t){return(0,a.Z)({id:t},e.checklist.items[t])}))||[]}},{key:"completed",get:function(){return this.items.filter((function(e){return e.checked}))}},{key:"checkable",get:function(){var e=this.rootStore.optionStore.others.isPro;return this.items.filter((function(t){var r=t.needsPro;return!r||e&&r}))}},{key:"done",get:function(){var e;return this.completed.length>=this.checkable.length||!(null===(e=this.checklist)||void 0===e||!e.dismissed)}}]),r}(y.BaseOptions),o=(0,h.Z)(n.prototype,"busyChecklist",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,h.Z)(n.prototype,"checklist",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,h.Z)(n.prototype,"items",[v.computed],Object.getOwnPropertyDescriptor(n.prototype,"items"),n.prototype),(0,h.Z)(n.prototype,"completed",[v.computed],Object.getOwnPropertyDescriptor(n.prototype,"completed"),n.prototype),(0,h.Z)(n.prototype,"checkable",[v.computed],Object.getOwnPropertyDescriptor(n.prototype,"checkable"),n.prototype),(0,h.Z)(n.prototype,"done",[v.computed],Object.getOwnPropertyDescriptor(n.prototype,"done"),n.prototype),n)},6159:function(e,t,r){r.d(t,{v:function(){return I}});var n,o,i,a,s,c,l,u,p,f,h=r(38),b=r(6724),d=r(6762),v=r(3340),y=r(5558),m=r(3841),g=r(5952),Z=r(9303),k=r(5450),w=r.n(k),R=r(7821),C=r(8700),P=r(5408),S=r(5634),E=r(6778),_=r(3985),x=r(3480),O=r(7141),D=r(6565),z=r(6714),T=r(6172),I=(n=function(e){(0,m.Z)(r,e);var t=(0,g.Z)(r);function r(e){var n;return(0,d.Z)(this,r),n=t.call(this),(0,b.Z)(n,"busyConsent",o,(0,y.Z)(n)),(0,b.Z)(n,"busyReferer",i,(0,y.Z)(n)),(0,b.Z)(n,"count",a,(0,y.Z)(n)),(0,b.Z)(n,"perPage",s,(0,y.Z)(n)),(0,b.Z)(n,"offset",c,(0,y.Z)(n)),(0,b.Z)(n,"pageCollection",l,(0,y.Z)(n)),(0,b.Z)(n,"revisions",u,(0,y.Z)(n)),(0,b.Z)(n,"revisionsIndependent",p,(0,y.Z)(n)),(0,b.Z)(n,"referer",f,(0,y.Z)(n)),n.filters=R.observable.object({page:1,dates:[void 0,void 0],context:void 0,referer:void 0,ip:void 0,uuid:void 0},{},{deep:!1}),n.rootStore=void 0,n.fetchAll=(0,R.flow)(w().mark((function e(){var t,r,n,o,i,a,s,c,l,u,p,f,b;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyConsent=!0,e.prev=1,t=this.filters,r=t.page,n=t.referer,o=t.ip,i=t.uuid,a=t.context,s=this.filters.dates.map((function(e){return e?e.format("YYYY-MM-DD"):""})),e.next=6,(0,P.W)({location:S.c,params:{per_page:this.perPage,offset:(r-1)*this.perPage,from:s[0],to:s[1],ip:o,uuid:i,referer:n,context:a}});case 6:c=e.sent,l=c.count,u=c.items,this.count=l,this.pageCollection.clear(),p=(0,h.Z)(u);try{for(p.s();!(f=p.n()).done;)b=f.value,this.pageCollection.set(b.id,new D.y(b,this))}catch(e){p.e(e)}finally{p.f()}e.next=19;break;case 15:throw e.prev=15,e.t0=e.catch(1),console.log(e.t0),e.t0;case 19:return e.prev=19,this.busyConsent=!1,e.finish(19);case 22:case"end":return e.stop()}}),e,this,[[1,15,19,22]])}))),n.fetchRevision=(0,R.flow)(w().mark((function e(t){var r;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,P.W)({location:E.Z,params:t});case 3:r=e.sent,this.revisions.set(t.hash,new z.k(r,this)),e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(0),console.log(e.t0),e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,7]])}))),n.fetchRevisionIndependent=(0,R.flow)(w().mark((function e(t){var r;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,P.W)({location:_.T,params:t});case 3:r=e.sent,this.revisionsIndependent.set(t.hash,new T.I(r,this)),e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(0),console.log(e.t0),e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,7]])}))),n.fetchReferer=(0,R.flow)(w().mark((function e(t){var r;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyReferer=!0,e.prev=1,e.next=4,(0,P.W)({location:x.q,params:t});case 4:r=e.sent,this.referer=r.items,e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(1),console.log(e.t0),e.t0;case 12:return e.prev=12,this.busyReferer=!1,e.finish(12);case 15:case"end":return e.stop()}}),e,this,[[1,8,12,15]])}))),n.deleteAll=(0,R.flow)(w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyConsent=!0,e.prev=1,e.next=4,(0,P.W)({location:O.O});case 4:return this.applyPage(0),e.next=7,this.fetchAll();case 7:e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busyConsent=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.rootStore=e,(0,R.runInAction)((function(){n.filters.context=n.rootStore.optionStore.others.context})),n}return(0,v.Z)(r,[{key:"applyPage",value:function(e){this.filters.page=e}},{key:"applyDates",value:function(e){this.filters.dates=e}},{key:"applyContext",value:function(e){this.filters.context=e}},{key:"applyReferer",value:function(e){this.filters.referer=e}},{key:"applyIp",value:function(e){this.filters.ip=e}},{key:"applyUuid",value:function(e){this.filters.uuid=e}}]),r}(C.BaseOptions),o=(0,Z.Z)(n.prototype,"busyConsent",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,Z.Z)(n.prototype,"busyReferer",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,Z.Z)(n.prototype,"count",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),s=(0,Z.Z)(n.prototype,"perPage",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 50}}),c=(0,Z.Z)(n.prototype,"offset",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),l=(0,Z.Z)(n.prototype,"pageCollection",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),u=(0,Z.Z)(n.prototype,"revisions",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),p=(0,Z.Z)(n.prototype,"revisionsIndependent",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),f=(0,Z.Z)(n.prototype,"referer",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),(0,Z.Z)(n.prototype,"applyPage",[R.action],Object.getOwnPropertyDescriptor(n.prototype,"applyPage"),n.prototype),(0,Z.Z)(n.prototype,"applyDates",[R.action],Object.getOwnPropertyDescriptor(n.prototype,"applyDates"),n.prototype),(0,Z.Z)(n.prototype,"applyContext",[R.action],Object.getOwnPropertyDescriptor(n.prototype,"applyContext"),n.prototype),(0,Z.Z)(n.prototype,"applyReferer",[R.action],Object.getOwnPropertyDescriptor(n.prototype,"applyReferer"),n.prototype),(0,Z.Z)(n.prototype,"applyIp",[R.action],Object.getOwnPropertyDescriptor(n.prototype,"applyIp"),n.prototype),(0,Z.Z)(n.prototype,"applyUuid",[R.action],Object.getOwnPropertyDescriptor(n.prototype,"applyUuid"),n.prototype),n)},8069:function(e,t,r){r.d(t,{h:function(){return _}});var n,o,i,a,s,c,l,u,p,f,h=r(6724),b=r(6762),d=r(3340),v=r(9303),y=r(5450),m=r.n(y),g=r(7821),Z=r(9338),k=r(1974),w=r(9208),R=r(480),C=r(340),P=r(7539),S=r(4017),E=r(5408),_=(n=function(){function e(t){var r=this;(0,b.Z)(this,e),(0,h.Z)(this,"busy",o,this),(0,h.Z)(this,"groups",i,this),(0,h.Z)(this,"unassignedCookies",a,this),(0,h.Z)(this,"blockers",s,this),(0,h.Z)(this,"presetsBlocker",c,this),(0,h.Z)(this,"busyPresetsBlocker",l,this),(0,h.Z)(this,"presetsCookie",u,this),(0,h.Z)(this,"busyPresetsCookie",p,this),(0,h.Z)(this,"fetchedAllBlockers",f,this),this.rootStore=void 0,this.fetchGroups=(0,g.flow)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.groups.get({params:{per_page:100}});case 2:return e.next=4,this.fetchUnassignedCookies();case 4:case"end":return e.stop()}}),e,this)}))),this.fetchUnassignedCookies=(0,g.flow)(m().mark((function e(){var t,r,n,o;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,E.W)({location:C.p});case 3:for(t=e.sent,r=0,n=Object.values(t);r<n.length;r++)o=n[r],this.unassignedCookies.set(o.id,o);e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(0),console.log(e.t0),e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,7]])}))),this.fetchBlockers=(0,g.flow)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.blockers.get({request:{status:["draft","publish","private"]},params:{per_page:100,context:"edit"}});case 2:this.fetchedAllBlockers=!0;case 3:case"end":return e.stop()}}),e,this)}))),this.fetchPresetsBlocker=(0,g.flow)(m().mark((function e(){var t,r,n,o,i;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyPresetsBlocker=!0,e.prev=1,e.next=4,(0,E.W)({location:P.W});case 4:for(t=e.sent,r=t.items,n=0,o=Object.keys(r);n<o.length;n++)i=o[n],this.presetsBlocker.set(i,new Z.w(r[i],this));e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busyPresetsBlocker=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),this.fetchPresetsCookie=(0,g.flow)(m().mark((function e(){var t,r,n,o,i;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyPresetsCookie=!0,e.prev=1,e.next=4,(0,E.W)({location:S.z});case 4:for(t=e.sent,r=t.items,n=0,o=Object.keys(r);n<o.length;n++)i=o[n],this.presetsCookie.set(i,new k.g(r[i],this));e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busyPresetsCookie=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),this.rootStore=t,(0,g.runInAction)((function(){r.groups=new w.w(r),r.blockers=new R.R(r)}))}return(0,d.Z)(e,[{key:"blockersCount",get:function(){return this.fetchedAllBlockers?this.blockers.entries.size:this.rootStore.optionStore.allBlockerCount}},{key:"cookiesCount",get:function(){return Array.from(this.groups.entries.values()).map((function(e){return e.cookiesCount})).reduce((function(e,t){return e+t}),0)}},{key:"essentialGroup",get:function(){if(0!==this.groups.entries.size){for(var e,t=this.groups.entries.values();(e=t.next().value)&&e.data.slug!==this.rootStore.optionStore.others.essentialGroup;);return e}}}]),e}(),o=(0,v.Z)(n.prototype,"busy",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,v.Z)(n.prototype,"groups",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,v.Z)(n.prototype,"unassignedCookies",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),s=(0,v.Z)(n.prototype,"blockers",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=(0,v.Z)(n.prototype,"presetsBlocker",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),l=(0,v.Z)(n.prototype,"busyPresetsBlocker",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),u=(0,v.Z)(n.prototype,"presetsCookie",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),p=(0,v.Z)(n.prototype,"busyPresetsCookie",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),f=(0,v.Z)(n.prototype,"fetchedAllBlockers",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,v.Z)(n.prototype,"blockersCount",[g.computed],Object.getOwnPropertyDescriptor(n.prototype,"blockersCount"),n.prototype),(0,v.Z)(n.prototype,"cookiesCount",[g.computed],Object.getOwnPropertyDescriptor(n.prototype,"cookiesCount"),n.prototype),(0,v.Z)(n.prototype,"essentialGroup",[g.computed],Object.getOwnPropertyDescriptor(n.prototype,"essentialGroup"),n.prototype),n)},5619:function(e,t,r){r.d(t,{W:function(){return C}});var n,o,i,a,s,c,l,u=r(7228),p=r(38),f=r(2711),h=r(6724),b=r(6762),d=r(3340),v=r(9303),y=r(5450),m=r.n(y),g=r(7821),Z=r(9444),k=r(5408),w=r(62),R=r(490),C=(n=function(){function e(t){(0,b.Z)(this,e),(0,h.Z)(this,"visible",o,this),(0,h.Z)(this,"animationVisible",i,this),(0,h.Z)(this,"individualPrivacyOpen",a,this),(0,h.Z)(this,"previewCheckboxActiveState",s,this),(0,h.Z)(this,"busyPresets",c,this),(0,h.Z)(this,"presets",l,this),this.rootStore=void 0,this.presetConstants=new Map,this.presetDefaults=new Map,this.debounceFromCustomize={},this.fetchPresets=(0,g.flow)(m().mark((function e(){var t,r,n,o,i,a,s,c,l,u,p,h,b;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyPresets=!0,e.prev=1,e.next=4,(0,k.W)({location:Z.t});case 4:for(t=e.sent,r=t.defaults,n=t.constants,o=t.items,i=0,a=Object.keys(r);i<a.length;i++)s=a[i],this.presetDefaults.set(s,r[s]);for(c=0,l=Object.keys(n);c<l.length;c++)u=l[c],this.presetConstants.set(u,n[u]);for(p=0,h=Object.keys(o);p<h.length;p++)b=h[p],this.presets.set(b,new w.p((0,f.Z)({id:b},o[b]),this));e.next=17;break;case 13:throw e.prev=13,e.t0=e.catch(1),console.log(e.t0),e.t0;case 17:return e.prev=17,this.busyPresets=!1,e.finish(17);case 20:case"end":return e.stop()}}),e,this,[[1,13,17,20]])}))),this.rootStore=t}return(0,d.Z)(e,[{key:"setBannerFromCustomize",value:function(e,t,r){var n=this,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=this.rootStore.optionStore.others.customizeValuesBanner,a=t.toString();if(o&&["css","animationInDuration","animationOutDuration"].indexOf(a)>-1)clearTimeout(this.debounceFromCustomize[a]),this.debounceFromCustomize[a]=setTimeout((function(){return n.setBannerFromCustomize(e,t,r,!1)}),500);else{var s=i[e][t];i[e][t]=r,a.startsWith("animationOut")&&s!==r&&this.forceAnimationOutSimulation()}}},{key:"setBannerFromPreset",value:function(e){var t,r=(0,p.Z)(e);try{for(r.s();!(t=r.n()).done;){var n=t.value,o=(0,u.Z)(n,3),i=o[0],a=o[1],s=o[2];this.rootStore.optionStore.others.customizeValuesBanner[i][a]=s}}catch(e){r.e(e)}finally{r.f()}}},{key:"forceAnimationOutSimulation",value:function(){var e=this,t=this.rootStore.optionStore.others.customizeValuesBanner;"none"!==t.layout.animationOut&&(this.animationVisible=!1,setTimeout((function(){return(0,g.runInAction)((function(){e.animationVisible=!0}))}),+t.layout.animationOutDuration+1e3))}},{key:"setVisible",value:function(e){this.visible=e}},{key:"setIndividualPrivacyOpen",value:function(e){this.individualPrivacyOpen=e}},{key:"setPreviewCheckboxActiveState",value:function(e){this.previewCheckboxActiveState=e}},{key:"exportPhp",value:function(){var e=this,t={},r=(0,R.getSidebarCustomize)();return this.presetDefaults.forEach((function(n,o){var i=r(o).get();"boolean"==typeof n?i=!!+i:isNaN(i)||""===i||(i=+i),JSON.stringify(n)!==JSON.stringify(i)&&(t[e.presetConstants.get(o)]=i)})),this.jsonToPHPArray(t)}},{key:"jsonToPHPArray",value:function(e){var t=JSON.stringify(e,null,4).split("\n");return t.shift(),t.pop(),t.join("\n").replace(/^(\s+)"([A-Za-z\\]+::[A-Z_]+)"(:)/gm,"$1$2 =>").replace(/^(\s+)([A-Za-z\\]+)::/gm,(function(e,t,r){return"".concat(t).concat(r.replace(/\\\\/gm,"\\"),"::")}))}}]),e}(),o=(0,v.Z)(n.prototype,"visible",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,v.Z)(n.prototype,"animationVisible",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),a=(0,v.Z)(n.prototype,"individualPrivacyOpen",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,v.Z)(n.prototype,"previewCheckboxActiveState",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),c=(0,v.Z)(n.prototype,"busyPresets",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),l=(0,v.Z)(n.prototype,"presets",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,v.Z)(n.prototype,"setBannerFromCustomize",[g.action],Object.getOwnPropertyDescriptor(n.prototype,"setBannerFromCustomize"),n.prototype),(0,v.Z)(n.prototype,"setBannerFromPreset",[g.action],Object.getOwnPropertyDescriptor(n.prototype,"setBannerFromPreset"),n.prototype),(0,v.Z)(n.prototype,"forceAnimationOutSimulation",[g.action],Object.getOwnPropertyDescriptor(n.prototype,"forceAnimationOutSimulation"),n.prototype),(0,v.Z)(n.prototype,"setVisible",[g.action],Object.getOwnPropertyDescriptor(n.prototype,"setVisible"),n.prototype),(0,v.Z)(n.prototype,"setIndividualPrivacyOpen",[g.action],Object.getOwnPropertyDescriptor(n.prototype,"setIndividualPrivacyOpen"),n.prototype),(0,v.Z)(n.prototype,"setPreviewCheckboxActiveState",[g.action],Object.getOwnPropertyDescriptor(n.prototype,"setPreviewCheckboxActiveState"),n.prototype),n)},5187:function(e,t,r){r.d(t,{My:function(){return n.M},mZ:function(){return n.m},aZ:function(){return o.a},WS:function(){return i.W},hc:function(){return a.h},v:function(){return s.v},et:function(){return c.e},L_:function(){return l.L},z:function(){return u.z},Cu:function(){return p.C}});var n=r(4614),o=r(5656),i=r(5619),a=r(8069),s=r(6159),c=r(3596),l=r(7052),u=r(4605),p=r(103)},5656:function(e,t,r){r.d(t,{a:function(){return ge}});var n,o,i,a,s,c,l,u,p,f,h,b,d,v,y,m,g,Z,k,w,R,C,P,S,E,_,x,O,D,z,T,I,A,M,B,N,j,U,V,F,G,W,L,H,q,Y,J,Q,X,$=r(2711),K=r(6724),ee=r(6762),te=r(3340),re=r(5558),ne=r(3841),oe=r(5952),ie=r(9303),ae=r(5450),se=r.n(ae),ce=r(7821),le=r(8700),ue=r(74),pe=r(939),fe=r(6799),he=r(8064),be=r(365),de=r(2391),ve=r(9001),ye=r(5408),me=r(7597),ge=(n=function(e){(0,ne.Z)(r,e);var t=(0,oe.Z)(r);function r(e){var n;return(0,ee.Z)(this,r),n=t.call(this),(0,K.Z)(n,"busySettings",o,(0,re.Z)(n)),(0,K.Z)(n,"busyCountryBypassUpdate",i,(0,re.Z)(n)),(0,K.Z)(n,"needsRevisionRetrigger",a,(0,re.Z)(n)),(0,K.Z)(n,"publicCookieCount",s,(0,re.Z)(n)),(0,K.Z)(n,"allCookieCount",c,(0,re.Z)(n)),(0,K.Z)(n,"allBlockerCount",l,(0,re.Z)(n)),(0,K.Z)(n,"allTcfVendorConfigurationCount",u,(0,re.Z)(n)),(0,K.Z)(n,"allScannerResultPresetsCount",p,(0,re.Z)(n)),(0,K.Z)(n,"allScannerResultExternalUrlsCount",f,(0,re.Z)(n)),(0,K.Z)(n,"cookieCounts",h,(0,re.Z)(n)),(0,K.Z)(n,"tcfVendorConfigurationCounts",b,(0,re.Z)(n)),(0,K.Z)(n,"hasGTM",d,(0,re.Z)(n)),(0,K.Z)(n,"hasMTM",v,(0,re.Z)(n)),(0,K.Z)(n,"contexts",y,(0,re.Z)(n)),(0,K.Z)(n,"dashboardMigration",m,(0,re.Z)(n)),(0,K.Z)(n,"bannerActive",g,(0,re.Z)(n)),(0,K.Z)(n,"blockerActive",Z,(0,re.Z)(n)),(0,K.Z)(n,"refreshSiteAfterConsent",k,(0,re.Z)(n)),(0,K.Z)(n,"imprintId",w,(0,re.Z)(n)),(0,K.Z)(n,"imprintExternalUrl",R,(0,re.Z)(n)),(0,K.Z)(n,"imprintIsExternalUrl",C,(0,re.Z)(n)),(0,K.Z)(n,"privacyPolicyId",P,(0,re.Z)(n)),(0,K.Z)(n,"privacyPolicyExternalUrl",S,(0,re.Z)(n)),(0,K.Z)(n,"privacyPolicyIsExternalUrl",E,(0,re.Z)(n)),(0,K.Z)(n,"hidePageIds",_,(0,re.Z)(n)),(0,K.Z)(n,"setCookiesViaManager",x,(0,re.Z)(n)),(0,K.Z)(n,"acceptAllForBots",O,(0,re.Z)(n)),(0,K.Z)(n,"respectDoNotTrack",D,(0,re.Z)(n)),(0,K.Z)(n,"cookieDuration",z,(0,re.Z)(n)),(0,K.Z)(n,"saveIp",T,(0,re.Z)(n)),(0,K.Z)(n,"ePrivacyUSA",I,(0,re.Z)(n)),(0,K.Z)(n,"ageNotice",A,(0,re.Z)(n)),(0,K.Z)(n,"consentForwarding",M,(0,re.Z)(n)),(0,K.Z)(n,"forwardTo",B,(0,re.Z)(n)),(0,K.Z)(n,"crossDomains",N,(0,re.Z)(n)),(0,K.Z)(n,"affiliateLink",j,(0,re.Z)(n)),(0,K.Z)(n,"affiliateLabelBehind",U,(0,re.Z)(n)),(0,K.Z)(n,"affiliateLabelDescription",V,(0,re.Z)(n)),(0,K.Z)(n,"countryBypass",F,(0,re.Z)(n)),(0,K.Z)(n,"countryBypassCountries",G,(0,re.Z)(n)),(0,K.Z)(n,"countryBypassType",W,(0,re.Z)(n)),(0,K.Z)(n,"countryBypassDbDownloadTime",L,(0,re.Z)(n)),(0,K.Z)(n,"tcf",H,(0,re.Z)(n)),(0,K.Z)(n,"tcfPublisherCc",q,(0,re.Z)(n)),(0,K.Z)(n,"tcfAcceptedTime",Y,(0,re.Z)(n)),(0,K.Z)(n,"tcfGvlDownloadTime",J,(0,re.Z)(n)),(0,K.Z)(n,"tcfScopeOfConsent",Q,(0,re.Z)(n)),(0,K.Z)(n,"others",X,(0,re.Z)(n)),n.pureSlug=void 0,n.pureSlugCamelCased=void 0,n.rootStore=void 0,n.fetchSettings=(0,ce.flow)(se().mark((function e(t){var r;return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.busySettings=!0,e.prev=1,e.t0=t,e.t0){e.next=7;break}return e.next=6,(0,ye.W)({location:ue.g});case 6:e.t0=e.sent;case 7:return r=e.t0,this.bannerActive=r["rcb-banner-active"],this.blockerActive=r["rcb-blocker-active"],this.refreshSiteAfterConsent=r["rcb-refresh-site-after-consent"],this.imprintId=r["rcb-banner-legal-imprint"],this.imprintExternalUrl=r["rcb-banner-legal-imprint-external-url"],this.imprintIsExternalUrl=r["rcb-banner-legal-imprint-is-external-url"],this.privacyPolicyId=r["rcb-banner-legal-privacy-policy"],this.privacyPolicyExternalUrl=r["rcb-banner-legal-privacy-policy-external-url"],this.privacyPolicyIsExternalUrl=r["rcb-banner-legal-privacy-policy-is-external-url"],this.hidePageIds=(r["rcb-hide-page-ids"]||"").split(",").map(Number).filter(Boolean),this.setCookiesViaManager=r["rcb-set-cookies-via-manager"]||"none",this.acceptAllForBots=r["rcb-accept-all-for-bots"],this.respectDoNotTrack=r["rcb-respect-do-not-track"],this.cookieDuration=r["rcb-cookie-duration"],this.saveIp=r["rcb-save-ip"],this.ePrivacyUSA=r["rcb-eprivacy-usa"],this.ageNotice=r["rcb-age-notice"],this.consentForwarding=r["rcb-consent-forwarding"]||!1,this.forwardTo=(r["rcb-forward-to"]||"").split("|").filter(Boolean),this.crossDomains=r["rcb-cross-domains"]||"",this.countryBypass=r["rcb-country-bypass"],this.countryBypassCountries=(r["rcb-country-bypass-countries"]||"").split(",").filter(Boolean),this.countryBypassType=r["rcb-country-bypass-type"],this.countryBypassDbDownloadTime=r["rcb-country-bypass-db-download-time"],this.tcf=r["rcb-tcf"],this.tcfPublisherCc=r["rcb-tcf-publisher-cc"],this.tcfAcceptedTime=r["rcb-tcf-accepted-time"],this.tcfGvlDownloadTime=r["rcb-tcf-gvl-download-time"],this.tcfScopeOfConsent=r["rcb-tcf-scope-of-consent"],e.next=40,this.fetchCurrentRevision();case 40:e.next=46;break;case 42:throw e.prev=42,e.t1=e.catch(1),console.log(e.t1),e.t1;case 46:return e.prev=46,this.busySettings=!1,e.finish(46);case 49:case"end":return e.stop()}}),e,this,[[1,42,46,49]])}))),n.updateSettings=(0,ce.flow)(se().mark((function e(t){var r,n,o,i,a,s,c,l,u,p,f,h,b,d,v,y,m,g,Z,k,w,R,C;return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.bannerActive,n=t.blockerActive,o=t.refreshSiteAfterConsent,i=t.imprintId,a=t.privacyPolicyId,s=t.hidePageIds,c=t.setCookiesViaManager,l=t.acceptAllForBots,u=t.respectDoNotTrack,p=t.cookieDuration,f=t.saveIp,h=t.ePrivacyUSA,b=t.ageNotice,d=t.consentForwarding,v=t.forwardTo,y=t.crossDomains,t.affiliateLink,t.affiliateLabelBehind,t.affiliateLabelDescription,m=t.countryBypass,g=t.countryBypassCountries,Z=t.countryBypassType,k=t.tcf,w=t.tcfPublisherCc,R=t.tcfScopeOfConsent,this.busySettings=!0,e.prev=2,e.next=5,(0,ye.W)({location:pe.J,request:(0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)({},void 0===r?{}:{"rcb-banner-active":r}),void 0===n?{}:{"rcb-blocker-active":n}),void 0===o?{}:{"rcb-refresh-site-after-consent":o}),void 0===i?{}:{"rcb-banner-legal-imprint":i}),void 0===a?{}:{"rcb-banner-legal-privacy-policy":a}),void 0===s?{}:{"rcb-hide-page-ids":s.join(",")}),void 0===c?{}:{"rcb-set-cookies-via-manager":c}),void 0===l?{}:{"rcb-accept-all-for-bots":l}),void 0===u?{}:{"rcb-respect-do-not-track":u}),void 0===p?{}:{"rcb-cookie-duration":p}),void 0===f?{}:{"rcb-save-ip":f}),void 0===h?{}:{"rcb-eprivacy-usa":h}),void 0===b?{}:{"rcb-age-notice":b}),void 0===d?{}:{"rcb-consent-forwarding":d}),void 0===v?{}:{"rcb-forward-to":v.join("|")}),void 0===y?{}:{"rcb-cross-domains":y}),void 0===m?{}:{"rcb-country-bypass":m}),void 0===g?{}:{"rcb-country-bypass-countries":g.join(",")}),void 0===Z?{}:{"rcb-country-bypass-type":Z}),void 0===k?{}:{"rcb-tcf":k}),void 0===w?{}:{"rcb-tcf-publisher-cc":w}),void 0===R?{}:{"rcb-tcf-scope-of-consent":R}),{}),{}),{})});case 5:C=e.sent,this.fetchSettings(C),this.rootStore.checklistStore.probablyFetchByChangedItem(["save-settings","activate-banner","privacy-policy"]),e.next=14;break;case 10:throw e.prev=10,e.t0=e.catch(2),console.log(e.t0),e.t0;case 14:return e.prev=14,this.busySettings=!1,e.finish(14);case 17:case"end":return e.stop()}}),e,this,[[2,10,14,17]])}))),n.fetchCurrentRevision=(0,ce.flow)(se().mark((function e(){return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busySettings=!0,e.prev=1,e.t0=this,e.next=5,(0,ye.W)({location:fe.G});case 5:e.t1=e.sent,e.t0.setFromCurrentRevision.call(e.t0,e.t1),e.next=13;break;case 9:throw e.prev=9,e.t2=e.catch(1),console.log(e.t2),e.t2;case 13:return e.prev=13,this.busySettings=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.updateCurrentRevision=(0,ce.flow)(se().mark((function e(){return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busySettings=!0,e.prev=1,e.t0=this,e.next=5,(0,ye.W)({location:he.a});case 5:e.t1=e.sent,e.t0.setFromCurrentRevision.call(e.t0,e.t1),e.next=13;break;case 9:throw e.prev=9,e.t2=e.catch(1),console.log(e.t2),e.t2;case 13:return e.prev=13,this.busySettings=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.setModalHintSeen=(0,ce.flow)(se().mark((function e(t){return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busySettings=!0,e.prev=1,this.others.modalHints.push(t),e.next=5,(0,ye.W)({location:me.C,request:{identifier:t}});case 5:e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),console.log(e.t0),e.t0;case 11:return e.prev=11,this.busySettings=!1,e.finish(11);case 14:case"end":return e.stop()}}),e,this,[[1,7,11,14]])}))),n.dismissConfigProNotice=(0,ce.flow)(se().mark((function e(){return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.others.isConfigProNoticeVisible=!1,e.next=4,(0,ye.W)({location:be.n});case 4:e.next=10;break;case 6:throw e.prev=6,e.t0=e.catch(0),console.log(e.t0),e.t0;case 10:case"end":return e.stop()}}),e,this,[[0,6]])}))),n.dismissMigration=(0,ce.flow)(se().mark((function e(){var t;return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.dashboardMigration.id,this.dashboardMigration=void 0,e.next=5,(0,ye.W)({location:de.o,params:{migration:t}});case 5:e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(0),console.log(e.t0),e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,7]])}))),n.updateCountryBypassDatabase=(0,ce.flow)(se().mark((function e(){var t,r;return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyCountryBypassUpdate=!0,e.prev=1,e.next=4,(0,ye.W)({location:ve._});case 4:t=e.sent,r=t.dbDownloadTime,this.countryBypassDbDownloadTime=r,e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busyCountryBypassUpdate=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.rootStore=e,n.pureSlug=le.BaseOptions.getPureSlug({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"1",TCF_CMP_ID:367}),n.pureSlugCamelCased=le.BaseOptions.getPureSlug({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"1",TCF_CMP_ID:367},!0),(0,ce.runInAction)((function(){return Object.assign((0,re.Z)(n),window[n.pureSlugCamelCased])})),n}return(0,te.Z)(r,[{key:"isOnlyRcbCookieCreated",get:function(){return!(1!==this.allCookieCount||this.tcf&&this.allTcfVendorConfigurationCount)}},{key:"setFromCurrentRevision",value:function(e){var t=e.contexts,r=e.has_gtm,n=e.has_mtm,o=e.needs_retrigger,i=e.public_cookie_count,a=e.all_cookie_count,s=e.all_blocker_count,c=e.all_tcf_vendor_configuration_count,l=e.all_scanner_result_presets_count,u=e.all_scanner_result_external_urls_count,p=e.cookie_counts,f=e.tcf_vendor_configuration_counts,h=e.dashboardMigration;this.hasGTM=r,this.hasMTM=n,this.needsRevisionRetrigger=o,this.publicCookieCount=i,this.allCookieCount=a,this.allBlockerCount=s,this.allTcfVendorConfigurationCount=c,this.allScannerResultPresetsCount=l,this.allScannerResultExternalUrlsCount=u,this.cookieCounts=p,this.tcfVendorConfigurationCounts=f,this.contexts=t,this.dashboardMigration=h}},{key:"setShowLicenseFormImmediate",value:function(e,t){this.others.showLicenseFormImmediate=e,this.others.isLicensed=t}}]),r}(le.BaseOptions),o=(0,ie.Z)(n.prototype,"busySettings",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,ie.Z)(n.prototype,"busyCountryBypassUpdate",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,ie.Z)(n.prototype,"needsRevisionRetrigger",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,ie.Z)(n.prototype,"publicCookieCount",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),c=(0,ie.Z)(n.prototype,"allCookieCount",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),l=(0,ie.Z)(n.prototype,"allBlockerCount",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),u=(0,ie.Z)(n.prototype,"allTcfVendorConfigurationCount",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),p=(0,ie.Z)(n.prototype,"allScannerResultPresetsCount",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),f=(0,ie.Z)(n.prototype,"allScannerResultExternalUrlsCount",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),h=(0,ie.Z)(n.prototype,"cookieCounts",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{draft:0,private:0,publish:0}}}),b=(0,ie.Z)(n.prototype,"tcfVendorConfigurationCounts",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d=(0,ie.Z)(n.prototype,"hasGTM",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),v=(0,ie.Z)(n.prototype,"hasMTM",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),y=(0,ie.Z)(n.prototype,"contexts",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{"":""}}}),m=(0,ie.Z)(n.prototype,"dashboardMigration",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=(0,ie.Z)(n.prototype,"bannerActive",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Z=(0,ie.Z)(n.prototype,"blockerActive",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),k=(0,ie.Z)(n.prototype,"refreshSiteAfterConsent",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),w=(0,ie.Z)(n.prototype,"imprintId",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=(0,ie.Z)(n.prototype,"imprintExternalUrl",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=(0,ie.Z)(n.prototype,"imprintIsExternalUrl",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=(0,ie.Z)(n.prototype,"privacyPolicyId",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=(0,ie.Z)(n.prototype,"privacyPolicyExternalUrl",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=(0,ie.Z)(n.prototype,"privacyPolicyIsExternalUrl",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=(0,ie.Z)(n.prototype,"hidePageIds",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=(0,ie.Z)(n.prototype,"setCookiesViaManager",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=(0,ie.Z)(n.prototype,"acceptAllForBots",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=(0,ie.Z)(n.prototype,"respectDoNotTrack",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=(0,ie.Z)(n.prototype,"cookieDuration",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=(0,ie.Z)(n.prototype,"saveIp",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=(0,ie.Z)(n.prototype,"ePrivacyUSA",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=(0,ie.Z)(n.prototype,"ageNotice",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=(0,ie.Z)(n.prototype,"consentForwarding",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=(0,ie.Z)(n.prototype,"forwardTo",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=(0,ie.Z)(n.prototype,"crossDomains",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=(0,ie.Z)(n.prototype,"affiliateLink",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=(0,ie.Z)(n.prototype,"affiliateLabelBehind",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=(0,ie.Z)(n.prototype,"affiliateLabelDescription",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=(0,ie.Z)(n.prototype,"countryBypass",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=(0,ie.Z)(n.prototype,"countryBypassCountries",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=(0,ie.Z)(n.prototype,"countryBypassType",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=(0,ie.Z)(n.prototype,"countryBypassDbDownloadTime",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=(0,ie.Z)(n.prototype,"tcf",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=(0,ie.Z)(n.prototype,"tcfPublisherCc",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=(0,ie.Z)(n.prototype,"tcfAcceptedTime",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=(0,ie.Z)(n.prototype,"tcfGvlDownloadTime",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=(0,ie.Z)(n.prototype,"tcfScopeOfConsent",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=(0,ie.Z)(n.prototype,"others",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,ie.Z)(n.prototype,"isOnlyRcbCookieCreated",[ce.computed],Object.getOwnPropertyDescriptor(n.prototype,"isOnlyRcbCookieCreated"),n.prototype),(0,ie.Z)(n.prototype,"setFromCurrentRevision",[ce.action],Object.getOwnPropertyDescriptor(n.prototype,"setFromCurrentRevision"),n.prototype),(0,ie.Z)(n.prototype,"setShowLicenseFormImmediate",[ce.action],Object.getOwnPropertyDescriptor(n.prototype,"setShowLicenseFormImmediate"),n.prototype),n)},103:function(e,t,r){r.d(t,{C:function(){return D}});var n,o,i,a,s,c,l,u,p,f,h=r(7870),b=r(38),d=r(6724),v=r(6762),y=r(3340),m=r(9303),g=r(5450),Z=r.n(g),k=r(7821),w=r(5482),R=r(1435),C=r(5277),P=r(5408),S=r(102),E=r(9977),_=r(4788),x=r(6964),O=r(4531),D=(n=function(){function e(t){(0,v.Z)(this,e),(0,d.Z)(this,"resultPresets",o,this),(0,d.Z)(this,"busyResultPresets",i,this),(0,d.Z)(this,"fetchedAllResultPresets",a,this),(0,d.Z)(this,"resultExternalUrls",s,this),(0,d.Z)(this,"resultAllExternalUrls",c,this),(0,d.Z)(this,"busyExternalUrls",l,this),(0,d.Z)(this,"fetchedAllResultExternalUrls",u,this),(0,d.Z)(this,"busyMarkup",p,this),(0,d.Z)(this,"resultMarkup",f,this),this.rootStore=void 0,this.addUrlsToQueue=(0,k.flow)(Z().mark((function e(t){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,P.W)({location:S.k,request:t});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),this.fetchResultPresets=(0,k.flow)(Z().mark((function e(){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyResultPresets=!0,e.prev=1,e.t0=this,e.next=5,(0,P.W)({location:E.e});case 5:e.t1=e.sent,e.t0.resultPresetsFromResponse.call(e.t0,e.t1),this.fetchedAllResultPresets=!0,e.next=14;break;case 10:throw e.prev=10,e.t2=e.catch(1),console.log(e.t2),e.t2;case 14:return e.prev=14,this.busyResultPresets=!1,e.finish(14);case 17:case"end":return e.stop()}}),e,this,[[1,10,14,17]])}))),this.fetchResultExternals=(0,k.flow)(Z().mark((function e(){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyExternalUrls=!0,e.prev=1,e.t0=this,e.next=5,(0,P.W)({location:_.M});case 5:e.t1=e.sent,e.t0.resultExternalUrlsFromResponse.call(e.t0,e.t1),this.fetchedAllResultExternalUrls=!0,e.next=14;break;case 10:throw e.prev=10,e.t2=e.catch(1),console.log(e.t2),e.t2;case 14:return e.prev=14,this.busyExternalUrls=!1,e.finish(14);case 17:case"end":return e.stop()}}),e,this,[[1,10,14,17]])}))),this.fetchResultAllExternals=(0,k.flow)(Z().mark((function e(t){var r,n,o,i,a,s,c,l,u,p,f;return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(r=this.resultExternalUrls.get(t)||this.resultPresets.get(t)).busy=!0,e.prev=2,e.next=5,(0,P.W)({location:x.M,params:{hostOrPreset:t}});case 5:if(n=e.sent,o=n.items,i=this.resultAllExternalUrls.get(t)){a=o.map((function(e){return e.id})),s=(0,b.Z)(i.keys());try{for(s.s();!(c=s.n()).done;)l=c.value,-1===a.indexOf(l)&&i.delete(l)}catch(e){s.e(e)}finally{s.f()}}else i=new Map;for(u=0,p=Object.values(o);u<p.length;u++)f=p[u],i.set(f.id,new w.a(f,this)),this.resultAllExternalUrls.set(t,i);e.next=16;break;case 12:throw e.prev=12,e.t0=e.catch(2),console.log(e.t0),e.t0;case 16:return e.prev=16,r.busy=!1,e.finish(16);case 19:case"end":return e.stop()}}),e,this,[[2,12,16,19]])}))),this.fetchMarkup=(0,k.flow)(Z().mark((function e(t){var r;return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyMarkup=!0,e.prev=1,e.next=4,(0,P.W)({location:O.$,params:{id:t}});case 4:r=e.sent,this.resultMarkup.set(t,r),e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(1),console.log(e.t0),e.t0;case 12:return e.prev=12,this.busyMarkup=!1,e.finish(12);case 15:case"end":return e.stop()}}),e,this,[[1,8,12,15]])}))),this.rootStore=t}return(0,y.Z)(e,[{key:"sortedExternalUrls",get:function(){var e=Array.from(this.resultExternalUrls.values());return e.sort((function(e,t){return e.inactive===t.inactive?0:e.inactive?1:-1})),e}},{key:"presetsCount",get:function(){return this.fetchedAllResultPresets?this.resultPresets.size:this.rootStore.optionStore.allScannerResultPresetsCount}},{key:"externalUrlsCount",get:function(){return this.fetchedAllResultExternalUrls?this.resultExternalUrls.size:this.rootStore.optionStore.allScannerResultExternalUrlsCount}},{key:"canShowResults",get:function(){var e;return this.presetsCount+this.externalUrlsCount>0&&(null===(e=this.rootStore.checklistStore.checklist)||void 0===e?void 0:e.items.scanner.checked)}},{key:"foundScanResultsCount",get:function(){return this.resultPresets.size+this.resultExternalUrls.size}},{key:"needsAttentionCount",get:function(){return[].concat((0,h.Z)(this.resultPresets.values()),(0,h.Z)(this.resultExternalUrls.values())).filter((function(e){return!e.inactive})).length}},{key:"resultPresetsFromResponse",value:function(e){var t,r=e.items,n=Object.keys(r),o=(0,b.Z)(this.resultPresets.keys());try{for(o.s();!(t=o.n()).done;){var i=t.value;-1===n.indexOf(i)&&this.resultPresets.delete(i)}}catch(e){o.e(e)}finally{o.f()}for(var a=0,s=n;a<s.length;a++){var c=s[a];this.resultPresets.set(c,new R.g(r[c],this))}}},{key:"resultExternalUrlsFromResponse",value:function(e){var t,r=e.items,n=Object.keys(r),o=(0,b.Z)(this.resultExternalUrls.keys());try{for(o.s();!(t=o.n()).done;){var i=t.value;-1===n.indexOf(i)&&this.resultExternalUrls.delete(i)}}catch(e){o.e(e)}finally{o.f()}for(var a=0,s=n;a<s.length;a++){var c=s[a];this.resultExternalUrls.set(c,new C.o(r[c],this))}}}]),e}(),o=(0,m.Z)(n.prototype,"resultPresets",[k.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),i=(0,m.Z)(n.prototype,"busyResultPresets",[k.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,m.Z)(n.prototype,"fetchedAllResultPresets",[k.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,m.Z)(n.prototype,"resultExternalUrls",[k.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),c=(0,m.Z)(n.prototype,"resultAllExternalUrls",[k.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),l=(0,m.Z)(n.prototype,"busyExternalUrls",[k.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),u=(0,m.Z)(n.prototype,"fetchedAllResultExternalUrls",[k.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),p=(0,m.Z)(n.prototype,"busyMarkup",[k.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),f=(0,m.Z)(n.prototype,"resultMarkup",[k.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,m.Z)(n.prototype,"sortedExternalUrls",[k.computed],Object.getOwnPropertyDescriptor(n.prototype,"sortedExternalUrls"),n.prototype),(0,m.Z)(n.prototype,"presetsCount",[k.computed],Object.getOwnPropertyDescriptor(n.prototype,"presetsCount"),n.prototype),(0,m.Z)(n.prototype,"externalUrlsCount",[k.computed],Object.getOwnPropertyDescriptor(n.prototype,"externalUrlsCount"),n.prototype),(0,m.Z)(n.prototype,"canShowResults",[k.computed],Object.getOwnPropertyDescriptor(n.prototype,"canShowResults"),n.prototype),(0,m.Z)(n.prototype,"foundScanResultsCount",[k.computed],Object.getOwnPropertyDescriptor(n.prototype,"foundScanResultsCount"),n.prototype),(0,m.Z)(n.prototype,"needsAttentionCount",[k.computed],Object.getOwnPropertyDescriptor(n.prototype,"needsAttentionCount"),n.prototype),(0,m.Z)(n.prototype,"resultPresetsFromResponse",[k.action],Object.getOwnPropertyDescriptor(n.prototype,"resultPresetsFromResponse"),n.prototype),(0,m.Z)(n.prototype,"resultExternalUrlsFromResponse",[k.action],Object.getOwnPropertyDescriptor(n.prototype,"resultExternalUrlsFromResponse"),n.prototype),n)},3596:function(e,t,r){r.d(t,{e:function(){return m}});var n,o,i=r(6724),a=r(6762),s=r(3340),c=r(5558),l=r(3841),u=r(5952),p=r(9303),f=r(5450),h=r.n(f),b=r(7821),d=r(8700),v=r(8488),y=r.n(v),m=(n=function(e){(0,l.Z)(r,e);var t=(0,u.Z)(r);function r(e){var n;return(0,a.Z)(this,r),n=t.call(this),(0,i.Z)(n,"busyStats",o,(0,c.Z)(n)),n.rootStore=void 0,n.stats=b.observable.object({main:void 0,buttonsClicked:void 0,customBypass:void 0},{},{deep:!1}),n.filters=b.observable.object({dates:void 0,context:void 0},{},{deep:!1}),n.fetchMain=(0,b.flow)(h().mark((function e(){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.next=3;break;case 3:throw new Error("This feature is not available in the free version.");case 4:case"end":return e.stop()}}),e)}))),n.fetchButtonsClicked=(0,b.flow)(h().mark((function e(){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.next=3;break;case 3:throw new Error("This feature is not available in the free version.");case 4:case"end":return e.stop()}}),e)}))),n.fetchCustomBypass=(0,b.flow)(h().mark((function e(){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.next=3;break;case 3:throw new Error("This feature is not available in the free version.");case 4:case"end":return e.stop()}}),e)}))),n.rootStore=e,(0,b.runInAction)((function(){n.filters.dates=[y()().subtract(30,"days"),y()()],n.filters.context=n.rootStore.optionStore.others.context})),n}return(0,s.Z)(r,[{key:"applyDates",value:function(e){this.filters.dates=e}},{key:"applyContext",value:function(e){this.filters.context=e}}]),r}(d.BaseOptions),o=(0,p.Z)(n.prototype,"busyStats",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{main:!1,buttonClicked:!1,customBypass:!1}}}),(0,p.Z)(n.prototype,"applyDates",[b.action],Object.getOwnPropertyDescriptor(n.prototype,"applyDates"),n.prototype),(0,p.Z)(n.prototype,"applyContext",[b.action],Object.getOwnPropertyDescriptor(n.prototype,"applyContext"),n.prototype),n)},4614:function(e,t,r){r.d(t,{M:function(){return d},m:function(){return v}});var n=r(6762),o=r(3340),i=r(7821),a=r(8700),s=r(5656),c=r(5619),l=r(8069),u=r(6159),p=r(3596),f=r(7052),h=r(4605),b=r(103);(0,i.configure)({enforceActions:"always"});var d=function(){function e(){(0,n.Z)(this,e),this.optionStore=void 0,this.customizeBannerStore=void 0,this.cookieStore=void 0,this.consentStore=void 0,this.statsStore=void 0,this.checklistStore=void 0,this.tcfStore=void 0,this.scannerStore=void 0,this.contextMemo=void 0,this.optionStore=new s.a(this),this.customizeBannerStore=new c.W(this),this.cookieStore=new l.h(this),this.consentStore=new u.v(this),this.statsStore=new p.e(this),this.checklistStore=new f.L(this),this.tcfStore=new h.z(this),this.scannerStore=new b.C(this)}return(0,o.Z)(e,[{key:"context",get:function(){return this.contextMemo?this.contextMemo:this.contextMemo=(0,a.createContextFactory)(this)}}],[{key:"StoreProvider",get:function(){return e.get.context.StoreProvider}},{key:"get",get:function(){return e.me?e.me:e.me=new e}}]),e}();d.me=void 0;var v=function(){return d.get.context.useStores()}},4605:function(e,t,r){r.d(t,{z:function(){return M}});var n,o,i,a,s,c,l,u,p,f,h,b,d,v,y=r(6724),m=r(6762),g=r(3340),Z=r(5558),k=r(3841),w=r(5952),R=r(9303),C=r(5450),P=r.n(C),S=r(7821),E=r(8700),_=r(4137),x=r(184),O=r(6692),D=r(5408),z=r(3025),T=r(3116),I=r(9081),A=r(597),M=(n=function(e){(0,k.Z)(r,e);var t=(0,w.Z)(r);function r(e){var n;return(0,m.Z)(this,r),n=t.call(this),(0,y.Z)(n,"busyGvl",o,(0,Z.Z)(n)),(0,y.Z)(n,"busyVendors",i,(0,Z.Z)(n)),(0,y.Z)(n,"busyDeclarations",a,(0,Z.Z)(n)),(0,y.Z)(n,"vendorConfigurations",s,(0,Z.Z)(n)),(0,y.Z)(n,"fetchedAllVendorConfigurations",c,(0,Z.Z)(n)),(0,y.Z)(n,"vendorListVersion",l,(0,Z.Z)(n)),(0,y.Z)(n,"gvlSpecificationVersion",u,(0,Z.Z)(n)),(0,y.Z)(n,"tcfPolicyVersion",p,(0,Z.Z)(n)),(0,y.Z)(n,"vendors",f,(0,Z.Z)(n)),(0,y.Z)(n,"purposes",h,(0,Z.Z)(n)),(0,y.Z)(n,"specialPurposes",b,(0,Z.Z)(n)),(0,y.Z)(n,"features",d,(0,Z.Z)(n)),(0,y.Z)(n,"specialFeatures",v,(0,Z.Z)(n)),n.rootStore=void 0,n.fetchVendorConfigurations=(0,S.flow)(P().mark((function e(){return P().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.vendorConfigurations.get({request:{status:["draft","publish","private"]},params:{per_page:100,context:"edit"}});case 2:this.fetchedAllVendorConfigurations=!0;case 3:case"end":return e.stop()}}),e,this)}))),n.fetchVendors=(0,S.flow)(P().mark((function e(){var t,r,n,o,i,a;return P().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyVendors=!0,e.prev=1,e.next=4,(0,D.W)({location:x.f});case 4:for(t=e.sent,r=t.vendorListVersion,n=t.vendors,o=0,i=Object.keys(n);o<i.length;o++)a=i[o],this.vendors.set(a,new z.C(n[a],this));this.vendorListVersion=r,e.next=15;break;case 11:throw e.prev=11,e.t0=e.catch(1),console.log(e.t0),e.t0;case 15:return e.prev=15,this.busyVendors=!1,e.finish(15);case 18:case"end":return e.stop()}}),e,this,[[1,11,15,18]])}))),n.fetchDeclarations=(0,S.flow)(P().mark((function e(){var t,r,n,o,i,a,s,c,l,u,p,f,h,b,d,v,y,m,g;return P().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyDeclarations=!0,e.prev=1,e.next=4,(0,D.W)({location:_.Y});case 4:for(t=e.sent,r=t.gvlSpecificationVersion,n=t.tcfPolicyVersion,o=t.purposes,i=t.specialPurposes,a=t.features,s=t.specialFeatures,c=0,l=Object.keys(o);c<l.length;c++)u=l[c],this.purposes.set(u,new T.v(o[u],!1,this));for(p=0,f=Object.keys(i);p<f.length;p++)h=f[p],this.specialPurposes.set(h,new T.v(i[h],!0,this));for(b=0,d=Object.keys(a);b<d.length;b++)v=d[b],this.features.set(v,new I.i(a[v],!1,this));for(y=0,m=Object.keys(s);y<m.length;y++)g=m[y],this.specialFeatures.set(g,new I.i(s[g],!0,this));this.gvlSpecificationVersion=r,this.tcfPolicyVersion=n,e.next=23;break;case 19:throw e.prev=19,e.t0=e.catch(1),console.log(e.t0),e.t0;case 23:return e.prev=23,this.busyDeclarations=!1,e.finish(23);case 26:case"end":return e.stop()}}),e,this,[[1,19,23,26]])}))),n.updateGvl=(0,S.flow)(P().mark((function e(){var t,r;return P().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyGvl=!0,e.prev=1,e.next=4,(0,D.W)({location:O.y});case 4:t=e.sent,r=t.gvlDownloadTime,this.rootStore.optionStore.tcfGvlDownloadTime=r,e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busyGvl=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.rootStore=e,(0,S.runInAction)((function(){n.vendorConfigurations=new A.C((0,Z.Z)(n))})),n}return(0,g.Z)(r,[{key:"vendorConfigurationCount",get:function(){return this.fetchedAllVendorConfigurations?this.vendorConfigurations.entries.size:this.rootStore.optionStore.allTcfVendorConfigurationCount}}]),r}(E.BaseOptions),o=(0,R.Z)(n.prototype,"busyGvl",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,R.Z)(n.prototype,"busyVendors",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,R.Z)(n.prototype,"busyDeclarations",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,R.Z)(n.prototype,"vendorConfigurations",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=(0,R.Z)(n.prototype,"fetchedAllVendorConfigurations",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),l=(0,R.Z)(n.prototype,"vendorListVersion",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=(0,R.Z)(n.prototype,"gvlSpecificationVersion",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=(0,R.Z)(n.prototype,"tcfPolicyVersion",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=(0,R.Z)(n.prototype,"vendors",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),h=(0,R.Z)(n.prototype,"purposes",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),b=(0,R.Z)(n.prototype,"specialPurposes",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),d=(0,R.Z)(n.prototype,"features",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),v=(0,R.Z)(n.prototype,"specialFeatures",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,R.Z)(n.prototype,"vendorConfigurationCount",[S.computed],Object.getOwnPropertyDescriptor(n.prototype,"vendorConfigurationCount"),n.prototype),n)},3537:function(e,t,r){r.d(t,{u:function(){return n},b:function(){return o}});var n="rcb-scan",o="rcb-automatic-scan-starter"},5194:function(e,t,r){function n(){return window["real-cookie-banner".replace(/-([a-z])/g,(function(e){return e[1].toUpperCase()}))]}r.d(t,{m:function(){return n}})},6703:function(e,t,r){r.d(t,{u:function(){return o}});var n=r(5194);function o(){return(0,n.m)().others}},5071:function(e,t,r){r.d(t,{_n:function(){return a},__:function(){return s},_i:function(){return c}});var n,o=r(8700);function i(){return n||(n=(0,o.createLocalizationFactory)(o.BaseOptions.getPureSlug({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"1",TCF_CMP_ID:367})))}var a=function(){var e;return(e=i())._n.apply(e,arguments)},s=function(){var e;return(e=i()).__.apply(e,arguments)},c=function(){var e;return(e=i())._i.apply(e,arguments)}},6965:function(e,t,r){function n(e){return!!/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/.test(e)}r.d(t,{C:function(){return n}})},8081:function(e,t,r){r.d(t,{E:function(){return i}});var n=r(7363),o=/(\r\n|\r|\n|<br[ ]?\/>)/g,i=function(e){return e.split(o).map((function(e,t){return e.match(o)?(0,n.createElement)("br",{key:t}):e}))}},5408:function(e,t,r){r.d(t,{Y:function(){return a},W:function(){return s}});var n,o=r(8700);function i(){return n||(n=(0,o.createRequestFactory)(window[o.BaseOptions.getPureSlug({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"1",TCF_CMP_ID:367},!0)]))}var a=function(){var e;return(e=i()).urlBuilder.apply(e,arguments)},s=function(){var e;return(e=i()).request.apply(e,arguments)}},2200:function(e,t,r){function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;document.body.scrollTop=e,document.documentElement.scrollTop=e}r.d(t,{X:function(){return n}})},9522:function(e,t,r){function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"...";if(!e||e.length<=t)return e;var n=r.length,o=t-n,i=Math.ceil(o/2),a=Math.floor(o/2);return e.substr(0,i)+r+e.substr(e.length-a)}r.d(t,{r:function(){return n}})},6127:function(e,t,r){r.d(t,{g:function(){return n}});var n={path:"/checklist",method:r(8700).RouteHttpVerb.GET}},6410:function(e,t,r){r.d(t,{s:function(){return n}});var n={path:"/checklist/:id",method:r(8700).RouteHttpVerb.PUT}},7141:function(e,t,r){r.d(t,{O:function(){return n}});var n={path:"/consent/all",method:r(8700).RouteHttpVerb.DELETE}},5634:function(e,t,r){r.d(t,{c:function(){return n}});var n={path:"/consent/all",method:r(8700).RouteHttpVerb.GET}},3480:function(e,t,r){r.d(t,{q:function(){return n}});var n={path:"/consent/referer",method:r(8700).RouteHttpVerb.GET}},4876:function(e,t,r){r.d(t,{B:function(){return n}});var n={path:"/cookie-groups/order",method:r(8700).RouteHttpVerb.PUT}},340:function(e,t,r){r.d(t,{p:function(){return n}});var n={path:"/cookies/unassigned",method:r(8700).RouteHttpVerb.GET}},6950:function(e,t,r){r.d(t,{I:function(){return n}});var n={path:"/cookies/order",method:r(8700).RouteHttpVerb.PUT}},9001:function(e,t,r){r.d(t,{_:function(){return n}});var n={path:"/country-bypass/database",method:r(8700).RouteHttpVerb.PUT}},9864:function(e,t,r){r.d(t,{V:function(){return n}});var n={path:"/export",method:r(8700).RouteHttpVerb.GET}},9450:function(e,t,r){r.d(t,{Q:function(){return n}});var n={path:"/export/consents",method:r(8700).RouteHttpVerb.GET}},3839:function(e,t,r){r.d(t,{V:function(){return n}});var n={path:"/forward/cookie/:slug",method:r(8700).RouteHttpVerb.GET}},4773:function(e,t,r){r.d(t,{A:function(){return n}});var n={path:"/forward/endpoints",method:r(8700).RouteHttpVerb.GET}},6879:function(e,t,r){r.d(t,{H:function(){return n}});var n={path:"/import",method:r(8700).RouteHttpVerb.POST}},9332:function(e,t,r){r.d(t,{gn:function(){return C.g},s5:function(){return P.s},Ok:function(){return v.O},cI:function(){return d.c},rz:function(){return w},aY:function(){return N},vY:function(){return _},JQ:function(){return f},PM:function(){return p},qD:function(){return Y.q},BI:function(){return c.B},pV:function(){return S.p},It:function(){return l.I},_3:function(){return j._},QB:function(){return R.Q},Vm:function(){return Z.V},Vc:function(){return x.V},AW:function(){return E.A},HR:function(){return k.H},nQ:function(){return O.n},oW:function(){return V.o},nX:function(){return U.n},tX:function(){return i.t},N9:function(){return T.N},Wu:function(){return a.W},tw:function(){return I.t},zf:function(){return s.z},GQ:function(){return h.G},a4:function(){return b.a},Z1:function(){return D.Z},TB:function(){return z.T},kv:function(){return F.k},ME:function(){return H.M},Ce:function(){return L.C},MQ:function(){return W.M},$5:function(){return q.$},eO:function(){return G.e},$Q:function(){return g},gh:function(){return m},BV:function(){return y},Y3:function(){return B.Y},yR:function(){return A.y},fs:function(){return M.f},g3:function(){return n.g},J3:function(){return o.J}});var n=r(74),o=r(939),i=r(9444),a=r(7539),s=r(4017),c=r(4876),l=r(6950),u=r(8700),p={path:"/consent",method:u.RouteHttpVerb.POST},f={path:"/consent",method:u.RouteHttpVerb.GET},h=r(6799),b=r(8064),d=r(5634),v=r(7141),y={path:"/stats/main",method:u.RouteHttpVerb.GET},m={path:"/stats/customBypass",method:u.RouteHttpVerb.GET},g={path:"/stats/buttonsClicked",method:u.RouteHttpVerb.GET},Z=r(9864),k=r(6879),w={path:"/consent/clear",method:u.RouteHttpVerb.DELETE},R=r(9450),C=r(6127),P=r(6410),S=r(340),E=r(4773),_={path:"/consent/forward",method:u.RouteHttpVerb.POST},x=r(3839),O=r(365),D=r(6778),z=r(3985),T=r(3506),I=r(7419),A=r(6692),M=r(184),B=r(4137),N={path:"/consent/dynamic-predecision",method:u.RouteHttpVerb.GET},j=r(9001),U=r(1693),V=r(2391),F=r(102),G=r(9977),W=r(4788),L=r(4375),H=r(6964),q=r(4531),Y=r(3480)},365:function(e,t,r){r.d(t,{n:function(){return n}});var n={path:"/dismiss-config-page-pro-notice",method:r(8700).RouteHttpVerb.DELETE}},2391:function(e,t,r){r.d(t,{o:function(){return n}});var n={path:"/migration/:migration",method:r(8700).RouteHttpVerb.DELETE}},1693:function(e,t,r){r.d(t,{n:function(){return n}});var n={path:"/migration/:migration/:action",method:r(8700).RouteHttpVerb.POST}},7597:function(e,t,r){r.d(t,{C:function(){return n}});var n={path:"/modal-hint",method:r(8700).RouteHttpVerb.PUT}},9444:function(e,t,r){r.d(t,{t:function(){return n}});var n={path:"/presets/banner",method:r(8700).RouteHttpVerb.GET}},7539:function(e,t,r){r.d(t,{W:function(){return n}});var n={path:"/presets/blocker",method:r(8700).RouteHttpVerb.GET}},3506:function(e,t,r){r.d(t,{N:function(){return n}});var n={path:"/presets/blocker/:identifier",method:r(8700).RouteHttpVerb.GET}},4017:function(e,t,r){r.d(t,{z:function(){return n}});var n={path:"/presets/cookies",method:r(8700).RouteHttpVerb.GET}},7419:function(e,t,r){r.d(t,{t:function(){return n}});var n={path:"/presets/cookies/:identifier",method:r(8700).RouteHttpVerb.GET}},6778:function(e,t,r){r.d(t,{Z:function(){return n}});var n={path:"/revision/:hash",method:r(8700).RouteHttpVerb.GET}},6799:function(e,t,r){r.d(t,{G:function(){return n}});var n={path:"/revision/current",method:r(8700).RouteHttpVerb.GET}},8064:function(e,t,r){r.d(t,{a:function(){return n}});var n={path:"/revision/current",method:r(8700).RouteHttpVerb.PUT}},3985:function(e,t,r){r.d(t,{T:function(){return n}});var n={path:"/revision/independent/:hash",method:r(8700).RouteHttpVerb.GET}},102:function(e,t,r){r.d(t,{k:function(){return n}});var n={path:"/scanner/queue",method:r(8700).RouteHttpVerb.POST}},6964:function(e,t,r){r.d(t,{M:function(){return n}});var n={path:"/scanner/result/externals/:hostOrPreset",method:r(8700).RouteHttpVerb.GET}},4788:function(e,t,r){r.d(t,{M:function(){return n}});var n={path:"/scanner/result/externals",method:r(8700).RouteHttpVerb.GET}},4375:function(e,t,r){r.d(t,{C:function(){return n}});var n={path:"/scanner/result/externals/:host",method:r(8700).RouteHttpVerb.PUT}},4531:function(e,t,r){r.d(t,{$:function(){return n}});var n={path:"/scanner/result/markup/:id",method:r(8700).RouteHttpVerb.GET}},9977:function(e,t,r){r.d(t,{e:function(){return n}});var n={path:"/scanner/result/presets",method:r(8700).RouteHttpVerb.GET}},4137:function(e,t,r){r.d(t,{Y:function(){return n}});var n={path:"/tcf/declarations",method:r(8700).RouteHttpVerb.GET}},6692:function(e,t,r){r.d(t,{y:function(){return n}});var n={path:"/tcf/gvl",method:r(8700).RouteHttpVerb.PUT}},184:function(e,t,r){r.d(t,{f:function(){return n}});var n={path:"/tcf/vendors",method:r(8700).RouteHttpVerb.GET}},74:function(e,t,r){r.d(t,{g:function(){return n}});var n={path:"/settings",namespace:"wp/v2",method:r(8700).RouteHttpVerb.GET}},939:function(e,t,r){r.d(t,{J:function(){return n}});var n={path:"/settings",namespace:"wp/v2",method:r(8700).RouteHttpVerb.PATCH}},9738:function(){},1696:function(){},7363:function(e){e.exports=React},1533:function(e){e.exports=ReactDOM},6711:function(e){e.exports=ReactRouterDOM},490:function(e){e.exports=devowlWp_customize},9445:function(e){e.exports=devowlWp_realProductManagerWpClient},6:function(e){e.exports=devowlWp_realQueue},8700:function(e){e.exports=devowlWp_utils},5311:function(e){e.exports=jQuery},7821:function(e){e.exports=mobx},8488:function(e){e.exports=moment},5998:function(e){e.exports=wp}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return n[e](r,r.exports,i),r.loaded=!0,r.exports}i.m=n,e=[],i.O=function(t,r,n,o){if(!r){var a=1/0;for(u=0;u<e.length;u++){r=e[u][0],n=e[u][1],o=e[u][2];for(var s=!0,c=0;c<r.length;c++)(!1&o||a>=o)&&Object.keys(i.O).every((function(e){return i.O[e](r[c])}))?r.splice(c--,1):(s=!1,o<a&&(a=o));if(s){e.splice(u--,1);var l=n();void 0!==l&&(t=l)}}return t}o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,n,o]},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=function(e){return Promise.all(Object.keys(i.f).reduce((function(t,r){return i.f[r](e,t),t}),[]))},i.u=function(e){return({3:"chunk-config-tab-scanner",184:"chunk-config-tab-tcf",322:"chunk-config-tab-licensing",357:"chunk-config-tab-import",379:"chunk-config-tab-dashboard",478:"chunk-config-tab-blocker",625:"chunk-config-tab-consent",718:"chunk-config-tab-cookies",768:"chunk-config-tab-settings"}[e]||e)+".lite.js?ver="+{3:"2e5d473ab43ee89982a5",138:"2a84dc7640aee5713d6e",152:"052f6d43e334268c95bd",184:"e56ded564235ab6957b3",193:"ce7e07933bcbf069b690",322:"c6c2710d6e50430499cd",357:"2605a6782399361261ee",379:"f47fb99019a8534edb92",411:"49967c6ebf6317fa7624",440:"abce2a866d4b5996c6bb",478:"1152f1a2a7281709f1a5",547:"7b5925702aa799ec461c",625:"4da355ef33562f29add1",717:"730891213175f653cc90",718:"76784ebdac98d22b7776",728:"91d02ab85ad640c1bab5",768:"82b992a6edea9c956611",795:"ef626740f77410656823",813:"db259738faaaada66048",914:"2979ca58d101a6abfbf5",930:"2f5a69377c784e62c401",954:"07834ea3d146ab79e80d"}[e]},i.miniCssF=function(e){return"admin.css"},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t={},r="realCookieBanner_[name]:",i.l=function(e,n,o,a){if(t[e])t[e].push(n);else{var s,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var p=l[u];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")==r+o){s=p;break}}s||(c=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",r+o),s.src=e),t[e]=[n];var f=function(r,n){s.onerror=s.onload=null,clearTimeout(h);var o=t[e];if(delete t[e],s.parentNode&&s.parentNode.removeChild(s),o&&o.forEach((function(e){return e(n)})),r)return r(n)},h=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},function(){var e;i.g.importScripts&&(e=i.g.location+"");var t=i.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");r.length&&(e=r[r.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e}(),function(){var e={328:0};i.f.j=function(t,r){var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise((function(r,o){n=e[t]=[r,o]}));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(function(r){if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}},i.O.j=function(t){return 0===e[t]};var t=function(t,r){var n,o,a=r[0],s=r[1],c=r[2],l=0;if(a.some((function(t){return 0!==e[t]}))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)var u=c(i)}for(t&&t(r);l<a.length;l++)o=a[l],i.o(e,o)&&e[o]&&e[o][0](),e[a[l]]=0;return i.O(u)},r=self.webpackChunkrealCookieBanner_name_=self.webpackChunkrealCookieBanner_name_||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))}();var a=i.O(void 0,[194],(function(){return i(3162)}));a=i.O(a),realCookieBanner_admin=a}();
2
  //# sourceMappingURL=admin.lite.js.map
1
+ var realCookieBanner_admin;!function(){"use strict";var e,t,r,n={3055:function(e,t,r){var n,o;r.d(t,{r:function(){return n}}),function(e){e.Cookie="cookie",e.Web="web",e.App="app"}(n||(n={})),function(e){e.Bulgarian="bg",e.Catalan="ca",e.Czech="cs",e.Danish="da",e.German="de",e.Greek="el",e.Spanish="es",e.Estonian="et",e.Basque="eus",e.Finnish="fi",e.French="fr",e.Galician="gl",e.Croatian="hr",e.Hungarian="hu",e.Italian="it",e.Japanese="ja",e.Lithuanian="lt",e.Latvian="lv",e.Maltese="mt",e.Dutch="nl",e.Norwegian="no",e.Polish="pl",e.Portuguese="pt",e.Romanian="ro",e.SerbianCyrillic="sr-Cyrl",e.SerbianLatin="sr-Latn",e.Russian="ru",e.Slovak="sk",e.Slovenian="sl",e.Swedish="sv",e.Turkish="tr",e.Chinese="zh"}(o||(o={}))},3162:function(e,t,r){r.r(t),r.d(t,{locationRestChecklistGet:function(){return Z.gn},locationRestChecklistPut:function(){return Z.s5},locationRestConsentAllDelete:function(){return Z.Ok},locationRestConsentAllGet:function(){return Z.cI},locationRestConsentClearDelete:function(){return Z.rz},locationRestConsentDynamicPredecisionGet:function(){return Z.aY},locationRestConsentForwardPost:function(){return Z.vY},locationRestConsentGet:function(){return Z.JQ},locationRestConsentPost:function(){return Z.PM},locationRestConsentRefererGet:function(){return Z.qD},locationRestCookieGroupOrderPut:function(){return Z.BI},locationRestCookieUnassignedGet:function(){return Z.pV},locationRestCookiesOrderPut:function(){return Z.It},locationRestCountryBypassDatabasePut:function(){return Z._3},locationRestExportConsentsGet:function(){return Z.QB},locationRestExportGet:function(){return Z.Vm},locationRestForwardCookieGet:function(){return Z.Vc},locationRestForwardEndpointsGet:function(){return Z.AW},locationRestImportPost:function(){return Z.HR},locationRestLiteDismissConfigPageProNotice:function(){return Z.nQ},locationRestMigrationDelete:function(){return Z.oW},locationRestMigrationPost:function(){return Z.nX},locationRestPresetsBannerGet:function(){return Z.tX},locationRestPresetsBlockerAttributesGet:function(){return Z.N9},locationRestPresetsBlockerGet:function(){return Z.Wu},locationRestPresetsCookiesAttributesGet:function(){return Z.tw},locationRestPresetsCookiesGet:function(){return Z.zf},locationRestRevisionCurrentGet:function(){return Z.GQ},locationRestRevisionCurrentPut:function(){return Z.a4},locationRestRevisionGet:function(){return Z.Z1},locationRestRevisionIndependentGet:function(){return Z.TB},locationRestScannerQueuePost:function(){return Z.kv},locationRestScannerResultAllExternalUrlsByHostGet:function(){return Z.ME},locationRestScannerResultExternalPatch:function(){return Z.Ce},locationRestScannerResultExternalsGet:function(){return Z.MQ},locationRestScannerResultMarkupGet:function(){return Z.$5},locationRestScannerResultPresetsGet:function(){return Z.eO},locationRestStatsButtonsClickedGet:function(){return Z.$Q},locationRestStatsCustomBypassGet:function(){return Z.gh},locationRestStatsMainGet:function(){return Z.BV},locationRestTcfDeclarationsGet:function(){return Z.Y3},locationRestTcfGvlPut:function(){return Z.yR},locationRestTcfVendorsGet:function(){return Z.fs},locationRestWpSettings:function(){return Z.g3},locationRestWpSettingsPatch:function(){return Z.J3},ChecklistStore:function(){return w.L_},ConsentStore:function(){return w.v},CookieStore:function(){return w.hc},CustomizeBannerStore:function(){return w.WS},OptionStore:function(){return w.aZ},RootStore:function(){return w.My},ScannerStore:function(){return w.Cu},StatsStore:function(){return w.et},TcfStore:function(){return w.z},useStores:function(){return w.mZ}});var n=r(8782),o=r(3249),i=r(63),a=r(7938),s=r(5450),c=r.n(s),l=(r(3523),r(1533)),u=r(4614),p=r(1312),f=(r(1696),r(9738),r(8488)),h=r.n(f),b=r(8700),d=r(5408),v={};for(var y in b)"default"!==y&&(v[y]=function(e){return b[e]}.bind(0,y));r.d(t,v);var m,g,Z=r(9332),w=r(5187);r.p=(0,b.getWebpackPublicPath)({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"1",TCF_CMP_ID:367}),null===b.handleCorrupRestApi||void 0===b.handleCorrupRestApi||(0,b.handleCorrupRestApi)((m={},(0,i.Z)(m,u.M.get.optionStore.restNamespace,(0,a.Z)(c().mark((function e(){return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,d.W)({location:{path:"/plugin"}});case 2:case"end":return e.stop()}}),e)})))),(0,i.Z)(m,"wp/v2",(g=(0,a.Z)(c().mark((function e(){return c().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,d.W)({location:{path:"/settings",namespace:"wp/v2"}});case 2:case"end":return e.stop()}}),e)}))),function(){return g.apply(this,arguments)})),m)),o.ZP.config({prefixCls:"rcb-antd"}),n.ZP.config({top:50});var k=document.getElementById("".concat(u.M.get.optionStore.slug,"-component"));k&&(0,l.render)(React.createElement(o.ZP,{prefixCls:"rcb-antd",locale:{locale:h().locale()}},React.createElement(u.M.StoreProvider,null,React.createElement(p.K,null))),k)},2142:function(e,t,r){r.d(t,{b:function(){return w}});var n=r(9591),o=r(4094),i=r(4741),a=r(6107),s=r(7228),c=r(4115),l=r(7363),u=r(3554),p=r(5071),f=r(1857),h=r(5406),b=r(8719),d=r(3058),v=r(4614),y=r(3289),m=r(4522),g=(0,u.Pi)((function(e){var t=e.id,r=e.checked,n=e.title,o=e.description,i=e.link,s=e.linkText,c=e.linkTarget,l=e.needsPro,u=e.onLinkClick,g=!(0,v.m)().optionStore.others.isPro&&l,Z=null;if("scanner"===t){var w=(0,y.p)(),k=w.percent,R=w.remaining,C=w.currentJob;R>0&&k>0&&(null==C?void 0:C.group_position)>0&&(Z=React.createElement(a.Z,null,(0,p.__)("Currently scanning (%d %%)",k)))}return React.createElement("div",{style:{margin:"5px 0"}},React.createElement(f.Z,{title:r&&o},React.createElement("span",null,g?React.createElement(h.Z,{style:{color:"#7ec8ec"}}):r?React.createElement(b.Z,{style:{color:"#52c41a"}}):React.createElement(d.Z,{style:{color:"#e2e2e2"}})," ",React.createElement("span",{style:{textDecoration:r?"line-through":void 0,fontWeight:"bold"}},n),!!i&&!!s&&React.createElement(React.Fragment,null,"  •  ",React.createElement("a",{href:i,target:c,rel:"noreferrer",onClick:u},s)))),g&&"get-pro"!==t&&React.createElement(React.Fragment,null," ",React.createElement(a.Z,{color:m.k},(0,p.__)("Needs PRO"))),!!Z&&React.createElement(React.Fragment,null," ",Z),!!o&&!r&&React.createElement("p",{className:"description",style:{paddingLeft:17}},o))})),Z=r(2046),w=(0,u.Pi)((function(e){var t=e.onLinkClick,r=(0,c.Z)(e,["onLinkClick"]),u=(0,v.m)().checklistStore,f=u.busyChecklist,h=u.items,b=u.completed,y=u.checkable,m=u.done,w=u.checklist.overdue,k=(0,l.useState)("boolean"==typeof r.showHidden?r.showHidden:!m),R=(0,s.Z)(k,2),C=R[0],P=R[1];return React.createElement(n.Z,{spinning:f},React.createElement(o.Z,{direction:"vertical",size:"large"},w&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:0}},React.createElement("p",null,(0,p.__)("How time flies! You have installed Real Cookie Banner some time ago, but you still haven't finished the configuration yet."))),React.createElement("p",{className:"description"},(0,p.__)("We have collected all relevant steps for the legally compliant use of Real Cookie Banner after the first installation. Set up the cookie banner step by step to add an opt-in cookie banner to your website in compliance with the ePrivacy Directive and GDPR.")),React.createElement("div",null,m&&(C?React.createElement(a.Z,{icon:React.createElement(Z.Z,null),color:"default",style:{cursor:"pointer"},onClick:function(){return P(!1)}},(0,p.__)("Hide completed steps")):React.createElement(a.Z,{icon:React.createElement(d.Z,null),color:"success",style:{cursor:"pointer"},onClick:function(){return P(!0)}},(0,p.__)("%d / %d steps completed",b.length>y.length?y.length:b.length,y.length))),h.map((function(e){var r=e.id,n=(0,c.Z)(e,["id"]);return!C&&n.checked?null:React.createElement(g,(0,i.Z)({key:r,id:r},n,{onLinkClick:function(e){["get-pro"].indexOf(r)>-1&&u.toggleChecklistItem(r,!0),null==t||t(e)}}))})))))}))},294:function(e,t,r){r.d(t,{DR:function(){return y},Gh:function(){return d},Ki:function(){return v}});var n=r(2519),o=r(8920),i=r(9943),a=r(6315),s=r(6478),c=r(7363),l=r(3554),u=r(5071),p=r(8240),f=r(8042),h=r(4342),b=r(4614),d="Google Tag Manager",v="Matomo Tag Manager",y=(0,l.Pi)((function(){var e=(0,b.m)().optionStore,t=e.refreshSiteAfterConsent,r=e.imprintExternalUrl,l=e.imprintIsExternalUrl,y=e.privacyPolicyExternalUrl,m=e.privacyPolicyIsExternalUrl,g=e.others,Z=g.isPro,w=g.customizeBannerUrl,k=(0,c.useCallback)((function(e){return"".concat(w.replace(/autofocus\[panel]=[\w-]+/,"autofocus[section]=".concat(e)),"&return=").concat(encodeURIComponent(window.location.href))}),[w])("real-cookie-banner-banner-legal");return React.createElement(React.Fragment,null,React.createElement(a.Z.Item,{noStyle:!0,shouldUpdate:function(e,t){return e.bannerActive!==t.bannerActive}},(function(e){var t=e.getFieldValue,r=e.setFieldsValue,n=t("bannerActive");return React.createElement(React.Fragment,null,React.createElement(a.Z.Item,{label:(0,u.__)("Cookie Banner/Dialog")},React.createElement(a.Z.Item,{noStyle:!0,name:"bannerActive",valuePropName:"checked"},React.createElement(s.Z,{style:{display:n?void 0:"none"}})),!n&&React.createElement(i.Z,{title:(0,u.__)("I have already checked/will check all text in the cookie banner and content blocker myself. I have added missing information and corrected information that does not fit my use case."),cancelText:(0,u.__)("Cancel"),okText:(0,u.__)("Activate now!"),overlayStyle:{maxWidth:450},onCancel:function(){r({bannerActive:!1})},onConfirm:function(){r({bannerActive:!0})},placement:"bottomLeft"},React.createElement(s.Z,{checked:!1})),React.createElement("p",{className:"description",style:{marginTop:5}},(0,u.__)("You can enable and disable the cookie banner. We recommend to activate the cookie banner on your website after you have added all services."))),React.createElement(a.Z.Item,{label:(0,u.__)("Content Blocker"),style:{display:n?void 0:"none"}},React.createElement(a.Z.Item,{name:"blockerActive",valuePropName:"checked",noStyle:!0},React.createElement(s.Z,{style:{marginTop:5}})),React.createElement("p",{className:"description",style:{marginTop:5}},(0,u.__)("This feature allows you to block content that would process personal data and set cookies, but for which you do not yet have the visitor's consent."))))})),React.createElement(a.Z.Item,{label:(0,u.__)("Refresh site after consent"),style:{display:t?void 0:"none"}},React.createElement(a.Z.Item,{name:"refreshSiteAfterConsent",noStyle:!0},React.createElement(o.ZP.Group,null,React.createElement(o.ZP.Button,{value:!1},(0,u.__)("Do not refresh")),React.createElement(o.ZP.Button,{value:!0},(0,u.__)("Refresh")))),React.createElement("p",{className:"description"},(0,u.__)("Depending on how services are loaded, e.g. by other plugins on your website, it may be necessary to reload the website after the user has consented to the setting of cookies (only necessary in very rare cases)."))),React.createElement(a.Z.Item,{label:(0,u.__)("Hide cookie banner on specific pages")},React.createElement("p",{className:"description",style:{marginTop:7}},(0,u.__)("According to the ePrivacy Directive, legally required pages such as the privacy policy or the imprint (depending on the country) may be accessible without the user having to give consent to services and their cookies. Therefore, it is recommended to avoid processing personal data and setting cookies on these pages and not to display a cookie banner.")),React.createElement(a.Z.Item,{label:(0,u.__)("Imprint Page"),labelCol:{span:24},wrapperCol:{span:12},style:{marginBottom:12}},l?React.createElement(n.Z,{value:r,readOnly:!0,addonAfter:React.createElement("a",{className:"button-link alignright",rel:"noreferrer",target:"_blank",href:k},(0,u.__)("Edit"))}):React.createElement(a.Z.Item,{name:"imprintId",noStyle:!0},React.createElement(p.m,{postType:"pages",forceDefaultLanguage:!0,postStatus:["publish"],perPage:100}))),React.createElement(a.Z.Item,{label:(0,u.__)("Privacy policy page"),labelCol:{span:24},wrapperCol:{span:12},style:{marginBottom:12}},m?React.createElement(n.Z,{value:y,readOnly:!0,addonAfter:React.createElement("a",{className:"button-link alignright",rel:"noreferrer",target:"_blank",href:k},(0,u.__)("Edit"))}):React.createElement(a.Z.Item,{name:"privacyPolicyId",noStyle:!0},React.createElement(p.m,{postType:"pages",forceDefaultLanguage:!0,postStatus:["publish"],perPage:100}))),React.createElement(a.Z.Item,{label:React.createElement(React.Fragment,null,(0,u.__)("Hide on additional pages")," ",React.createElement(f.g,{title:(0,u.__)("Want to hide cookie banner on more pages?"),testDrive:!0,feature:"hide-page-ids",description:(0,u.__)("Cookie banners are legally necessary, but distract your users from the essentials. For example, on landing pages for advertising campaigns, they lead to lower conversion rates. On these pages, it can be useful to avoid processing personal data and setting cookies to keep the conversion rate high. You can hide the cookie banner on these pages.")})),labelCol:{span:24},wrapperCol:{span:12},style:{marginBottom:12}},React.createElement(a.Z.Item,{name:"hidePageIds",noStyle:!0},React.createElement(p.m,{postType:"pages",multiple:!0,disabled:!Z,forceDefaultLanguage:!0,postStatus:["publish"],perPage:100})))),React.createElement(a.Z.Item,{label:(0,u.__)("Load services after consent via")},React.createElement(a.Z.Item,{name:"setCookiesViaManager",noStyle:!0},React.createElement(o.ZP.Group,null,React.createElement(o.ZP.Button,{disabled:!Z,value:"none"},(0,u.__)("HTML/JavaScript Snippet")),React.createElement(o.ZP.Button,{disabled:!Z,value:"googleTagManager"},(0,u.__)("%s Event",d)),React.createElement(o.ZP.Button,{disabled:!Z,value:"matomoTagManager"},(0,u.__)("%s Event",v)))),React.createElement("div",{style:{margin:"5px 0px 0px"}},React.createElement(h.r,{url:(0,u.__)("https://devowl.io/knowledge-base/real-cookie-banner-with-google-tag-manager-or-matomo-tag-manager/")}),React.createElement(f.g,{title:(0,u.__)("Want to use a Tag Manager legally?"),testDrive:!0,feature:"set-cookies-via-manager",assetName:(0,u.__)("pro-modal/set-cookies-via-manager.png"),description:(0,u.__)("You can integrate services via Google Tag Manager or Matomo Tag Manager. At the same time, you can obtain and document consents via Real Cookie Banner in accordance with data protection regulations.")})),React.createElement("p",{className:"description"},React.createElement("strong",null,(0,u.__)("You only need to change this option if you use Google Tag Manager or Matomo Tag Manager."))," ",(0,u._i)((0,u.__)("If you opt-in to or opt-out from services, you will normally execute JavaScript code to ensure that scripts are enabled/disabled and cookies are set/removed on the visitor's client. If you are a Google Tag Manager or Matomo Tag Manager user, you can map this behavior by using tags that are triggered by an event in the data layer. {{strong}}If you enable this option,{{/strong}} the Google Tag Manager or Matomo Tag Manager should not yet be integrated into your website. Instead, you must integrate it as an opt-in script of a service you create for the Tag Manager. For each service listed in this plugin, you will receive an additional field where you can specify the name of the event that is automatically triggered when the user opt-in or opt-out. We have a full integration for tag managers which should allow you to run it legally compliant in the EU."),{strong:React.createElement("strong",null)}))))}))},1312:function(e,t,r){r.d(t,{K:function(){return F},m:function(){return T}});var n=r(2202),o=r(7228),i=r(9591),a=r(7363),s=r(3554),c=r(6711),l=r(5071),u=r(4614),p=r(9943),f=(0,s.Pi)((function(){var e=(0,u.m)().optionStore,t=(0,c.useLocation)().pathname;return e.needsRevisionRetrigger&&-1===t.indexOf("/edit/")&&-1===t.indexOf("/new")&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l.__)("You have changed settings that affect the content or behavior of the cookie banner. You should ask all visitors for their consent again.")," ","•"," ",React.createElement("a",{style:{cursor:"pointer",textDecoration:"underline"},onClick:function(){return e.updateCurrentRevision({needs_retrigger:!0})}},(0,l.__)("Request new consent"))," ","•"," ",React.createElement(p.Z,{title:React.createElement(React.Fragment,null,React.createElement("strong",null,(0,l.__)("Are you sure you don't want to collect new consents?")),React.createElement("br",null),React.createElement("br",null),(0,l._i)((0,l.__)("Consent must be obtained in accordance with {{a}}Art. 7 GDPR{{/a}}. Your visitor must be informed about all circumstances of the consent. However, you have made changes to your cookie banner, which lead to the fact that previously visitors have consented differently or to something different than is now in the cookie banner. Therefore, previously collected consents may have become partially invalid."),{a:React.createElement("a",{href:(0,l.__)("https://gdpr-info.eu/art-7-gdpr/"),rel:"noreferrer",target:"_blank"})}),React.createElement("br",null),React.createElement("br",null),(0,l.__)("If you have created a new service like Google Analytics (without visual content blocker), previous visitors can never consent without collecting new consents and you cannot track them, for example.")),placement:"bottomRight",onConfirm:function(){return e.updateCurrentRevision({needs_retrigger:!1})},okText:(0,l.__)("Dismiss notice"),cancelText:(0,l.__)("Cancel"),overlayStyle:{maxWidth:450}},React.createElement("a",{style:{cursor:"pointer",textDecoration:"underline"}},(0,l.__)("Dismiss notice")))))})),h=(0,s.Pi)((function(){var e=(0,u.m)().optionStore,t=e.publicCookieCount,r=e.busySettings;return e.bannerActive&&!t&&!r&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l.__)("The cookie banner is activated, but unfortunately you have not yet created or enabled services.")))})),b=r(6703),d=(0,s.Pi)((function(){return!!(0,b.u)().showNoticeAnonymousScriptNotWritable&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l._i)((0,l.__)("Your {{code}}wp-content{{/code}} folder is not writable. Please check your permissions!"),{code:React.createElement("code",null)})))})),v=(0,s.Pi)((function(e){var t=e.manager,r=e.managerId,n=e.hasManagerAttributeName,o=e.presetId,i=(0,u.m)().optionStore,a=i.setCookiesViaManager,s=i[n],p=(0,c.useLocation)().pathname;return a===r&&!s&&/^\/cookies\/\d+$/.test(p)&&React.createElement("div",{className:"notice notice-warning inline below-h2 notice-alt",style:{margin:"10px 0 0 0"}},React.createElement("p",null,(0,l._i)((0,l.__)("You have not yet defined a %s service. To use {{strong}}%s{{/strong}} with Real Cookie Banner, you must create the appropriate service.",t,t),{strong:React.createElement("strong",null)})," ","• ",React.createElement("a",{href:"#".concat(p,"/new?force=").concat(o)},(0,l.__)("Create now"))))})),y=r(2200),m=function(){var e=(0,c.useHistory)().listen;return(0,a.useEffect)((function(){var t=e((function(){(0,y.X)(0)}));return function(){t()}}),[e]),null},g=r(294),Z=r(6069),w=r(3058),k=r(6800),R=(0,s.Pi)((function(){var e=(0,u.m)().optionStore,t=e.others,r=t.proUrl,n=t.isPro,o=t.isConfigProNoticeVisible,i="".concat(r,"&feature=main-button"),s=(0,a.useCallback)((function(){window.open(i,"_blank"),e.dismissConfigProNotice()}),[e]),c=(0,a.useCallback)((function(){e.dismissConfigProNotice()}),[e]);return!n&&React.createElement(p.Z,{visible:!!o,title:(0,l.__)("Thank you for using the free version of Real Cookie Banner. You might also be interested in the PRO version, which offers you more features, 20+ design templates, 100+ service templates, 60+ content blocker templates and much more."),icon:React.createElement(k.Z,{style:{color:"#1890ff"}}),placement:"bottom",onConfirm:s,onCancel:c,cancelText:(0,l.__)("No, not interested..."),okText:(0,l.__)("I want to learn more!"),overlayStyle:{maxWidth:450}},React.createElement("a",{className:"page-title-action",rel:"noreferrer",onClick:s},(0,l.__)("Get PRO version")))})),C=r(2142),P=(0,s.Pi)((function(){var e=(0,a.useState)(!1),t=(0,o.Z)(e,2),r=t[0],n=t[1],i=(0,u.m)(),s=i.optionStore,p=i.checklistStore,f=(0,c.useLocation)().pathname,h=s.others.customizeBannerUrl,b=s.publicUrl,d=p.completed,v=p.checkable,y=p.done;(0,a.useEffect)((function(){p.fetchChecklist()}),[]);var m=(0,a.useCallback)((function(e){window.location.href="".concat(h,"&return=").concat(encodeURIComponent(window.location.href)),e.preventDefault()}),[]),g=(0,a.useCallback)((function(){n(!0),p.fetchChecklist()}),[n]),k=(0,a.useCallback)((function(){n(!1)}),[n]);return React.createElement(React.Fragment,null,React.createElement("h1",{className:"wp-heading-inline"},(0,l.__)("Real Cookie Banner")),React.createElement("img",{className:"rcb-nav-logo",src:"".concat(b,"images/logos/real-cookie-banner.svg")}),React.createElement("a",{className:"page-title-action",href:"#",onClick:m},(0,l.__)("Customize banner")),React.createElement(R,null),!y&&"/"!==f&&React.createElement(React.Fragment,null,React.createElement("a",{className:"page-title-action",style:{color:"#52c41a",background:"#f6ffed",borderColor:"#85af65"},onClick:g},React.createElement(w.Z,null)," ",(0,l.__)("%d / %d steps completed",d.length>v.length?v.length:d.length,v.length)),React.createElement(Z.Z,{visible:r,title:(0,l.__)("Set up the cookie banner"),onCancel:k,okButtonProps:{style:{display:"none"}},cancelText:(0,l.__)("Close"),width:800},React.createElement(C.b,{showHidden:!0,onLinkClick:k}))),React.createElement("hr",{className:"wp-header-end"}))})),S=r(9871),E=(0,s.Pi)((function(){var e=(0,u.m)().optionStore.publicUrl;return React.createElement("div",{className:"rcb-config-footer"},(0,l._i)((0,l.__)("Real Cookie Banner is brought to you with {{icon/}} by"),{icon:React.createElement(S.Z,{style:{color:"#dca7a7"}})}),React.createElement("a",{href:"https://devowl.io/",target:"_blank",rel:"noreferrer"},React.createElement("img",{src:"".concat(e,"images/logos/devowl-with-text.svg")})))})),_=r(8700),x=r(3289),O=r(6),D=r(3537),z={display:"block",marginTop:10},T=function(e,t){return{default:function(){return React.createElement(_.SuspenseChunkTranslation,{chunkFile:r.u("chunk-config-tab-".concat(e)),options:function(){return(0,u.m)().optionStore},fallback:React.createElement(i.Z,{spinning:!0,style:z})},t)}}},I=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(728),r.e(914),r.e(411),r.e(379)]).then(r.bind(r,6968)).then((function(e){var t=e.DashboardCards;return T("dashboard",React.createElement(t,null))}))})),A=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(768)]).then(r.bind(r,8386)).then((function(e){var t=e.SettingsForm;return T("settings",React.createElement(t,null))}))})),M=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(728),r.e(813),r.e(930),r.e(547),r.e(795),r.e(193),r.e(138),r.e(3)]).then(r.bind(r,645)).then((function(e){var t=e.ScannerRouter;return T("scanner",React.createElement(t,null))}))})),B=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(728),r.e(813),r.e(930),r.e(547),r.e(717),r.e(138),r.e(152),r.e(718)]).then(r.bind(r,2524)).then((function(e){var t=e.CookieGroupsTabRouter;return T("cookies",React.createElement(t,null))}))})),N=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(728),r.e(813),r.e(914),r.e(930),r.e(795),r.e(625)]).then(r.bind(r,4386)).then((function(e){var t=e.ConsentTabRouter;return T("consent",React.createElement(t,null))}))})),j=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(728),r.e(813),r.e(547),r.e(138),r.e(152),r.e(478)]).then(r.bind(r,4362)).then((function(e){var t=e.BlockerRouter;return T("blocker",React.createElement(t,null))}))})),U=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(914),r.e(193),r.e(954),r.e(357)]).then(r.bind(r,5484)).then((function(e){var t=e.ImportExportCards;return T("import",React.createElement(t,null))}))})),V=(0,a.lazy)((function(){return Promise.all([r.e(440),r.e(322)]).then(r.bind(r,5646)).then((function(e){var t=e.ConfigLicensing;return T("licensing",React.createElement(t,null))}))})),F=(0,s.Pi)((function(){var e=(0,x.p)(),t=e.percent,r=e.remaining,s=e.currentJob,p=(0,u.m)(),b=p.optionStore,y=p.checklistStore,Z=b.others,w=Z.showLicenseFormImmediate,k=(0,o.Z)(Z.colorScheme,3)[2];return(0,a.useLayoutEffect)((function(){b.fetchSettings();var e=function(){y.fetchChecklist()},t="".concat(O.JOB_DONE_EVENT_PREFIX).concat(D.b);return document.addEventListener(t,e),function(){document.removeEventListener(t,e)}}),[]),w?React.createElement(a.Suspense,{fallback:React.createElement(i.Z,{spinning:!0,style:z})},React.createElement(V,null)):React.createElement(c.HashRouter,null,React.createElement(P,null),React.createElement("nav",{className:"nav-tab-wrapper wp-clearfix"},React.createElement(c.NavLink,{to:"/",className:"nav-tab",activeClassName:"nav-tab-active",exact:!0},(0,l.__)("Dashboard")),React.createElement(c.NavLink,{to:"/settings",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Settings")),React.createElement(c.NavLink,{to:"/scanner",className:"nav-tab",activeClassName:"nav-tab-active"},r>0&&t>0&&(null==s?void 0:s.group_position)>0?React.createElement(n.Z,{count:"".concat(t," %"),style:{top:-11,fontSize:10,height:16,lineHeight:"16px",background:k}},(0,l.__)("Scanner")):(0,l.__)("Scanner")),React.createElement(c.NavLink,{to:"/cookies",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Services (Cookies)")),React.createElement(c.NavLink,{to:"/blocker",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Content Blocker")),React.createElement(c.NavLink,{to:"/consent",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Consent")),React.createElement(c.NavLink,{to:"/import",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Import / Export")),"try.devowl.io"!==window.location.host&&React.createElement(c.NavLink,{to:"/licensing",className:"nav-tab",activeClassName:"nav-tab-active"},(0,l.__)("Licensing")),React.createElement("a",{href:(0,l.__)("https://devowl.io/support/"),className:"nav-tab",target:"_blank",rel:"noreferrer"},(0,l.__)("Support"))),React.createElement(f,null),React.createElement(h,null),React.createElement(d,null),React.createElement(v,{manager:g.Gh,managerId:"googleTagManager",hasManagerAttributeName:"hasGTM",presetId:"gtm"}),React.createElement(v,{manager:g.Ki,managerId:"matomoTagManager",hasManagerAttributeName:"hasMTM",presetId:"mtm"}),React.createElement(m,null),React.createElement(a.Suspense,{fallback:React.createElement(i.Z,{spinning:!0,style:z})},React.createElement(c.Switch,null,React.createElement(c.Route,{path:"/",exact:!0},React.createElement(I,null)),React.createElement(c.Route,{path:"/settings/:tab?"},b.areSettingsFetched?React.createElement(A,null):null),React.createElement(c.Route,{path:"/scanner"},React.createElement(M,null)),React.createElement(c.Route,{path:"/cookies/:cookieGroup?"},React.createElement(B,null)),React.createElement(c.Route,{path:"/consent/:tab?"},React.createElement(N,null)),React.createElement(c.Route,{path:"/blocker"},React.createElement(j,null)),React.createElement(c.Route,{path:"/import"},React.createElement(U,null)),React.createElement(c.Route,{path:"/licensing"},React.createElement(V,null)))),React.createElement(E,null))}))},4342:function(e,t,r){r.d(t,{r:function(){return s}});var n=r(6107),o=r(2711),i=r(7088),a=r(5071),s=function(e){var t=e.url,r=e.style,s=void 0===r?void 0:r,c=e.label,l=void 0===c?(0,a.__)("Learn more"):c,u=(0,o.Z)({cursor:"pointer"},s);return React.createElement(n.Z,{style:u,onClick:function(){return window.open(t,"_blank")}},React.createElement(i.Z,null)," ",l)}},8240:function(e,t,r){r.d(t,{m:function(){return y}});var n=r(3828),o=r(9591),i=r(2711),a=r(7938),s=r(7228),c=r(5450),l=r.n(c),u=r(7363),p=r(6965),f=r(6703),h=r(5408),b=r(5071),d=r(2936),v=r(8700),y=function(e){var t=e.postType,r=e.postStatus,c=void 0===r?["draft","publish","private"]:r,y=e.perPage,m=void 0===y?10:y,g=e.value,Z=e.multiple,w=e.disabled,k=e.forceDefaultLanguage,R=e.onChange,C=e.titleRender,P=void 0===C?function(e){return e.title.rendered}:C,S=e.filter,E=void 0===S?function(){return!0}:S,_=(0,u.useState)(!1),x=(0,s.Z)(_,2),O=x[0],D=x[1],z=(0,u.useState)(g),T=(0,s.Z)(z,2),I=T[0],A=T[1],M=(0,u.useState)(!1),B=(0,s.Z)(M,2),N=B[0],j=B[1],U=(0,u.useState)([]),V=(0,s.Z)(U,2),F=V[0],G=V[1],W=(0,u.useCallback)(function(){var e=(0,a.Z)(l().mark((function e(r){var n,o,a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return j(!0),n=(0,f.u)(),o=n.defaultLanguage,a=n.currentLanguage,e.next=4,(0,h.W)({location:{path:"/".concat(t),method:v.RouteHttpVerb.GET,namespace:"wp/v2"},request:(0,i.Z)({status:r.include?["draft","publish","private"]:c,orderby:r.search?"relevance":"title"},r),params:{rcbForceLang:k?o:a}});case 4:s=e.sent,G(s),j(!1);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[]);return(0,d.N)(O,""===O?0:800,(function(e){!1!==e&&W({search:e,per_page:e.length?50:m})}),(function(e){!1!==e&&j(!0),G([])})),(0,u.useEffect)((function(){(I>0||Array.isArray(I)&&I.length>0)&&W({include:Array.isArray(I)?I:[I]})}),[]),(0,u.useEffect)((function(){JSON.stringify(I)!==JSON.stringify(g)&&(g>0||Array.isArray(g)&&g.length>0)&&(A(g),W({include:Array.isArray(g)?g:[g]}))}),[g,I]),React.createElement(n.Z,{mode:Z?"multiple":void 0,disabled:w,showSearch:!0,value:I,placeholder:(0,b.__)("Search..."),notFoundContent:N?React.createElement(o.Z,{size:"small"}):null,onClick:function(){return D("")},onSearch:D,onChange:function(e){var t=Array.isArray(e)?e.map(Number):+e;A(t),null==R||R(t)},filterOption:!1,loading:N},!Z&&!N&&React.createElement(n.Z.Option,{value:0},(0,b.__)("— Select —")),F.map((function(e){return React.createElement(n.Z.Option,{key:e.id,value:e.id,style:{display:E(e)?void 0:"none"}},(t=P(e),(0,p.C)(t)?null===(r=(new DOMParser).parseFromString('<a href="'.concat(t,'"></a>'),"text/html").querySelector("a"))||void 0===r?void 0:r.href:(new DOMParser).parseFromString(t,"text/html").documentElement.textContent));var t,r})))}},2579:function(e,t,r){r.d(t,{B:function(){return p}});var n=r(6069),o=r(7228),i=r(7363),a=r(9635),s=r(6703),c=r(5071),l=r(8081),u=r(5829),p=function(e){var t=e.visible,r=void 0!==t&&t,p=e.showHints,f=void 0===p||p,h=e.title,b=e.testDrive,d=void 0!==b&&b,v=e.assetName,y=e.description,m=e.feature,g=e.onClose,Z=e.inContainer,w=e.inContainerElement,k=(0,s.u)(),R=k.proUrl,C=k.hints,P=(0,i.useState)(),S=(0,o.Z)(P,2),E=S[0],_=S[1],x=(0,i.useCallback)((function(){window.open("".concat(R,"&feature=").concat(m),"_blank").focus(),null==g||g()}),[g]);(0,i.useEffect)((function(){Z&&E&&(null==E?void 0:E.parentElement.parentElement.previousElementSibling).removeAttribute("tabIndex")}),[E]);var O=null==C?void 0:C.proDialog;return Z&&!w?null:React.createElement(n.Z,{visible:!!Z||r,title:React.createElement("span",null,React.createElement(a.Z,null)," ",h," ",(0,c.__)("Get PRO!")),onOk:x,onCancel:g,cancelText:(0,c.__)("No, not interested..."),okText:(0,c.__)("I want to learn more!"),className:"rcb-pro-modal",width:v?800:600,getContainer:Z?w:void 0},!!v&&React.createElement("img",{style:{marginTop:10},src:"https://assets.devowl.io/in-app/wp-real-cookie-banner/".concat(v)}),React.createElement("div",{style:{maxWidth:600,margin:"auto"},ref:_},React.createElement("p",null,(0,l.E)(y)),d&&React.createElement("p",null,(0,c._i)((0,c.__)("Check out this feature with a {{a}}free sandbox{{/a}} before buying!"),{a:React.createElement("a",{href:"https://try.devowl.io/?product=RCB",target:"_blank",rel:"noreferrer"})}))),!!O&&f&&React.createElement("div",{style:{maxWidth:600,margin:"auto",textAlign:"left"}},React.createElement(u.j,O)))}},5829:function(e,t,r){r.d(t,{j:function(){return a}});var n=r(5489),o=r(8503),i=r(2841),a=function(e){var t=e.title,r=e.description,a=e.link,s=e.linkText,c=e.logo;return React.createElement(React.Fragment,null,React.createElement(i.Z,null,t),React.createElement(n.Z,{wrap:!1,style:{marginBottom:10}},React.createElement(o.Z,{flex:"auto"},!!r&&React.createElement("p",{style:{margin:0}},React.createElement("span",{dangerouslySetInnerHTML:{__html:r}})," ",!!a&&!!s&&React.createElement("a",{href:a,target:"_blank",rel:"noreferrer",className:"button-link"},s))),React.createElement(o.Z,{flex:"150px",style:{alignSelf:"center"}},!!c&&React.createElement("img",{src:c,style:{maxWidth:"calc(100% - 20px)",height:"auto",marginLeft:20}}))))}},8042:function(e,t,r){r.d(t,{g:function(){return i}});var n=r(4115),o=r(4522),i=function(e){e.children;var t=e.wrapperAttributes,r=void 0===t?{}:t,i=(0,n.Z)(e,["children","wrapperAttributes"]),a=(0,o.t)(i),s=a.modal,c=a.tag;return React.createElement(React.Fragment,null,s,React.createElement("span",r,c))}},2936:function(e,t,r){r.d(t,{N:function(){return i}});var n=r(7228),o=r(7363);function i(e,t,r,i){var a=(0,o.useState)(e),s=(0,n.Z)(a,2),c=s[0],l=s[1];return(0,o.useEffect)((function(){var r=setTimeout((function(){l(e)}),t);return null==i||i(e),function(){clearTimeout(r)}}),[e]),(0,o.useEffect)((function(){r(c)}),[c]),c}},4522:function(e,t,r){r.d(t,{t:function(){return f},k:function(){return p}});var n=r(4741),o=r(6107),i=r(7228),a=r(2193),s=r(5071),c=r(4614),l=r(7363),u=r(2579),p="#2db7f5";function f(e,t){var r=(0,l.useState)(!1),f=(0,i.Z)(r,2),h=f[0],b=f[1],d=(0,c.m)().optionStore.others.isPro,v="boolean"==typeof t?t:d,y=(0,l.useCallback)((function(e){b(!0),null==e||e.preventDefault()}),[b]),m=(0,l.useMemo)((function(){return v?null:React.createElement(o.Z,{icon:React.createElement(a.Z,null),color:p,style:{cursor:"pointer"},onClick:y},e.tagText||(0,s.__)("Unlock feature"))}),[y,e]),g=(0,l.useMemo)((function(){return v?null:React.createElement(u.B,(0,n.Z)({visible:h,onClose:function(){return b(!1)}},e))}),[h,b,e]);return{isPro:v,tag:m,modal:g,open:y}}},3289:function(e,t,r){r.d(t,{p:function(){return s}});var n=r(6),o=r(7363),i=r(4614),a=r(3537);function s(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,s=(0,i.m)(),c=s.scannerStore;return(0,n.useProgress)({type:a.u,fetchStatusInterval:e,fetchAdditionalData:t,onAdditionalData:(0,o.useCallback)((function(e){var t=e["rcb-scan-list"],r=t.presets,n=t.externalUrls;c.resultPresetsFromResponse(r),c.resultExternalUrlsFromResponse(n)}),[c]),onCancel:r})}},62:function(e,t,r){r.d(t,{p:function(){return v}});var n,o,i,a,s,c,l,u=r(6724),p=r(6762),f=r(3340),h=r(9303),b=r(7821),d=r(490),v=(n=function(){function e(t,r){var n=this;(0,p.Z)(this,e),(0,u.Z)(this,"id",o,this),(0,u.Z)(this,"name",i,this),(0,u.Z)(this,"needsPro",a,this),(0,u.Z)(this,"description",s,this),(0,u.Z)(this,"tags",c,this),(0,u.Z)(this,"settings",l,this),this.store=void 0,this.resetPreviewInUiSettings=void 0,(0,b.runInAction)((function(){return(0,b.set)(n,t)})),this.store=r}return(0,f.Z)(e,[{key:"applyInUi",value:function(){var e=this;return!(!this.store.rootStore.optionStore.others.isPro&&this.needsPro||(this.previewInUi(),setTimeout((function(){var t=(0,d.getSidebarCustomize)();e.store.presetDefaults.forEach((function(r,n){t(n).set(void 0===e.settings[n]?r:e.settings[n])}))}),100),0))}},{key:"previewInUi",value:function(){var t=(0,d.getSidebarCustomize)(),r=this.store.presetDefaults,n=this.store.rootStore.optionStore.others.customizeIdsBanner.settings,o=[];this.resetPreviewInUiSettings={};for(var i=0,a=Object.keys(n);i<a.length;i++)for(var s=a[i],c=n[s],l=0,u=Object.keys(c);l<u.length;l++){var p=u[l],f=c[p];if(r.has(f)){this.resetPreviewInUiSettings[f]=[s,p,t(f).get()];var h=Object.prototype.hasOwnProperty.call(this.settings,f)?this.settings[f]:r.get(f);o.push([s,p,h])}}e.getIframeStore().customizeBannerStore.setBannerFromPreset(o)}},{key:"resetPreviewInUi",value:function(){this.resetPreviewInUiSettings&&(e.getIframeStore().customizeBannerStore.setBannerFromPreset(Object.values(this.resetPreviewInUiSettings)),this.resetPreviewInUiSettings={})}}],[{key:"getIframeStore",value:function(){try{return document.querySelector("#customize-preview > iframe").contentWindow.realCookieBanner_customize_banner.RootStore.get}catch(e){return}}}]),e}(),o=(0,h.Z)(n.prototype,"id",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i=(0,h.Z)(n.prototype,"name",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,h.Z)(n.prototype,"needsPro",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,h.Z)(n.prototype,"description",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=(0,h.Z)(n.prototype,"tags",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=(0,h.Z)(n.prototype,"settings",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n)},480:function(e,t,r){r.d(t,{R:function(){return p}});var n,o=r(6762),i=r(3340),a=r(3841),s=r(5952),c=r(8700),l=r(5408),u=r(1313),p=c.ClientCollection.annotate({path:"/rcb-blocker",singlePath:"/rcb-blocker/:id",namespace:"wp/v2",methods:[c.RouteHttpVerb.GET],request:l.W})(n=function(e){(0,a.Z)(r,e);var t=(0,s.Z)(r);function r(e){var n;return(0,o.Z)(this,r),(n=t.call(this)).store=void 0,n.store=e,n}return(0,i.Z)(r,[{key:"instance",value:function(e){return new u.p(this).fromResponse(e)}}]),r}(c.AbstractPostCollection))||n},1313:function(e,t,r){r.d(t,{p:function(){return Z}});var n,o,i,a=r(6724),s=r(6762),c=r(3340),l=r(5558),u=r(3071),p=r(8067),f=r(3841),h=r(5952),b=r(9303),d=r(8700),v=r(5408),y=r(9338),m=r(7821),g=r(4614),Z=d.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:v.W,create:{path:"/rcb-blocker"},patch:{path:"/rcb-blocker/:id"},delete:{path:"/rcb-blocker/:id"}})((o=function(e){(0,f.Z)(r,e);var t=(0,h.Z)(r);function r(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,s.Z)(this,r),n=t.call(this,e,o),(0,a.Z)(n,"presetModel",i,(0,l.Z)(n)),(0,m.reaction)((function(){var e;return null===(e=n.data)||void 0===e?void 0:e.preset}),(function(e){return(0,m.runInAction)((function(){n.presetModel=e?new y.w(e,g.M.get.cookieStore):void 0}))}),{fireImmediately:!0}),n}return(0,c.Z)(r,[{key:"hosts",get:function(){var e;return null===(e=this.data)||void 0===e?void 0:e.meta.hosts.split("\n")}},{key:"tcfVendors",get:function(){var e;return null!==(e=this.data)&&void 0!==e&&e.meta.tcfVendors?this.data.meta.tcfVendors.split(",").filter(Boolean).map(Number):[]}},{key:"cookies",get:function(){var e;return null===(e=this.data)||void 0===e?void 0:e.meta.cookies.split(",").filter(Boolean).map(Number)}},{key:"setName",value:function(e){this.data.title.rendered=e}},{key:"setStatus",value:function(e){this.data.status=e}},{key:"setDescription",value:function(e){this.data.content.rendered=e}},{key:"setMeta",value:function(e){this.data.meta=e}},{key:"transformDataForPatch",value:function(){var e=(0,u.Z)((0,p.Z)(r.prototype),"transformDataForPatch",this).call(this);return{title:e.title,content:e.content,status:e.status,meta:e.meta,slug:e.title}}},{key:"afterPatch",value:function(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterDelete",value:function(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterPersist",value:function(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}}]),r}(d.AbstractPost),i=(0,b.Z)(o.prototype,"presetModel",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,b.Z)(o.prototype,"hosts",[m.computed],Object.getOwnPropertyDescriptor(o.prototype,"hosts"),o.prototype),(0,b.Z)(o.prototype,"tcfVendors",[m.computed],Object.getOwnPropertyDescriptor(o.prototype,"tcfVendors"),o.prototype),(0,b.Z)(o.prototype,"cookies",[m.computed],Object.getOwnPropertyDescriptor(o.prototype,"cookies"),o.prototype),(0,b.Z)(o.prototype,"setName",[m.action],Object.getOwnPropertyDescriptor(o.prototype,"setName"),o.prototype),(0,b.Z)(o.prototype,"setStatus",[m.action],Object.getOwnPropertyDescriptor(o.prototype,"setStatus"),o.prototype),(0,b.Z)(o.prototype,"setDescription",[m.action],Object.getOwnPropertyDescriptor(o.prototype,"setDescription"),o.prototype),(0,b.Z)(o.prototype,"setMeta",[m.action],Object.getOwnPropertyDescriptor(o.prototype,"setMeta"),o.prototype),n=o))||n},9338:function(e,t,r){r.d(t,{w:function(){return v}});var n,o,i,a,s=r(6724),c=r(6762),l=r(3340),u=r(9303),p=r(5450),f=r.n(p),h=r(7821),b=r(3506),d=r(5408),v=(n=function(){function e(t,r){var n=this;(0,c.Z)(this,e),(0,s.Z)(this,"busy",o,this),(0,s.Z)(this,"data",i,this),(0,s.Z)(this,"attributes",a,this),this.store=void 0,this.fetchAttributes=(0,h.flow)(f().mark((function e(){var t;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.busy=!0,e.next=4,(0,d.W)({location:b.N,params:{identifier:this.data.identifier}});case 4:t=e.sent,this.attributes=t,e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(0),console.log(e.t0),e.t0;case 12:return e.prev=12,this.busy=!1,e.finish(12);case 15:case"end":return e.stop()}}),e,this,[[0,8,12,15]])}))),(0,h.runInAction)((function(){n.data=t})),this.store=r}return(0,l.Z)(e,[{key:"fullLogoUrl",get:function(){var e=this.data.logoFile,t=this.store.rootStore.optionStore.publicUrl;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}}]),e}(),o=(0,u.Z)(n.prototype,"busy",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,u.Z)(n.prototype,"data",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,u.Z)(n.prototype,"attributes",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,u.Z)(n.prototype,"fullLogoUrl",[h.computed],Object.getOwnPropertyDescriptor(n.prototype,"fullLogoUrl"),n.prototype),n)},6565:function(e,t,r){r.d(t,{y:function(){return N}});var n,o,i,a,s,c,l,u,p,f,h,b,d,v,y,m,g,Z,w,k,R,C,P,S,E,_,x,O,D,z=r(2711),T=r(6724),I=r(6762),A=r(3340),M=r(9303),B=r(7821),N=(n=function(){function e(t,r){var n=this;(0,I.Z)(this,e),(0,T.Z)(this,"id",o,this),(0,T.Z)(this,"plugin_version",i,this),(0,T.Z)(this,"design_version",a,this),(0,T.Z)(this,"ipv4",s,this),(0,T.Z)(this,"ipv6",c,this),(0,T.Z)(this,"ipv4_hash",l,this),(0,T.Z)(this,"ipv6_hash",u,this),(0,T.Z)(this,"uuid",p,this),(0,T.Z)(this,"previous_decision",f,this),(0,T.Z)(this,"decision",h,this),(0,T.Z)(this,"decision_labels",b,this),(0,T.Z)(this,"created",d,this),(0,T.Z)(this,"blocker",v,this),(0,T.Z)(this,"dnt",y,this),(0,T.Z)(this,"custom_bypass",m,this),(0,T.Z)(this,"user_country",g,this),(0,T.Z)(this,"revision_hash",Z,this),(0,T.Z)(this,"revision_independent_hash",w,this),(0,T.Z)(this,"button_clicked",k,this),(0,T.Z)(this,"context",R,this),(0,T.Z)(this,"viewport_width",C,this),(0,T.Z)(this,"viewport_height",P,this),(0,T.Z)(this,"viewed_page",S,this),(0,T.Z)(this,"url_imprint",E,this),(0,T.Z)(this,"url_privacy_policy",_,this),(0,T.Z)(this,"forwarded",x,this),(0,T.Z)(this,"forwarded_blocker",O,this),(0,T.Z)(this,"tcf_string",D,this),this.store=void 0,this.plain=void 0,(0,B.runInAction)((function(){return(0,B.set)(n,t)})),this.store=r,this.plain=t}return(0,A.Z)(e,[{key:"revision",get:function(){return this.store.revisions.get(this.revision_hash)}},{key:"revision_independent",get:function(){return this.store.revisionsIndependent.get(this.revision_independent_hash)}},{key:"custom_bypass_readable",get:function(){var e=this.custom_bypass;return e?e.charAt(0).toUpperCase()+e.slice(1):""}},{key:"export",get:function(){return JSON.parse(JSON.stringify((0,z.Z)((0,z.Z)({},this.plain),{},{revision:this.revision.data,revision_independent:this.revision_independent.data})))}},{key:"fetchRevisions",value:function(){return Promise.all([this.store.fetchRevision({hash:this.revision_hash}),this.store.fetchRevisionIndependent({hash:this.revision_independent_hash})])}}]),e}(),o=(0,M.Z)(n.prototype,"id",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i=(0,M.Z)(n.prototype,"plugin_version",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,M.Z)(n.prototype,"design_version",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s=(0,M.Z)(n.prototype,"ipv4",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=(0,M.Z)(n.prototype,"ipv6",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=(0,M.Z)(n.prototype,"ipv4_hash",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=(0,M.Z)(n.prototype,"ipv6_hash",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=(0,M.Z)(n.prototype,"uuid",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=(0,M.Z)(n.prototype,"previous_decision",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=(0,M.Z)(n.prototype,"decision",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=(0,M.Z)(n.prototype,"decision_labels",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d=(0,M.Z)(n.prototype,"created",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=(0,M.Z)(n.prototype,"blocker",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=(0,M.Z)(n.prototype,"dnt",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=(0,M.Z)(n.prototype,"custom_bypass",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=(0,M.Z)(n.prototype,"user_country",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z=(0,M.Z)(n.prototype,"revision_hash",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=(0,M.Z)(n.prototype,"revision_independent_hash",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=(0,M.Z)(n.prototype,"button_clicked",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=(0,M.Z)(n.prototype,"context",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=(0,M.Z)(n.prototype,"viewport_width",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=(0,M.Z)(n.prototype,"viewport_height",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=(0,M.Z)(n.prototype,"viewed_page",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=(0,M.Z)(n.prototype,"url_imprint",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=(0,M.Z)(n.prototype,"url_privacy_policy",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=(0,M.Z)(n.prototype,"forwarded",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=(0,M.Z)(n.prototype,"forwarded_blocker",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=(0,M.Z)(n.prototype,"tcf_string",[B.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,M.Z)(n.prototype,"revision",[B.computed],Object.getOwnPropertyDescriptor(n.prototype,"revision"),n.prototype),(0,M.Z)(n.prototype,"revision_independent",[B.computed],Object.getOwnPropertyDescriptor(n.prototype,"revision_independent"),n.prototype),(0,M.Z)(n.prototype,"custom_bypass_readable",[B.computed],Object.getOwnPropertyDescriptor(n.prototype,"custom_bypass_readable"),n.prototype),n)},6398:function(e,t,r){r.d(t,{b:function(){return m}});var n,o,i=r(38),a=r(6762),s=r(3340),c=r(3841),l=r(5952),u=r(9303),p=r(5450),f=r.n(p),h=r(8700),b=r(5408),d=r(4947),v=r(7821),y=r(6950),m=h.ClientCollection.annotate({path:"/rcb-cookie",singlePath:"/rcb-cookie/:id",namespace:"wp/v2",methods:[h.RouteHttpVerb.GET],request:b.W})((o=function(e){(0,c.Z)(r,e);var t=(0,l.Z)(r);function r(e){var n;return(0,a.Z)(this,r),(n=t.call(this)).store=void 0,n.orderCookies=(0,v.flow)(f().mark((function e(t){var r,n,o,a;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busy=!0,e.prev=1,e.next=4,(0,b.W)({location:y.I,request:{ids:t}});case 4:r=0,n=(0,i.Z)(t);try{for(n.s();!(o=n.n()).done;)a=o.value,this.entries.get(a).setOrder(r),r++}catch(e){n.e(e)}finally{n.f()}e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busy=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.store=e,n}return(0,s.Z)(r,[{key:"sortedCookies",get:function(){var e=Array.from(this.entries.values());return e.sort((function(e,t){return e.data.menu_order<t.data.menu_order?-1:e.data.menu_order>t.data.menu_order||e.key<t.key?1:e.key>t.key?-1:0})),e}},{key:"instance",value:function(e){return new d.U(this).fromResponse(e)}}]),r}(h.AbstractPostCollection),(0,u.Z)(o.prototype,"sortedCookies",[v.computed],Object.getOwnPropertyDescriptor(o.prototype,"sortedCookies"),o.prototype),n=o))||n},9208:function(e,t,r){r.d(t,{w:function(){return m}});var n,o,i=r(38),a=r(6762),s=r(3340),c=r(3841),l=r(5952),u=r(9303),p=r(5450),f=r.n(p),h=r(8700),b=r(5408),d=r(9323),v=r(7821),y=r(4876),m=h.ClientCollection.annotate({path:"/rcb-cookie-group",singlePath:"/rcb-cookie-group/:id",namespace:"wp/v2",methods:[h.RouteHttpVerb.GET],request:b.W})((o=function(e){(0,c.Z)(r,e);var t=(0,l.Z)(r);function r(e){var n;return(0,a.Z)(this,r),(n=t.call(this)).store=void 0,n.orderCookieGroups=(0,v.flow)(f().mark((function e(t){var r,n,o,a;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busy=!0,e.prev=1,e.next=4,(0,b.W)({location:y.B,request:{ids:t}});case 4:r=0,n=(0,i.Z)(t);try{for(n.s();!(o=n.n()).done;)a=o.value,this.entries.get(a).setOrder(r),r++}catch(e){n.e(e)}finally{n.f()}e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busy=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.store=e,n}return(0,s.Z)(r,[{key:"sortedGroups",get:function(){var e=Array.from(this.entries.values());return e.sort((function(e,t){return e.data.meta.order<t.data.meta.order?-1:e.data.meta.order>t.data.meta.order?1:0})),e}},{key:"instance",value:function(e){return new d.O(this).fromResponse(e)}}]),r}(h.AbstractCategoryCollection),(0,u.Z)(o.prototype,"sortedGroups",[v.computed],Object.getOwnPropertyDescriptor(o.prototype,"sortedGroups"),o.prototype),n=o))||n},9323:function(e,t,r){r.d(t,{O:function(){return Z}});var n,o,i,a,s=r(6724),c=r(6762),l=r(3340),u=r(5558),p=r(3841),f=r(5952),h=r(9303),b=r(5450),d=r.n(b),v=r(8700),y=r(5408),m=r(6398),g=r(7821),Z=v.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:y.W,create:{path:"/rcb-cookie-group"},patch:{path:"/rcb-cookie-group/:id"},delete:{path:"/rcb-cookie-group/:id"}})((o=function(e){(0,p.Z)(r,e);var t=(0,f.Z)(r);function r(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,c.Z)(this,r),n=t.call(this,e,o),(0,s.Z)(n,"cookies",i,(0,u.Z)(n)),(0,s.Z)(n,"fetchedAllCookies",a,(0,u.Z)(n)),n.fetchCookies=(0,g.flow)(d().mark((function e(){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.cookies.get({request:{status:["draft","publish","private"]},params:{per_page:100,"rcb-cookie-group":this.key,context:"edit"}});case 2:this.fetchedAllCookies=!0;case 3:case"end":return e.stop()}}),e,this)}))),(0,g.runInAction)((function(){n.cookies=new m.b((0,u.Z)(n))})),n}return(0,l.Z)(r,[{key:"cookiesCount",get:function(){return this.fetchedAllCookies?this.cookies.entries.size:this.data.count}},{key:"setName",value:function(e){this.data.name=e}},{key:"setDescription",value:function(e){this.data.description=e}},{key:"setOrder",value:function(e){this.data.meta.order=e}},{key:"afterDelete",value:function(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterPatch",value:function(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterPersist",value:function(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}}]),r}(v.AbstractCategory),i=(0,h.Z)(o.prototype,"cookies",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,h.Z)(o.prototype,"fetchedAllCookies",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,h.Z)(o.prototype,"cookiesCount",[g.computed],Object.getOwnPropertyDescriptor(o.prototype,"cookiesCount"),o.prototype),(0,h.Z)(o.prototype,"setName",[g.action],Object.getOwnPropertyDescriptor(o.prototype,"setName"),o.prototype),(0,h.Z)(o.prototype,"setDescription",[g.action],Object.getOwnPropertyDescriptor(o.prototype,"setDescription"),o.prototype),(0,h.Z)(o.prototype,"setOrder",[g.action],Object.getOwnPropertyDescriptor(o.prototype,"setOrder"),o.prototype),n=o))||n},4947:function(e,t,r){r.d(t,{U:function(){return k}});var n,o,i,a=r(2711),s=r(7228),c=r(6724),l=r(6762),u=r(3340),p=r(5558),f=r(3071),h=r(8067),b=r(3841),d=r(5952),v=r(9303),y=r(8700),m=r(5408),g=r(1974),Z=r(7821),w=r(4614),k=y.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:m.W,create:{path:"/rcb-cookie"},patch:{path:"/rcb-cookie/:id"},delete:{path:"/rcb-cookie/:id"}})((o=function(e){(0,b.Z)(r,e);var t=(0,d.Z)(r);function r(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,l.Z)(this,r),n=t.call(this,e,o),(0,c.Z)(n,"presetModel",i,(0,p.Z)(n)),n.store=void 0,(0,Z.reaction)((function(){var e;return null===(e=n.data)||void 0===e?void 0:e.preset}),(function(e){return(0,Z.runInAction)((function(){n.presetModel=e?new g.g(e,w.M.get.cookieStore):void 0}))}),{fireImmediately:!0}),n}return(0,u.Z)(r,[{key:"rootStore",get:function(){return this.collection.store.collection.store.rootStore}},{key:"tagManagerSettings",get:function(){var e=this.rootStore.optionStore;return e.others.isPro,e.setCookiesViaManager,!1}},{key:"technicalDefinitions",get:function(){return JSON.parse(this.data.meta.technicalDefinitions)}},{key:"codeDynamics",get:function(){return JSON.parse(this.data.meta.codeDynamics||"{}")}},{key:"firstTechnicalDefinition",get:function(){var e;return null===(e=this.technicalDefinitions)||void 0===e?void 0:e[0]}},{key:"afterPatch",value:function(){var e=this,t=this.collection.store.collection,r=(0,s.Z)(this.data["rcb-cookie-group"],1)[0];t.entries.forEach((function(t){r!==t.key?t.cookies.entries.delete(e.key):t.cookies.entries.set(e.key,e)})),this.rootStore.optionStore.fetchCurrentRevision(),this.rootStore.cookieStore.unassignedCookies.delete(this.key)}},{key:"setOrder",value:function(e){this.data.menu_order=e}},{key:"setName",value:function(e){this.data.title.rendered=e}},{key:"setStatus",value:function(e){this.data.status=e}},{key:"setPurpose",value:function(e){this.data.content.rendered=e}},{key:"setGroup",value:function(e){this.data["rcb-cookie-group"]=[e]}},{key:"setMeta",value:function(e){this.data.meta=e}},{key:"transformDataForPersist",value:function(){var e=(0,f.Z)((0,h.Z)(r.prototype),"transformDataForPersist",this).call(this);return(0,a.Z)((0,a.Z)({},e),{},{"rcb-cookie-group":[this.collection.store.key]})}},{key:"transformDataForPatch",value:function(){var e=(0,f.Z)((0,h.Z)(r.prototype),"transformDataForPatch",this).call(this);return{title:e.title,content:e.content,status:e.status,meta:e.meta,menu_order:e.menu_order,"rcb-cookie-group":this.data["rcb-cookie-group"],slug:e.title}}},{key:"afterDelete",value:function(){this.collection.store.cookies.store.collection.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterPersist",value:function(){var e=this.collection.store.cookies.store.collection.store.rootStore,t=e.optionStore,r=e.checklistStore;t.fetchCurrentRevision(),r.probablyFetchByChangedItem("add-cookie")}}]),r}(y.AbstractPost),i=(0,v.Z)(o.prototype,"presetModel",[Z.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,v.Z)(o.prototype,"rootStore",[Z.computed],Object.getOwnPropertyDescriptor(o.prototype,"rootStore"),o.prototype),(0,v.Z)(o.prototype,"tagManagerSettings",[Z.computed],Object.getOwnPropertyDescriptor(o.prototype,"tagManagerSettings"),o.prototype),(0,v.Z)(o.prototype,"technicalDefinitions",[Z.computed],Object.getOwnPropertyDescriptor(o.prototype,"technicalDefinitions"),o.prototype),(0,v.Z)(o.prototype,"codeDynamics",[Z.computed],Object.getOwnPropertyDescriptor(o.prototype,"codeDynamics"),o.prototype),(0,v.Z)(o.prototype,"firstTechnicalDefinition",[Z.computed],Object.getOwnPropertyDescriptor(o.prototype,"firstTechnicalDefinition"),o.prototype),(0,v.Z)(o.prototype,"afterPatch",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"afterPatch"),o.prototype),(0,v.Z)(o.prototype,"setOrder",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"setOrder"),o.prototype),(0,v.Z)(o.prototype,"setName",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"setName"),o.prototype),(0,v.Z)(o.prototype,"setStatus",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"setStatus"),o.prototype),(0,v.Z)(o.prototype,"setPurpose",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"setPurpose"),o.prototype),(0,v.Z)(o.prototype,"setGroup",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"setGroup"),o.prototype),(0,v.Z)(o.prototype,"setMeta",[Z.action],Object.getOwnPropertyDescriptor(o.prototype,"setMeta"),o.prototype),n=o))||n},1974:function(e,t,r){r.d(t,{g:function(){return v}});var n,o,i,a,s=r(6724),c=r(6762),l=r(3340),u=r(9303),p=r(5450),f=r.n(p),h=r(7821),b=r(7419),d=r(5408),v=(n=function(){function e(t,r){var n=this;(0,c.Z)(this,e),(0,s.Z)(this,"busy",o,this),(0,s.Z)(this,"data",i,this),(0,s.Z)(this,"attributes",a,this),this.store=void 0,this.fetchAttributes=(0,h.flow)(f().mark((function e(){var t;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.busy=!0,e.next=4,(0,d.W)({location:b.t,params:{identifier:this.data.identifier}});case 4:t=e.sent,this.attributes=t,e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(0),console.log(e.t0),e.t0;case 12:return e.prev=12,this.busy=!1,e.finish(12);case 15:case"end":return e.stop()}}),e,this,[[0,8,12,15]])}))),(0,h.runInAction)((function(){n.data=t})),this.store=r}return(0,l.Z)(e,[{key:"fullLogoUrl",get:function(){var e=this.data.logoFile,t=this.store.rootStore.optionStore.publicUrl;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}}]),e}(),o=(0,u.Z)(n.prototype,"busy",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,u.Z)(n.prototype,"data",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,u.Z)(n.prototype,"attributes",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,u.Z)(n.prototype,"fullLogoUrl",[h.computed],Object.getOwnPropertyDescriptor(n.prototype,"fullLogoUrl"),n.prototype),n)},6714:function(e,t,r){r.d(t,{k:function(){return o}});var n=r(6762),o=function e(t,r){(0,n.Z)(this,e),this.data=void 0,this.store=void 0,this.data=t,this.store=r}},6172:function(e,t,r){r.d(t,{I:function(){return o}});var n=r(6762),o=function e(t,r){(0,n.Z)(this,e),this.data=void 0,this.store=void 0,this.data=t,this.store=r}},5277:function(e,t,r){r.d(t,{o:function(){return v}});var n,o,i,a=r(6724),s=r(6762),c=r(3340),l=r(9303),u=r(5450),p=r.n(u),f=r(7821),h=r(4375),b=r(5408),d=r(5071),v=(n=function(){function e(t,r){var n=this;(0,s.Z)(this,e),(0,a.Z)(this,"busy",o,this),(0,a.Z)(this,"data",i,this),this.store=void 0,this.ignore=(0,f.flow)(p().mark((function e(){var t,r=arguments;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=!(r.length>1&&void 0!==r[1])||r[1],e.prev=1,e.next=4,(0,b.W)({location:h.C,request:{ignored:t},params:{host:this.data.host.replace(/\./g,"_")}});case 4:this.data.ignored=t,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),console.log(e.t0),e.t0;case 11:case"end":return e.stop()}}),e,this,[[1,7]])}))),(0,f.runInAction)((function(){n.data=t})),this.store=r}return(0,c.Z)(e,[{key:"inactive",get:function(){return"full"===this.blockedStatus||this.data.ignored}},{key:"blockedStatus",get:function(){var e=this.data,t=e.foundCount,r=e.blockedCount;return 0===r?"none":t===r?"full":"partial"}},{key:"blockedStatusText",get:function(){switch(this.blockedStatus){case"full":return(0,d.__)("Fully blocked");case"partial":return(0,d.__)("Partially blocked");default:return(0,d.__)("Not blocked")}}}]),e}(),o=(0,l.Z)(n.prototype,"busy",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,l.Z)(n.prototype,"data",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,l.Z)(n.prototype,"inactive",[f.computed],Object.getOwnPropertyDescriptor(n.prototype,"inactive"),n.prototype),(0,l.Z)(n.prototype,"blockedStatus",[f.computed],Object.getOwnPropertyDescriptor(n.prototype,"blockedStatus"),n.prototype),(0,l.Z)(n.prototype,"blockedStatusText",[f.computed],Object.getOwnPropertyDescriptor(n.prototype,"blockedStatusText"),n.prototype),n)},5482:function(e,t,r){r.d(t,{a:function(){return b}});var n,o,i,a=r(6724),s=r(6762),c=r(3340),l=r(9303),u=r(5450),p=r.n(u),f=r(7821),h=r(9522),b=(n=function(){function e(t,r){var n=this;(0,s.Z)(this,e),(0,a.Z)(this,"busy",o,this),(0,a.Z)(this,"data",i,this),this.store=void 0,this.fetchMarkup=(0,f.flow)(p().mark((function e(){return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.store.fetchMarkup(this.data.id);case 2:case"end":return e.stop()}}),e,this)}))),(0,f.runInAction)((function(){n.data=t})),this.store=r}return(0,c.Z)(e,[{key:"markup",get:function(){return this.store.resultMarkup.get(this.data.id)}},{key:"blockedUrlTruncate",get:function(){return(0,h.r)(this.data.blockedUrl,50,"[...]")}},{key:"sourceUrlTruncate",get:function(){return(0,h.r)(this.data.sourceUrl,50,"[...]")}}]),e}(),o=(0,l.Z)(n.prototype,"busy",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,l.Z)(n.prototype,"data",[f.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,l.Z)(n.prototype,"markup",[f.computed],Object.getOwnPropertyDescriptor(n.prototype,"markup"),n.prototype),(0,l.Z)(n.prototype,"blockedUrlTruncate",[f.computed],Object.getOwnPropertyDescriptor(n.prototype,"blockedUrlTruncate"),n.prototype),(0,l.Z)(n.prototype,"sourceUrlTruncate",[f.computed],Object.getOwnPropertyDescriptor(n.prototype,"sourceUrlTruncate"),n.prototype),n)},1435:function(e,t,r){r.d(t,{g:function(){return y}});var n,o,i,a,s=r(6724),c=r(6762),l=r(3340),u=r(9303),p=r(5450),f=r.n(p),h=r(7821),b=r(5408),d=r(5071),v=r(3506),y=(n=function(){function e(t,r){var n=this;(0,c.Z)(this,e),(0,s.Z)(this,"busy",o,this),(0,s.Z)(this,"data",i,this),(0,s.Z)(this,"attributes",a,this),this.store=void 0,this.fetchAttributes=(0,h.flow)(f().mark((function e(){var t;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.busy=!0,e.next=4,(0,b.W)({location:v.N,params:{identifier:this.data.identifier}});case 4:t=e.sent,this.attributes=t,e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(0),console.log(e.t0),e.t0;case 12:return e.prev=12,this.busy=!1,e.finish(12);case 15:case"end":return e.stop()}}),e,this,[[0,8,12,15]])}))),(0,h.runInAction)((function(){n.data=t})),this.store=r}return(0,l.Z)(e,[{key:"fullLogoUrl",get:function(){var e=this.data.logoFile,t=this.store.rootStore.optionStore.publicUrl;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}},{key:"inactive",get:function(){var e;return!(null===(e=this.data.tags)||void 0===e||!e[(0,d.__)("Already exists")])}}]),e}(),o=(0,u.Z)(n.prototype,"busy",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,u.Z)(n.prototype,"data",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,u.Z)(n.prototype,"attributes",[h.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,u.Z)(n.prototype,"fullLogoUrl",[h.computed],Object.getOwnPropertyDescriptor(n.prototype,"fullLogoUrl"),n.prototype),(0,u.Z)(n.prototype,"inactive",[h.computed],Object.getOwnPropertyDescriptor(n.prototype,"inactive"),n.prototype),n)},9081:function(e,t,r){r.d(t,{i:function(){return u}});var n,o,i,a=r(6724),s=r(6762),c=r(9303),l=r(7821),u=(n=function e(t,r,n){var c=this;(0,s.Z)(this,e),(0,a.Z)(this,"data",o,this),(0,a.Z)(this,"special",i,this),this.store=void 0,(0,l.runInAction)((function(){c.special=r,c.data=t})),this.store=n},o=(0,c.Z)(n.prototype,"data",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i=(0,c.Z)(n.prototype,"special",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n)},3116:function(e,t,r){r.d(t,{v:function(){return u}});var n,o,i,a=r(6724),s=r(6762),c=r(9303),l=r(7821),u=(n=function e(t,r,n){var c=this;(0,s.Z)(this,e),(0,a.Z)(this,"data",o,this),(0,a.Z)(this,"special",i,this),this.store=void 0,(0,l.runInAction)((function(){c.special=r,c.data=t})),this.store=n},o=(0,c.Z)(n.prototype,"data",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),i=(0,c.Z)(n.prototype,"special",[l.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),n)},3025:function(e,t,r){r.d(t,{C:function(){return h}});var n,o,i=r(7870),a=r(38),s=r(6724),c=r(6762),l=r(3340),u=r(9303),p=r(7821),f=r(3055),h=(n=function(){function e(t,r){var n=this;(0,c.Z)(this,e),(0,s.Z)(this,"data",o,this),this.store=void 0,(0,p.runInAction)((function(){n.data=t})),this.store=r}return(0,l.Z)(e,[{key:"vendorConfiguration",get:function(){var e,t=(0,a.Z)(this.store.vendorConfigurations.entries.values());try{for(t.s();!(e=t.n()).done;){var r=e.value;if(r.vendorModel.data.id===this.data.id)return r}}catch(e){t.e(e)}finally{t.f()}}},{key:"deviceStorageDisclosure",get:function(){var e=this.data,t=e.usesCookies,r=e.cookieMaxAgeSeconds,n=e.cookieRefresh,o=e.usesNonCookieAccess,a=e.deviceStorageDisclosure,s=null!=a&&a.disclosures.length?(0,i.Z)(a.disclosures):[];return o&&s.unshift({type:f.r.Web,identifier:"*",purposes:void 0,cookieRefresh:void 0,domain:"*",maxAgeSeconds:null}),t&&s.unshift({type:f.r.Cookie,identifier:"*",purposes:void 0,cookieRefresh:n,domain:"*",maxAgeSeconds:r}),s}},{key:"allPurposes",get:function(){return[].concat((0,i.Z)(this.legIntPurposes),(0,i.Z)(this.purposes),(0,i.Z)(this.specialPurposes)).filter(Boolean)}},{key:"allFeatures",get:function(){return[].concat((0,i.Z)(this.features),(0,i.Z)(this.specialFeatures)).filter(Boolean)}},{key:"restrictivePurposes",get:function(){for(var e={normal:{}},t=0,r=[].concat((0,i.Z)(this.legIntPurposes),(0,i.Z)(this.purposes));t<r.length;t++){var n=r[t];e.normal[n.data.id.toString()]={enabled:!0,legInt:this.legIntPurposes.indexOf(n)>-1&&!n.special?"yes":"no"}}return e}},{key:"purposes",get:function(){var e,t=this;return null===(e=this.data)||void 0===e?void 0:e.purposes.map((function(e){return t.store.purposes.get("".concat(e))}))}},{key:"legIntPurposes",get:function(){var e,t=this;return null===(e=this.data)||void 0===e?void 0:e.legIntPurposes.map((function(e){return t.store.purposes.get("".concat(e))}))}},{key:"flexiblePurposes",get:function(){var e,t=this;return null===(e=this.data)||void 0===e?void 0:e.flexiblePurposes.map((function(e){return t.store.purposes.get("".concat(e))}))}},{key:"specialPurposes",get:function(){var e,t=this;return null===(e=this.data)||void 0===e?void 0:e.specialPurposes.map((function(e){return t.store.specialPurposes.get("".concat(e))}))}},{key:"features",get:function(){var e,t=this;return null===(e=this.data)||void 0===e?void 0:e.features.map((function(e){return t.store.features.get("".concat(e))}))}},{key:"specialFeatures",get:function(){var e,t=this;return null===(e=this.data)||void 0===e?void 0:e.specialFeatures.map((function(e){return t.store.specialFeatures.get("".concat(e))}))}}]),e}(),o=(0,u.Z)(n.prototype,"data",[p.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,u.Z)(n.prototype,"vendorConfiguration",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"vendorConfiguration"),n.prototype),(0,u.Z)(n.prototype,"deviceStorageDisclosure",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"deviceStorageDisclosure"),n.prototype),(0,u.Z)(n.prototype,"allPurposes",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"allPurposes"),n.prototype),(0,u.Z)(n.prototype,"allFeatures",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"allFeatures"),n.prototype),(0,u.Z)(n.prototype,"restrictivePurposes",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"restrictivePurposes"),n.prototype),(0,u.Z)(n.prototype,"purposes",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"purposes"),n.prototype),(0,u.Z)(n.prototype,"legIntPurposes",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"legIntPurposes"),n.prototype),(0,u.Z)(n.prototype,"flexiblePurposes",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"flexiblePurposes"),n.prototype),(0,u.Z)(n.prototype,"specialPurposes",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"specialPurposes"),n.prototype),(0,u.Z)(n.prototype,"features",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"features"),n.prototype),(0,u.Z)(n.prototype,"specialFeatures",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"specialFeatures"),n.prototype),n)},597:function(e,t,r){r.d(t,{C:function(){return p}});var n,o=r(6762),i=r(3340),a=r(3841),s=r(5952),c=r(8700),l=r(5408),u=r(6215),p=c.ClientCollection.annotate({path:"/rcb-tcf-vendor-conf",singlePath:"/rcb-tcf-vendor-conf/:id",namespace:"wp/v2",methods:[c.RouteHttpVerb.GET],request:l.W})(n=function(e){(0,a.Z)(r,e);var t=(0,s.Z)(r);function r(e){var n;return(0,o.Z)(this,r),(n=t.call(this)).store=void 0,n.store=e,n}return(0,i.Z)(r,[{key:"instance",value:function(e){return new u.S(this).fromResponse(e)}}]),r}(c.AbstractPostCollection))||n},6215:function(e,t,r){r.d(t,{S:function(){return k}});var n,o,i,a=r(7870),s=r(6724),c=r(6762),l=r(3340),u=r(5558),p=r(3071),f=r(8067),h=r(3841),b=r(5952),d=r(9303),v=r(8700),y=r(5408),m=r(7821),g=r(3025),Z=r(5311),w=r.n(Z),k=v.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:y.W,create:{path:"/rcb-tcf-vendor-conf"},patch:{path:"/rcb-tcf-vendor-conf/:id"},delete:{path:"/rcb-tcf-vendor-conf/:id"}})((o=function(e){(0,h.Z)(r,e);var t=(0,b.Z)(r);function r(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,c.Z)(this,r),n=t.call(this,e,o),(0,s.Z)(n,"vendorModel",i,(0,u.Z)(n)),(0,m.reaction)((function(){return n.data.vendor}),(function(e){return(0,m.runInAction)((function(){if(e){var t=n.collection.store.vendors,r=e.id.toString(),o=t.get(r);o||(o=new g.C(e,n.collection.store),t.set(r,o)),n.vendorModel=o}}))}),{fireImmediately:!0}),(0,m.reaction)((function(){var e;return null===(e=n.data.meta)||void 0===e?void 0:e.vendorId}),(function(e){e&&(n.vendorModel=n.collection.store.vendors.get(e.toString()))}),{fireImmediately:!0}),n}return(0,l.Z)(r,[{key:"hasVendor",get:function(){return!!this.vendorModel}},{key:"restrictivePurposes",get:function(){var e,t,r="global"===this.collection.store.rootStore.optionStore.tcfScopeOfConsent,n=(null===(e=this.vendorModel)||void 0===e?void 0:e.restrictivePurposes)||{normal:{}};if(r)return n;var o=JSON.parse(this.data.meta.restrictivePurposes);return w().extend(!0,{},(null===(t=this.vendorModel)||void 0===t?void 0:t.restrictivePurposes)||{},o)}},{key:"stats",get:function(){var e,t=this.restrictivePurposes.normal,r=(0,a.Z)(Object.values(t));return{activePurposes:r.filter((function(e){return e.enabled})).length,legIntPurposes:r.filter((function(e){var t=e.enabled,r=e.legInt;return t&&"yes"===r})).length,activeFeatures:(null===(e=this.vendorModel)||void 0===e?void 0:e.allFeatures.length)||0}}},{key:"setStatus",value:function(e){this.data.status=e}},{key:"setMeta",value:function(e){this.data.meta=e}},{key:"transformDataForPatch",value:function(){var e=(0,p.Z)((0,f.Z)(r.prototype),"transformDataForPatch",this).call(this);return{status:e.status,meta:e.meta}}},{key:"afterPatch",value:function(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterDelete",value:function(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},{key:"afterPersist",value:function(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}}]),r}(v.AbstractPost),i=(0,d.Z)(o.prototype,"vendorModel",[m.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,d.Z)(o.prototype,"hasVendor",[m.computed],Object.getOwnPropertyDescriptor(o.prototype,"hasVendor"),o.prototype),(0,d.Z)(o.prototype,"restrictivePurposes",[m.computed],Object.getOwnPropertyDescriptor(o.prototype,"restrictivePurposes"),o.prototype),(0,d.Z)(o.prototype,"stats",[m.computed],Object.getOwnPropertyDescriptor(o.prototype,"stats"),o.prototype),(0,d.Z)(o.prototype,"setStatus",[m.action],Object.getOwnPropertyDescriptor(o.prototype,"setStatus"),o.prototype),(0,d.Z)(o.prototype,"setMeta",[m.action],Object.getOwnPropertyDescriptor(o.prototype,"setMeta"),o.prototype),n=o))||n},7052:function(e,t,r){r.d(t,{L:function(){return w}});var n,o,i,a=r(2711),s=r(6724),c=r(6762),l=r(3340),u=r(5558),p=r(3841),f=r(5952),h=r(9303),b=r(5450),d=r.n(b),v=r(7821),y=r(8700),m=r(6127),g=r(6410),Z=r(5408),w=(n=function(e){(0,p.Z)(r,e);var t=(0,f.Z)(r);function r(e){var n;return(0,c.Z)(this,r),n=t.call(this),(0,s.Z)(n,"busyChecklist",o,(0,u.Z)(n)),(0,s.Z)(n,"checklist",i,(0,u.Z)(n)),n.rootStore=void 0,n.probablyFetchByChangedItem=(0,v.flow)(d().mark((function e(t,r){var n;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r){e.next=4;break}return e.next=3,this.fetchChecklist();case 3:return e.abrupt("return");case 4:if(n=Array.isArray(t)?t:[t],!(this.items.filter((function(e){var t=e.id,r=e.checked;return n.indexOf(t)>-1&&!r})).length>0)){e.next=8;break}return e.next=8,this.fetchChecklist();case 8:case"end":return e.stop()}}),e,this)}))),n.fetchChecklist=(0,v.flow)(d().mark((function e(){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyChecklist=!0,e.prev=1,e.next=4,(0,Z.W)({location:m.g,params:{_wp_http_referer:window.location.href}});case 4:this.checklist=e.sent,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),console.log(e.t0),e.t0;case 11:return e.prev=11,this.busyChecklist=!1,e.finish(11);case 14:case"end":return e.stop()}}),e,this,[[1,7,11,14]])}))),n.toggleChecklistItem=(0,v.flow)(d().mark((function e(t,r){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyChecklist=!0,e.prev=1,e.next=4,(0,Z.W)({location:g.s,request:{state:r},params:{id:t,_wp_http_referer:window.location.href}});case 4:this.checklist=e.sent,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),console.log(e.t0),e.t0;case 11:return e.prev=11,this.busyChecklist=!1,e.finish(11);case 14:case"end":return e.stop()}}),e,this,[[1,7,11,14]])}))),n.rootStore=e,n}return(0,l.Z)(r,[{key:"items",get:function(){var e=this;return this.checklist&&Object.keys(this.checklist.items).map((function(t){return(0,a.Z)({id:t},e.checklist.items[t])}))||[]}},{key:"completed",get:function(){return this.items.filter((function(e){return e.checked}))}},{key:"checkable",get:function(){var e=this.rootStore.optionStore.others.isPro;return this.items.filter((function(t){var r=t.needsPro;return!r||e&&r}))}},{key:"done",get:function(){var e;return this.completed.length>=this.checkable.length||!(null===(e=this.checklist)||void 0===e||!e.dismissed)}}]),r}(y.BaseOptions),o=(0,h.Z)(n.prototype,"busyChecklist",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,h.Z)(n.prototype,"checklist",[v.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,h.Z)(n.prototype,"items",[v.computed],Object.getOwnPropertyDescriptor(n.prototype,"items"),n.prototype),(0,h.Z)(n.prototype,"completed",[v.computed],Object.getOwnPropertyDescriptor(n.prototype,"completed"),n.prototype),(0,h.Z)(n.prototype,"checkable",[v.computed],Object.getOwnPropertyDescriptor(n.prototype,"checkable"),n.prototype),(0,h.Z)(n.prototype,"done",[v.computed],Object.getOwnPropertyDescriptor(n.prototype,"done"),n.prototype),n)},6159:function(e,t,r){r.d(t,{v:function(){return I}});var n,o,i,a,s,c,l,u,p,f,h=r(38),b=r(6724),d=r(6762),v=r(3340),y=r(5558),m=r(3841),g=r(5952),Z=r(9303),w=r(5450),k=r.n(w),R=r(7821),C=r(8700),P=r(5408),S=r(5634),E=r(6778),_=r(3985),x=r(3480),O=r(7141),D=r(6565),z=r(6714),T=r(6172),I=(n=function(e){(0,m.Z)(r,e);var t=(0,g.Z)(r);function r(e){var n;return(0,d.Z)(this,r),n=t.call(this),(0,b.Z)(n,"busyConsent",o,(0,y.Z)(n)),(0,b.Z)(n,"busyReferer",i,(0,y.Z)(n)),(0,b.Z)(n,"count",a,(0,y.Z)(n)),(0,b.Z)(n,"perPage",s,(0,y.Z)(n)),(0,b.Z)(n,"offset",c,(0,y.Z)(n)),(0,b.Z)(n,"pageCollection",l,(0,y.Z)(n)),(0,b.Z)(n,"revisions",u,(0,y.Z)(n)),(0,b.Z)(n,"revisionsIndependent",p,(0,y.Z)(n)),(0,b.Z)(n,"referer",f,(0,y.Z)(n)),n.filters=R.observable.object({page:1,dates:[void 0,void 0],context:void 0,referer:void 0,ip:void 0,uuid:void 0},{},{deep:!1}),n.rootStore=void 0,n.fetchAll=(0,R.flow)(k().mark((function e(){var t,r,n,o,i,a,s,c,l,u,p,f,b;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyConsent=!0,e.prev=1,t=this.filters,r=t.page,n=t.referer,o=t.ip,i=t.uuid,a=t.context,s=this.filters.dates.map((function(e){return e?e.format("YYYY-MM-DD"):""})),e.next=6,(0,P.W)({location:S.c,params:{per_page:this.perPage,offset:(r-1)*this.perPage,from:s[0],to:s[1],ip:o,uuid:i,referer:n,context:a}});case 6:c=e.sent,l=c.count,u=c.items,this.count=l,this.pageCollection.clear(),p=(0,h.Z)(u);try{for(p.s();!(f=p.n()).done;)b=f.value,this.pageCollection.set(b.id,new D.y(b,this))}catch(e){p.e(e)}finally{p.f()}e.next=19;break;case 15:throw e.prev=15,e.t0=e.catch(1),console.log(e.t0),e.t0;case 19:return e.prev=19,this.busyConsent=!1,e.finish(19);case 22:case"end":return e.stop()}}),e,this,[[1,15,19,22]])}))),n.fetchRevision=(0,R.flow)(k().mark((function e(t){var r;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,P.W)({location:E.Z,params:t});case 3:r=e.sent,this.revisions.set(t.hash,new z.k(r,this)),e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(0),console.log(e.t0),e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,7]])}))),n.fetchRevisionIndependent=(0,R.flow)(k().mark((function e(t){var r;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,P.W)({location:_.T,params:t});case 3:r=e.sent,this.revisionsIndependent.set(t.hash,new T.I(r,this)),e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(0),console.log(e.t0),e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,7]])}))),n.fetchReferer=(0,R.flow)(k().mark((function e(t){var r;return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyReferer=!0,e.prev=1,e.next=4,(0,P.W)({location:x.q,params:t});case 4:r=e.sent,this.referer=r.items,e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(1),console.log(e.t0),e.t0;case 12:return e.prev=12,this.busyReferer=!1,e.finish(12);case 15:case"end":return e.stop()}}),e,this,[[1,8,12,15]])}))),n.deleteAll=(0,R.flow)(k().mark((function e(){return k().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyConsent=!0,e.prev=1,e.next=4,(0,P.W)({location:O.O});case 4:return this.applyPage(0),e.next=7,this.fetchAll();case 7:e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busyConsent=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.rootStore=e,(0,R.runInAction)((function(){n.filters.context=n.rootStore.optionStore.others.context})),n}return(0,v.Z)(r,[{key:"applyPage",value:function(e){this.filters.page=e}},{key:"applyDates",value:function(e){this.filters.dates=e}},{key:"applyContext",value:function(e){this.filters.context=e}},{key:"applyReferer",value:function(e){this.filters.referer=e}},{key:"applyIp",value:function(e){this.filters.ip=e}},{key:"applyUuid",value:function(e){this.filters.uuid=e}}]),r}(C.BaseOptions),o=(0,Z.Z)(n.prototype,"busyConsent",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,Z.Z)(n.prototype,"busyReferer",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,Z.Z)(n.prototype,"count",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),s=(0,Z.Z)(n.prototype,"perPage",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 50}}),c=(0,Z.Z)(n.prototype,"offset",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),l=(0,Z.Z)(n.prototype,"pageCollection",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),u=(0,Z.Z)(n.prototype,"revisions",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),p=(0,Z.Z)(n.prototype,"revisionsIndependent",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),f=(0,Z.Z)(n.prototype,"referer",[R.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),(0,Z.Z)(n.prototype,"applyPage",[R.action],Object.getOwnPropertyDescriptor(n.prototype,"applyPage"),n.prototype),(0,Z.Z)(n.prototype,"applyDates",[R.action],Object.getOwnPropertyDescriptor(n.prototype,"applyDates"),n.prototype),(0,Z.Z)(n.prototype,"applyContext",[R.action],Object.getOwnPropertyDescriptor(n.prototype,"applyContext"),n.prototype),(0,Z.Z)(n.prototype,"applyReferer",[R.action],Object.getOwnPropertyDescriptor(n.prototype,"applyReferer"),n.prototype),(0,Z.Z)(n.prototype,"applyIp",[R.action],Object.getOwnPropertyDescriptor(n.prototype,"applyIp"),n.prototype),(0,Z.Z)(n.prototype,"applyUuid",[R.action],Object.getOwnPropertyDescriptor(n.prototype,"applyUuid"),n.prototype),n)},8069:function(e,t,r){r.d(t,{h:function(){return _}});var n,o,i,a,s,c,l,u,p,f,h=r(6724),b=r(6762),d=r(3340),v=r(9303),y=r(5450),m=r.n(y),g=r(7821),Z=r(9338),w=r(1974),k=r(9208),R=r(480),C=r(340),P=r(7539),S=r(4017),E=r(5408),_=(n=function(){function e(t){var r=this;(0,b.Z)(this,e),(0,h.Z)(this,"busy",o,this),(0,h.Z)(this,"groups",i,this),(0,h.Z)(this,"unassignedCookies",a,this),(0,h.Z)(this,"blockers",s,this),(0,h.Z)(this,"presetsBlocker",c,this),(0,h.Z)(this,"busyPresetsBlocker",l,this),(0,h.Z)(this,"presetsCookie",u,this),(0,h.Z)(this,"busyPresetsCookie",p,this),(0,h.Z)(this,"fetchedAllBlockers",f,this),this.rootStore=void 0,this.fetchGroups=(0,g.flow)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.groups.get({params:{per_page:100}});case 2:return e.next=4,this.fetchUnassignedCookies();case 4:case"end":return e.stop()}}),e,this)}))),this.fetchUnassignedCookies=(0,g.flow)(m().mark((function e(){var t,r,n,o;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,E.W)({location:C.p});case 3:for(t=e.sent,r=0,n=Object.values(t);r<n.length;r++)o=n[r],this.unassignedCookies.set(o.id,o);e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(0),console.log(e.t0),e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,7]])}))),this.fetchBlockers=(0,g.flow)(m().mark((function e(){return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.blockers.get({request:{status:["draft","publish","private"]},params:{per_page:100,context:"edit"}});case 2:this.fetchedAllBlockers=!0;case 3:case"end":return e.stop()}}),e,this)}))),this.fetchPresetsBlocker=(0,g.flow)(m().mark((function e(){var t,r,n,o,i;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyPresetsBlocker=!0,e.prev=1,e.next=4,(0,E.W)({location:P.W});case 4:for(t=e.sent,r=t.items,n=0,o=Object.keys(r);n<o.length;n++)i=o[n],this.presetsBlocker.set(i,new Z.w(r[i],this));e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busyPresetsBlocker=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),this.fetchPresetsCookie=(0,g.flow)(m().mark((function e(){var t,r,n,o,i;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyPresetsCookie=!0,e.prev=1,e.next=4,(0,E.W)({location:S.z});case 4:for(t=e.sent,r=t.items,n=0,o=Object.keys(r);n<o.length;n++)i=o[n],this.presetsCookie.set(i,new w.g(r[i],this));e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busyPresetsCookie=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),this.rootStore=t,(0,g.runInAction)((function(){r.groups=new k.w(r),r.blockers=new R.R(r)}))}return(0,d.Z)(e,[{key:"blockersCount",get:function(){return this.fetchedAllBlockers?this.blockers.entries.size:this.rootStore.optionStore.allBlockerCount}},{key:"cookiesCount",get:function(){return Array.from(this.groups.entries.values()).map((function(e){return e.cookiesCount})).reduce((function(e,t){return e+t}),0)}},{key:"essentialGroup",get:function(){if(0!==this.groups.entries.size){for(var e,t=this.groups.entries.values();(e=t.next().value)&&e.data.slug!==this.rootStore.optionStore.others.essentialGroup;);return e}}}]),e}(),o=(0,v.Z)(n.prototype,"busy",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,v.Z)(n.prototype,"groups",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=(0,v.Z)(n.prototype,"unassignedCookies",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),s=(0,v.Z)(n.prototype,"blockers",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=(0,v.Z)(n.prototype,"presetsBlocker",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),l=(0,v.Z)(n.prototype,"busyPresetsBlocker",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),u=(0,v.Z)(n.prototype,"presetsCookie",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),p=(0,v.Z)(n.prototype,"busyPresetsCookie",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),f=(0,v.Z)(n.prototype,"fetchedAllBlockers",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,v.Z)(n.prototype,"blockersCount",[g.computed],Object.getOwnPropertyDescriptor(n.prototype,"blockersCount"),n.prototype),(0,v.Z)(n.prototype,"cookiesCount",[g.computed],Object.getOwnPropertyDescriptor(n.prototype,"cookiesCount"),n.prototype),(0,v.Z)(n.prototype,"essentialGroup",[g.computed],Object.getOwnPropertyDescriptor(n.prototype,"essentialGroup"),n.prototype),n)},5619:function(e,t,r){r.d(t,{W:function(){return C}});var n,o,i,a,s,c,l,u=r(7228),p=r(38),f=r(2711),h=r(6724),b=r(6762),d=r(3340),v=r(9303),y=r(5450),m=r.n(y),g=r(7821),Z=r(9444),w=r(5408),k=r(62),R=r(490),C=(n=function(){function e(t){(0,b.Z)(this,e),(0,h.Z)(this,"visible",o,this),(0,h.Z)(this,"animationVisible",i,this),(0,h.Z)(this,"individualPrivacyOpen",a,this),(0,h.Z)(this,"previewCheckboxActiveState",s,this),(0,h.Z)(this,"busyPresets",c,this),(0,h.Z)(this,"presets",l,this),this.rootStore=void 0,this.presetConstants=new Map,this.presetDefaults=new Map,this.debounceFromCustomize={},this.fetchPresets=(0,g.flow)(m().mark((function e(){var t,r,n,o,i,a,s,c,l,u,p,h,b;return m().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyPresets=!0,e.prev=1,e.next=4,(0,w.W)({location:Z.t});case 4:for(t=e.sent,r=t.defaults,n=t.constants,o=t.items,i=0,a=Object.keys(r);i<a.length;i++)s=a[i],this.presetDefaults.set(s,r[s]);for(c=0,l=Object.keys(n);c<l.length;c++)u=l[c],this.presetConstants.set(u,n[u]);for(p=0,h=Object.keys(o);p<h.length;p++)b=h[p],this.presets.set(b,new k.p((0,f.Z)({id:b},o[b]),this));e.next=17;break;case 13:throw e.prev=13,e.t0=e.catch(1),console.log(e.t0),e.t0;case 17:return e.prev=17,this.busyPresets=!1,e.finish(17);case 20:case"end":return e.stop()}}),e,this,[[1,13,17,20]])}))),this.rootStore=t}return(0,d.Z)(e,[{key:"setBannerFromCustomize",value:function(e,t,r){var n=this,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=this.rootStore.optionStore.others.customizeValuesBanner,a=t.toString();if(o&&["css","animationInDuration","animationOutDuration"].indexOf(a)>-1)clearTimeout(this.debounceFromCustomize[a]),this.debounceFromCustomize[a]=setTimeout((function(){return n.setBannerFromCustomize(e,t,r,!1)}),500);else{var s=i[e][t];i[e][t]=r,a.startsWith("animationOut")&&s!==r&&this.forceAnimationOutSimulation()}}},{key:"setBannerFromPreset",value:function(e){var t,r=(0,p.Z)(e);try{for(r.s();!(t=r.n()).done;){var n=t.value,o=(0,u.Z)(n,3),i=o[0],a=o[1],s=o[2];this.rootStore.optionStore.others.customizeValuesBanner[i][a]=s}}catch(e){r.e(e)}finally{r.f()}}},{key:"forceAnimationOutSimulation",value:function(){var e=this,t=this.rootStore.optionStore.others.customizeValuesBanner;"none"!==t.layout.animationOut&&(this.animationVisible=!1,setTimeout((function(){return(0,g.runInAction)((function(){e.animationVisible=!0}))}),+t.layout.animationOutDuration+1e3))}},{key:"setVisible",value:function(e){this.visible=e}},{key:"setIndividualPrivacyOpen",value:function(e){this.individualPrivacyOpen=e}},{key:"setPreviewCheckboxActiveState",value:function(e){this.previewCheckboxActiveState=e}},{key:"exportPhp",value:function(){var e=this,t={},r=(0,R.getSidebarCustomize)();return this.presetDefaults.forEach((function(n,o){var i=r(o).get();"boolean"==typeof n?i=!!+i:isNaN(i)||""===i||(i=+i),JSON.stringify(n)!==JSON.stringify(i)&&(t[e.presetConstants.get(o)]=i)})),this.jsonToPHPArray(t)}},{key:"jsonToPHPArray",value:function(e){var t=JSON.stringify(e,null,4).split("\n");return t.shift(),t.pop(),t.join("\n").replace(/^(\s+)"([A-Za-z\\]+::[A-Z_]+)"(:)/gm,"$1$2 =>").replace(/^(\s+)([A-Za-z\\]+)::/gm,(function(e,t,r){return"".concat(t).concat(r.replace(/\\\\/gm,"\\"),"::")}))}}]),e}(),o=(0,v.Z)(n.prototype,"visible",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,v.Z)(n.prototype,"animationVisible",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),a=(0,v.Z)(n.prototype,"individualPrivacyOpen",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,v.Z)(n.prototype,"previewCheckboxActiveState",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),c=(0,v.Z)(n.prototype,"busyPresets",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),l=(0,v.Z)(n.prototype,"presets",[g.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,v.Z)(n.prototype,"setBannerFromCustomize",[g.action],Object.getOwnPropertyDescriptor(n.prototype,"setBannerFromCustomize"),n.prototype),(0,v.Z)(n.prototype,"setBannerFromPreset",[g.action],Object.getOwnPropertyDescriptor(n.prototype,"setBannerFromPreset"),n.prototype),(0,v.Z)(n.prototype,"forceAnimationOutSimulation",[g.action],Object.getOwnPropertyDescriptor(n.prototype,"forceAnimationOutSimulation"),n.prototype),(0,v.Z)(n.prototype,"setVisible",[g.action],Object.getOwnPropertyDescriptor(n.prototype,"setVisible"),n.prototype),(0,v.Z)(n.prototype,"setIndividualPrivacyOpen",[g.action],Object.getOwnPropertyDescriptor(n.prototype,"setIndividualPrivacyOpen"),n.prototype),(0,v.Z)(n.prototype,"setPreviewCheckboxActiveState",[g.action],Object.getOwnPropertyDescriptor(n.prototype,"setPreviewCheckboxActiveState"),n.prototype),n)},5187:function(e,t,r){r.d(t,{My:function(){return n.M},mZ:function(){return n.m},aZ:function(){return o.a},WS:function(){return i.W},hc:function(){return a.h},v:function(){return s.v},et:function(){return c.e},L_:function(){return l.L},z:function(){return u.z},Cu:function(){return p.C}});var n=r(4614),o=r(5656),i=r(5619),a=r(8069),s=r(6159),c=r(3596),l=r(7052),u=r(4605),p=r(103)},5656:function(e,t,r){r.d(t,{a:function(){return ge}});var n,o,i,a,s,c,l,u,p,f,h,b,d,v,y,m,g,Z,w,k,R,C,P,S,E,_,x,O,D,z,T,I,A,M,B,N,j,U,V,F,G,W,L,H,q,Y,J,Q,X,$=r(2711),K=r(6724),ee=r(6762),te=r(3340),re=r(5558),ne=r(3841),oe=r(5952),ie=r(9303),ae=r(5450),se=r.n(ae),ce=r(7821),le=r(8700),ue=r(74),pe=r(939),fe=r(6799),he=r(8064),be=r(365),de=r(2391),ve=r(9001),ye=r(5408),me=r(7597),ge=(n=function(e){(0,ne.Z)(r,e);var t=(0,oe.Z)(r);function r(e){var n;return(0,ee.Z)(this,r),n=t.call(this),(0,K.Z)(n,"busySettings",o,(0,re.Z)(n)),(0,K.Z)(n,"busyCountryBypassUpdate",i,(0,re.Z)(n)),(0,K.Z)(n,"needsRevisionRetrigger",a,(0,re.Z)(n)),(0,K.Z)(n,"publicCookieCount",s,(0,re.Z)(n)),(0,K.Z)(n,"allCookieCount",c,(0,re.Z)(n)),(0,K.Z)(n,"allBlockerCount",l,(0,re.Z)(n)),(0,K.Z)(n,"allTcfVendorConfigurationCount",u,(0,re.Z)(n)),(0,K.Z)(n,"allScannerResultPresetsCount",p,(0,re.Z)(n)),(0,K.Z)(n,"allScannerResultExternalUrlsCount",f,(0,re.Z)(n)),(0,K.Z)(n,"cookieCounts",h,(0,re.Z)(n)),(0,K.Z)(n,"tcfVendorConfigurationCounts",b,(0,re.Z)(n)),(0,K.Z)(n,"hasGTM",d,(0,re.Z)(n)),(0,K.Z)(n,"hasMTM",v,(0,re.Z)(n)),(0,K.Z)(n,"contexts",y,(0,re.Z)(n)),(0,K.Z)(n,"dashboardMigration",m,(0,re.Z)(n)),(0,K.Z)(n,"bannerActive",g,(0,re.Z)(n)),(0,K.Z)(n,"blockerActive",Z,(0,re.Z)(n)),(0,K.Z)(n,"refreshSiteAfterConsent",w,(0,re.Z)(n)),(0,K.Z)(n,"imprintId",k,(0,re.Z)(n)),(0,K.Z)(n,"imprintExternalUrl",R,(0,re.Z)(n)),(0,K.Z)(n,"imprintIsExternalUrl",C,(0,re.Z)(n)),(0,K.Z)(n,"privacyPolicyId",P,(0,re.Z)(n)),(0,K.Z)(n,"privacyPolicyExternalUrl",S,(0,re.Z)(n)),(0,K.Z)(n,"privacyPolicyIsExternalUrl",E,(0,re.Z)(n)),(0,K.Z)(n,"hidePageIds",_,(0,re.Z)(n)),(0,K.Z)(n,"setCookiesViaManager",x,(0,re.Z)(n)),(0,K.Z)(n,"acceptAllForBots",O,(0,re.Z)(n)),(0,K.Z)(n,"respectDoNotTrack",D,(0,re.Z)(n)),(0,K.Z)(n,"cookieDuration",z,(0,re.Z)(n)),(0,K.Z)(n,"saveIp",T,(0,re.Z)(n)),(0,K.Z)(n,"ePrivacyUSA",I,(0,re.Z)(n)),(0,K.Z)(n,"ageNotice",A,(0,re.Z)(n)),(0,K.Z)(n,"consentForwarding",M,(0,re.Z)(n)),(0,K.Z)(n,"forwardTo",B,(0,re.Z)(n)),(0,K.Z)(n,"crossDomains",N,(0,re.Z)(n)),(0,K.Z)(n,"affiliateLink",j,(0,re.Z)(n)),(0,K.Z)(n,"affiliateLabelBehind",U,(0,re.Z)(n)),(0,K.Z)(n,"affiliateLabelDescription",V,(0,re.Z)(n)),(0,K.Z)(n,"countryBypass",F,(0,re.Z)(n)),(0,K.Z)(n,"countryBypassCountries",G,(0,re.Z)(n)),(0,K.Z)(n,"countryBypassType",W,(0,re.Z)(n)),(0,K.Z)(n,"countryBypassDbDownloadTime",L,(0,re.Z)(n)),(0,K.Z)(n,"tcf",H,(0,re.Z)(n)),(0,K.Z)(n,"tcfPublisherCc",q,(0,re.Z)(n)),(0,K.Z)(n,"tcfAcceptedTime",Y,(0,re.Z)(n)),(0,K.Z)(n,"tcfGvlDownloadTime",J,(0,re.Z)(n)),(0,K.Z)(n,"tcfScopeOfConsent",Q,(0,re.Z)(n)),(0,K.Z)(n,"others",X,(0,re.Z)(n)),n.pureSlug=void 0,n.pureSlugCamelCased=void 0,n.rootStore=void 0,n.fetchSettings=(0,ce.flow)(se().mark((function e(t){var r;return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.busySettings=!0,e.prev=1,e.t0=t,e.t0){e.next=7;break}return e.next=6,(0,ye.W)({location:ue.g});case 6:e.t0=e.sent;case 7:return r=e.t0,this.bannerActive=r["rcb-banner-active"],this.blockerActive=r["rcb-blocker-active"],this.refreshSiteAfterConsent=r["rcb-refresh-site-after-consent"],this.imprintId=r["rcb-banner-legal-imprint"],this.imprintExternalUrl=r["rcb-banner-legal-imprint-external-url"],this.imprintIsExternalUrl=r["rcb-banner-legal-imprint-is-external-url"],this.privacyPolicyId=r["rcb-banner-legal-privacy-policy"],this.privacyPolicyExternalUrl=r["rcb-banner-legal-privacy-policy-external-url"],this.privacyPolicyIsExternalUrl=r["rcb-banner-legal-privacy-policy-is-external-url"],this.hidePageIds=(r["rcb-hide-page-ids"]||"").split(",").map(Number).filter(Boolean),this.setCookiesViaManager=r["rcb-set-cookies-via-manager"]||"none",this.acceptAllForBots=r["rcb-accept-all-for-bots"],this.respectDoNotTrack=r["rcb-respect-do-not-track"],this.cookieDuration=r["rcb-cookie-duration"],this.saveIp=r["rcb-save-ip"],this.ePrivacyUSA=r["rcb-eprivacy-usa"],this.ageNotice=r["rcb-age-notice"],this.consentForwarding=r["rcb-consent-forwarding"]||!1,this.forwardTo=(r["rcb-forward-to"]||"").split("|").filter(Boolean),this.crossDomains=r["rcb-cross-domains"]||"",this.countryBypass=r["rcb-country-bypass"],this.countryBypassCountries=(r["rcb-country-bypass-countries"]||"").split(",").filter(Boolean),this.countryBypassType=r["rcb-country-bypass-type"],this.countryBypassDbDownloadTime=r["rcb-country-bypass-db-download-time"],this.tcf=r["rcb-tcf"],this.tcfPublisherCc=r["rcb-tcf-publisher-cc"],this.tcfAcceptedTime=r["rcb-tcf-accepted-time"],this.tcfGvlDownloadTime=r["rcb-tcf-gvl-download-time"],this.tcfScopeOfConsent=r["rcb-tcf-scope-of-consent"],e.next=40,this.fetchCurrentRevision();case 40:e.next=46;break;case 42:throw e.prev=42,e.t1=e.catch(1),console.log(e.t1),e.t1;case 46:return e.prev=46,this.busySettings=!1,e.finish(46);case 49:case"end":return e.stop()}}),e,this,[[1,42,46,49]])}))),n.updateSettings=(0,ce.flow)(se().mark((function e(t){var r,n,o,i,a,s,c,l,u,p,f,h,b,d,v,y,m,g,Z,w,k,R,C;return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.bannerActive,n=t.blockerActive,o=t.refreshSiteAfterConsent,i=t.imprintId,a=t.privacyPolicyId,s=t.hidePageIds,c=t.setCookiesViaManager,l=t.acceptAllForBots,u=t.respectDoNotTrack,p=t.cookieDuration,f=t.saveIp,h=t.ePrivacyUSA,b=t.ageNotice,d=t.consentForwarding,v=t.forwardTo,y=t.crossDomains,t.affiliateLink,t.affiliateLabelBehind,t.affiliateLabelDescription,m=t.countryBypass,g=t.countryBypassCountries,Z=t.countryBypassType,w=t.tcf,k=t.tcfPublisherCc,R=t.tcfScopeOfConsent,this.busySettings=!0,e.prev=2,e.next=5,(0,ye.W)({location:pe.J,request:(0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)((0,$.Z)({},void 0===r?{}:{"rcb-banner-active":r}),void 0===n?{}:{"rcb-blocker-active":n}),void 0===o?{}:{"rcb-refresh-site-after-consent":o}),void 0===i?{}:{"rcb-banner-legal-imprint":i}),void 0===a?{}:{"rcb-banner-legal-privacy-policy":a}),void 0===s?{}:{"rcb-hide-page-ids":s.join(",")}),void 0===c?{}:{"rcb-set-cookies-via-manager":c}),void 0===l?{}:{"rcb-accept-all-for-bots":l}),void 0===u?{}:{"rcb-respect-do-not-track":u}),void 0===p?{}:{"rcb-cookie-duration":p}),void 0===f?{}:{"rcb-save-ip":f}),void 0===h?{}:{"rcb-eprivacy-usa":h}),void 0===b?{}:{"rcb-age-notice":b}),void 0===d?{}:{"rcb-consent-forwarding":d}),void 0===v?{}:{"rcb-forward-to":v.join("|")}),void 0===y?{}:{"rcb-cross-domains":y}),void 0===m?{}:{"rcb-country-bypass":m}),void 0===g?{}:{"rcb-country-bypass-countries":g.join(",")}),void 0===Z?{}:{"rcb-country-bypass-type":Z}),void 0===w?{}:{"rcb-tcf":w}),void 0===k?{}:{"rcb-tcf-publisher-cc":k}),void 0===R?{}:{"rcb-tcf-scope-of-consent":R}),{}),{}),{})});case 5:C=e.sent,this.fetchSettings(C),this.rootStore.checklistStore.probablyFetchByChangedItem(["save-settings","activate-banner","privacy-policy"]),e.next=14;break;case 10:throw e.prev=10,e.t0=e.catch(2),console.log(e.t0),e.t0;case 14:return e.prev=14,this.busySettings=!1,e.finish(14);case 17:case"end":return e.stop()}}),e,this,[[2,10,14,17]])}))),n.fetchCurrentRevision=(0,ce.flow)(se().mark((function e(){return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busySettings=!0,e.prev=1,e.t0=this,e.next=5,(0,ye.W)({location:fe.G});case 5:e.t1=e.sent,e.t0.setFromCurrentRevision.call(e.t0,e.t1),e.next=13;break;case 9:throw e.prev=9,e.t2=e.catch(1),console.log(e.t2),e.t2;case 13:return e.prev=13,this.busySettings=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.updateCurrentRevision=(0,ce.flow)(se().mark((function e(t){return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busySettings=!0,e.prev=1,e.t0=this,e.next=5,(0,ye.W)({location:he.a,request:t});case 5:e.t1=e.sent,e.t0.setFromCurrentRevision.call(e.t0,e.t1),e.next=13;break;case 9:throw e.prev=9,e.t2=e.catch(1),console.log(e.t2),e.t2;case 13:return e.prev=13,this.busySettings=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.setModalHintSeen=(0,ce.flow)(se().mark((function e(t){return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busySettings=!0,e.prev=1,this.others.modalHints.push(t),e.next=5,(0,ye.W)({location:me.C,request:{identifier:t}});case 5:e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),console.log(e.t0),e.t0;case 11:return e.prev=11,this.busySettings=!1,e.finish(11);case 14:case"end":return e.stop()}}),e,this,[[1,7,11,14]])}))),n.dismissConfigProNotice=(0,ce.flow)(se().mark((function e(){return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.others.isConfigProNoticeVisible=!1,e.next=4,(0,ye.W)({location:be.n});case 4:e.next=10;break;case 6:throw e.prev=6,e.t0=e.catch(0),console.log(e.t0),e.t0;case 10:case"end":return e.stop()}}),e,this,[[0,6]])}))),n.dismissMigration=(0,ce.flow)(se().mark((function e(){var t;return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.dashboardMigration.id,this.dashboardMigration=void 0,e.next=5,(0,ye.W)({location:de.o,params:{migration:t}});case 5:e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(0),console.log(e.t0),e.t0;case 11:case"end":return e.stop()}}),e,this,[[0,7]])}))),n.updateCountryBypassDatabase=(0,ce.flow)(se().mark((function e(){var t,r;return se().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyCountryBypassUpdate=!0,e.prev=1,e.next=4,(0,ye.W)({location:ve._});case 4:t=e.sent,r=t.dbDownloadTime,this.countryBypassDbDownloadTime=r,e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busyCountryBypassUpdate=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.rootStore=e,n.pureSlug=le.BaseOptions.getPureSlug({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"1",TCF_CMP_ID:367}),n.pureSlugCamelCased=le.BaseOptions.getPureSlug({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"1",TCF_CMP_ID:367},!0),(0,ce.runInAction)((function(){return Object.assign((0,re.Z)(n),window[n.pureSlugCamelCased])})),n}return(0,te.Z)(r,[{key:"isOnlyRcbCookieCreated",get:function(){return!(1!==this.allCookieCount||this.tcf&&this.allTcfVendorConfigurationCount)}},{key:"areSettingsFetched",get:function(){return void 0!==this.respectDoNotTrack}},{key:"setFromCurrentRevision",value:function(e){var t=e.contexts,r=e.has_gtm,n=e.has_mtm,o=e.needs_retrigger,i=e.public_cookie_count,a=e.all_cookie_count,s=e.all_blocker_count,c=e.all_tcf_vendor_configuration_count,l=e.all_scanner_result_presets_count,u=e.all_scanner_result_external_urls_count,p=e.cookie_counts,f=e.tcf_vendor_configuration_counts,h=e.dashboardMigration;this.hasGTM=r,this.hasMTM=n,this.needsRevisionRetrigger=o,this.publicCookieCount=i,this.allCookieCount=a,this.allBlockerCount=s,this.allTcfVendorConfigurationCount=c,this.allScannerResultPresetsCount=l,this.allScannerResultExternalUrlsCount=u,this.cookieCounts=p,this.tcfVendorConfigurationCounts=f,this.contexts=t,this.dashboardMigration=h}},{key:"setShowLicenseFormImmediate",value:function(e,t){this.others.showLicenseFormImmediate=e,this.others.isLicensed=t}}]),r}(le.BaseOptions),o=(0,ie.Z)(n.prototype,"busySettings",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,ie.Z)(n.prototype,"busyCountryBypassUpdate",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,ie.Z)(n.prototype,"needsRevisionRetrigger",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,ie.Z)(n.prototype,"publicCookieCount",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),c=(0,ie.Z)(n.prototype,"allCookieCount",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),l=(0,ie.Z)(n.prototype,"allBlockerCount",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),u=(0,ie.Z)(n.prototype,"allTcfVendorConfigurationCount",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),p=(0,ie.Z)(n.prototype,"allScannerResultPresetsCount",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),f=(0,ie.Z)(n.prototype,"allScannerResultExternalUrlsCount",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),h=(0,ie.Z)(n.prototype,"cookieCounts",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{draft:0,private:0,publish:0}}}),b=(0,ie.Z)(n.prototype,"tcfVendorConfigurationCounts",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d=(0,ie.Z)(n.prototype,"hasGTM",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),v=(0,ie.Z)(n.prototype,"hasMTM",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),y=(0,ie.Z)(n.prototype,"contexts",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{"":""}}}),m=(0,ie.Z)(n.prototype,"dashboardMigration",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=(0,ie.Z)(n.prototype,"bannerActive",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Z=(0,ie.Z)(n.prototype,"blockerActive",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),w=(0,ie.Z)(n.prototype,"refreshSiteAfterConsent",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),k=(0,ie.Z)(n.prototype,"imprintId",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),R=(0,ie.Z)(n.prototype,"imprintExternalUrl",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=(0,ie.Z)(n.prototype,"imprintIsExternalUrl",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=(0,ie.Z)(n.prototype,"privacyPolicyId",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=(0,ie.Z)(n.prototype,"privacyPolicyExternalUrl",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=(0,ie.Z)(n.prototype,"privacyPolicyIsExternalUrl",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=(0,ie.Z)(n.prototype,"hidePageIds",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=(0,ie.Z)(n.prototype,"setCookiesViaManager",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=(0,ie.Z)(n.prototype,"acceptAllForBots",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=(0,ie.Z)(n.prototype,"respectDoNotTrack",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=(0,ie.Z)(n.prototype,"cookieDuration",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=(0,ie.Z)(n.prototype,"saveIp",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=(0,ie.Z)(n.prototype,"ePrivacyUSA",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=(0,ie.Z)(n.prototype,"ageNotice",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=(0,ie.Z)(n.prototype,"consentForwarding",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),B=(0,ie.Z)(n.prototype,"forwardTo",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=(0,ie.Z)(n.prototype,"crossDomains",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=(0,ie.Z)(n.prototype,"affiliateLink",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=(0,ie.Z)(n.prototype,"affiliateLabelBehind",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=(0,ie.Z)(n.prototype,"affiliateLabelDescription",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),F=(0,ie.Z)(n.prototype,"countryBypass",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=(0,ie.Z)(n.prototype,"countryBypassCountries",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=(0,ie.Z)(n.prototype,"countryBypassType",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=(0,ie.Z)(n.prototype,"countryBypassDbDownloadTime",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=(0,ie.Z)(n.prototype,"tcf",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=(0,ie.Z)(n.prototype,"tcfPublisherCc",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=(0,ie.Z)(n.prototype,"tcfAcceptedTime",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=(0,ie.Z)(n.prototype,"tcfGvlDownloadTime",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=(0,ie.Z)(n.prototype,"tcfScopeOfConsent",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=(0,ie.Z)(n.prototype,"others",[ce.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,ie.Z)(n.prototype,"isOnlyRcbCookieCreated",[ce.computed],Object.getOwnPropertyDescriptor(n.prototype,"isOnlyRcbCookieCreated"),n.prototype),(0,ie.Z)(n.prototype,"areSettingsFetched",[ce.computed],Object.getOwnPropertyDescriptor(n.prototype,"areSettingsFetched"),n.prototype),(0,ie.Z)(n.prototype,"setFromCurrentRevision",[ce.action],Object.getOwnPropertyDescriptor(n.prototype,"setFromCurrentRevision"),n.prototype),(0,ie.Z)(n.prototype,"setShowLicenseFormImmediate",[ce.action],Object.getOwnPropertyDescriptor(n.prototype,"setShowLicenseFormImmediate"),n.prototype),n)},103:function(e,t,r){r.d(t,{C:function(){return D}});var n,o,i,a,s,c,l,u,p,f,h=r(7870),b=r(38),d=r(6724),v=r(6762),y=r(3340),m=r(9303),g=r(5450),Z=r.n(g),w=r(7821),k=r(5482),R=r(1435),C=r(5277),P=r(5408),S=r(102),E=r(9977),_=r(4788),x=r(6964),O=r(4531),D=(n=function(){function e(t){(0,v.Z)(this,e),(0,d.Z)(this,"resultPresets",o,this),(0,d.Z)(this,"busyResultPresets",i,this),(0,d.Z)(this,"fetchedAllResultPresets",a,this),(0,d.Z)(this,"resultExternalUrls",s,this),(0,d.Z)(this,"resultAllExternalUrls",c,this),(0,d.Z)(this,"busyExternalUrls",l,this),(0,d.Z)(this,"fetchedAllResultExternalUrls",u,this),(0,d.Z)(this,"busyMarkup",p,this),(0,d.Z)(this,"resultMarkup",f,this),this.rootStore=void 0,this.addUrlsToQueue=(0,w.flow)(Z().mark((function e(t){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,P.W)({location:S.k,request:t});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),this.fetchResultPresets=(0,w.flow)(Z().mark((function e(){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyResultPresets=!0,e.prev=1,e.t0=this,e.next=5,(0,P.W)({location:E.e});case 5:e.t1=e.sent,e.t0.resultPresetsFromResponse.call(e.t0,e.t1),this.fetchedAllResultPresets=!0,e.next=14;break;case 10:throw e.prev=10,e.t2=e.catch(1),console.log(e.t2),e.t2;case 14:return e.prev=14,this.busyResultPresets=!1,e.finish(14);case 17:case"end":return e.stop()}}),e,this,[[1,10,14,17]])}))),this.fetchResultExternals=(0,w.flow)(Z().mark((function e(){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyExternalUrls=!0,e.prev=1,e.t0=this,e.next=5,(0,P.W)({location:_.M});case 5:e.t1=e.sent,e.t0.resultExternalUrlsFromResponse.call(e.t0,e.t1),this.fetchedAllResultExternalUrls=!0,e.next=14;break;case 10:throw e.prev=10,e.t2=e.catch(1),console.log(e.t2),e.t2;case 14:return e.prev=14,this.busyExternalUrls=!1,e.finish(14);case 17:case"end":return e.stop()}}),e,this,[[1,10,14,17]])}))),this.fetchResultAllExternals=(0,w.flow)(Z().mark((function e(t,r){var n,o,i,a,s,c,l,u,p,f,h;return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(n=this.resultExternalUrls.get(r)||this.resultPresets.get(r)).busy=!0,e.prev=2,e.next=5,(0,P.W)({location:x.M,params:{type:t,identifier:"host"===t?r.replace(/\./g,"_"):r}});case 5:if(o=e.sent,i=o.items,a=this.resultAllExternalUrls.get(r)){s=i.map((function(e){return e.id})),c=(0,b.Z)(a.keys());try{for(c.s();!(l=c.n()).done;)u=l.value,-1===s.indexOf(u)&&a.delete(u)}catch(e){c.e(e)}finally{c.f()}}else a=new Map;for(p=0,f=Object.values(i);p<f.length;p++)h=f[p],a.set(h.id,new k.a(h,this)),this.resultAllExternalUrls.set(r,a);e.next=16;break;case 12:throw e.prev=12,e.t0=e.catch(2),console.log(e.t0),e.t0;case 16:return e.prev=16,n.busy=!1,e.finish(16);case 19:case"end":return e.stop()}}),e,this,[[2,12,16,19]])}))),this.fetchMarkup=(0,w.flow)(Z().mark((function e(t){var r;return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyMarkup=!0,e.prev=1,e.next=4,(0,P.W)({location:O.$,params:{id:t}});case 4:r=e.sent,this.resultMarkup.set(t,r),e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(1),console.log(e.t0),e.t0;case 12:return e.prev=12,this.busyMarkup=!1,e.finish(12);case 15:case"end":return e.stop()}}),e,this,[[1,8,12,15]])}))),this.rootStore=t}return(0,y.Z)(e,[{key:"sortedExternalUrls",get:function(){var e=Array.from(this.resultExternalUrls.values());return e.sort((function(e,t){return e.inactive===t.inactive?0:e.inactive?1:-1})),e}},{key:"presetsCount",get:function(){return this.fetchedAllResultPresets?this.resultPresets.size:this.rootStore.optionStore.allScannerResultPresetsCount}},{key:"externalUrlsCount",get:function(){return this.fetchedAllResultExternalUrls?this.resultExternalUrls.size:this.rootStore.optionStore.allScannerResultExternalUrlsCount}},{key:"canShowResults",get:function(){var e;return this.presetsCount+this.externalUrlsCount>0&&(null===(e=this.rootStore.checklistStore.checklist)||void 0===e?void 0:e.items.scanner.checked)}},{key:"foundScanResultsCount",get:function(){return this.resultPresets.size+this.resultExternalUrls.size}},{key:"needsAttentionCount",get:function(){return[].concat((0,h.Z)(this.resultPresets.values()),(0,h.Z)(this.resultExternalUrls.values())).filter((function(e){return!e.inactive})).length}},{key:"resultPresetsFromResponse",value:function(e){var t,r=e.items,n=Object.keys(r),o=(0,b.Z)(this.resultPresets.keys());try{for(o.s();!(t=o.n()).done;){var i=t.value;-1===n.indexOf(i)&&this.resultPresets.delete(i)}}catch(e){o.e(e)}finally{o.f()}for(var a=0,s=n;a<s.length;a++){var c=s[a];this.resultPresets.set(c,new R.g(r[c],this))}}},{key:"resultExternalUrlsFromResponse",value:function(e){var t,r=e.items,n=Object.keys(r),o=(0,b.Z)(this.resultExternalUrls.keys());try{for(o.s();!(t=o.n()).done;){var i=t.value;-1===n.indexOf(i)&&this.resultExternalUrls.delete(i)}}catch(e){o.e(e)}finally{o.f()}for(var a=0,s=n;a<s.length;a++){var c=s[a];this.resultExternalUrls.set(c,new C.o(r[c],this))}}}]),e}(),o=(0,m.Z)(n.prototype,"resultPresets",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),i=(0,m.Z)(n.prototype,"busyResultPresets",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,m.Z)(n.prototype,"fetchedAllResultPresets",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,m.Z)(n.prototype,"resultExternalUrls",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),c=(0,m.Z)(n.prototype,"resultAllExternalUrls",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),l=(0,m.Z)(n.prototype,"busyExternalUrls",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),u=(0,m.Z)(n.prototype,"fetchedAllResultExternalUrls",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),p=(0,m.Z)(n.prototype,"busyMarkup",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),f=(0,m.Z)(n.prototype,"resultMarkup",[w.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,m.Z)(n.prototype,"sortedExternalUrls",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"sortedExternalUrls"),n.prototype),(0,m.Z)(n.prototype,"presetsCount",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"presetsCount"),n.prototype),(0,m.Z)(n.prototype,"externalUrlsCount",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"externalUrlsCount"),n.prototype),(0,m.Z)(n.prototype,"canShowResults",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"canShowResults"),n.prototype),(0,m.Z)(n.prototype,"foundScanResultsCount",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"foundScanResultsCount"),n.prototype),(0,m.Z)(n.prototype,"needsAttentionCount",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"needsAttentionCount"),n.prototype),(0,m.Z)(n.prototype,"resultPresetsFromResponse",[w.action],Object.getOwnPropertyDescriptor(n.prototype,"resultPresetsFromResponse"),n.prototype),(0,m.Z)(n.prototype,"resultExternalUrlsFromResponse",[w.action],Object.getOwnPropertyDescriptor(n.prototype,"resultExternalUrlsFromResponse"),n.prototype),n)},3596:function(e,t,r){r.d(t,{e:function(){return m}});var n,o,i=r(6724),a=r(6762),s=r(3340),c=r(5558),l=r(3841),u=r(5952),p=r(9303),f=r(5450),h=r.n(f),b=r(7821),d=r(8700),v=r(8488),y=r.n(v),m=(n=function(e){(0,l.Z)(r,e);var t=(0,u.Z)(r);function r(e){var n;return(0,a.Z)(this,r),n=t.call(this),(0,i.Z)(n,"busyStats",o,(0,c.Z)(n)),n.rootStore=void 0,n.stats=b.observable.object({main:void 0,buttonsClicked:void 0,customBypass:void 0},{},{deep:!1}),n.filters=b.observable.object({dates:void 0,context:void 0},{},{deep:!1}),n.fetchMain=(0,b.flow)(h().mark((function e(){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.next=3;break;case 3:throw new Error("This feature is not available in the free version.");case 4:case"end":return e.stop()}}),e)}))),n.fetchButtonsClicked=(0,b.flow)(h().mark((function e(){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.next=3;break;case 3:throw new Error("This feature is not available in the free version.");case 4:case"end":return e.stop()}}),e)}))),n.fetchCustomBypass=(0,b.flow)(h().mark((function e(){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.next=3;break;case 3:throw new Error("This feature is not available in the free version.");case 4:case"end":return e.stop()}}),e)}))),n.rootStore=e,(0,b.runInAction)((function(){n.filters.dates=[y()().subtract(30,"days"),y()()],n.filters.context=n.rootStore.optionStore.others.context})),n}return(0,s.Z)(r,[{key:"applyDates",value:function(e){this.filters.dates=e}},{key:"applyContext",value:function(e){this.filters.context=e}}]),r}(d.BaseOptions),o=(0,p.Z)(n.prototype,"busyStats",[b.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{main:!1,buttonClicked:!1,customBypass:!1}}}),(0,p.Z)(n.prototype,"applyDates",[b.action],Object.getOwnPropertyDescriptor(n.prototype,"applyDates"),n.prototype),(0,p.Z)(n.prototype,"applyContext",[b.action],Object.getOwnPropertyDescriptor(n.prototype,"applyContext"),n.prototype),n)},4614:function(e,t,r){r.d(t,{M:function(){return d},m:function(){return v}});var n=r(6762),o=r(3340),i=r(7821),a=r(8700),s=r(5656),c=r(5619),l=r(8069),u=r(6159),p=r(3596),f=r(7052),h=r(4605),b=r(103);(0,i.configure)({enforceActions:"always"});var d=function(){function e(){(0,n.Z)(this,e),this.optionStore=void 0,this.customizeBannerStore=void 0,this.cookieStore=void 0,this.consentStore=void 0,this.statsStore=void 0,this.checklistStore=void 0,this.tcfStore=void 0,this.scannerStore=void 0,this.contextMemo=void 0,this.optionStore=new s.a(this),this.customizeBannerStore=new c.W(this),this.cookieStore=new l.h(this),this.consentStore=new u.v(this),this.statsStore=new p.e(this),this.checklistStore=new f.L(this),this.tcfStore=new h.z(this),this.scannerStore=new b.C(this)}return(0,o.Z)(e,[{key:"context",get:function(){return this.contextMemo?this.contextMemo:this.contextMemo=(0,a.createContextFactory)(this)}}],[{key:"StoreProvider",get:function(){return e.get.context.StoreProvider}},{key:"get",get:function(){return e.me?e.me:e.me=new e}}]),e}();d.me=void 0;var v=function(){return d.get.context.useStores()}},4605:function(e,t,r){r.d(t,{z:function(){return M}});var n,o,i,a,s,c,l,u,p,f,h,b,d,v,y=r(6724),m=r(6762),g=r(3340),Z=r(5558),w=r(3841),k=r(5952),R=r(9303),C=r(5450),P=r.n(C),S=r(7821),E=r(8700),_=r(4137),x=r(184),O=r(6692),D=r(5408),z=r(3025),T=r(3116),I=r(9081),A=r(597),M=(n=function(e){(0,w.Z)(r,e);var t=(0,k.Z)(r);function r(e){var n;return(0,m.Z)(this,r),n=t.call(this),(0,y.Z)(n,"busyGvl",o,(0,Z.Z)(n)),(0,y.Z)(n,"busyVendors",i,(0,Z.Z)(n)),(0,y.Z)(n,"busyDeclarations",a,(0,Z.Z)(n)),(0,y.Z)(n,"vendorConfigurations",s,(0,Z.Z)(n)),(0,y.Z)(n,"fetchedAllVendorConfigurations",c,(0,Z.Z)(n)),(0,y.Z)(n,"vendorListVersion",l,(0,Z.Z)(n)),(0,y.Z)(n,"gvlSpecificationVersion",u,(0,Z.Z)(n)),(0,y.Z)(n,"tcfPolicyVersion",p,(0,Z.Z)(n)),(0,y.Z)(n,"vendors",f,(0,Z.Z)(n)),(0,y.Z)(n,"purposes",h,(0,Z.Z)(n)),(0,y.Z)(n,"specialPurposes",b,(0,Z.Z)(n)),(0,y.Z)(n,"features",d,(0,Z.Z)(n)),(0,y.Z)(n,"specialFeatures",v,(0,Z.Z)(n)),n.rootStore=void 0,n.fetchVendorConfigurations=(0,S.flow)(P().mark((function e(){var t,r,n;return P().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=100,r=Math.ceil(this.vendorConfigurationCount/t),n=0;case 3:if(!(n<r)){e.next=9;break}return e.next=6,this.vendorConfigurations.get({request:{status:["draft","publish","private"]},params:{offset:n*t,per_page:100,context:"edit"}});case 6:n++,e.next=3;break;case 9:this.fetchedAllVendorConfigurations=!0;case 10:case"end":return e.stop()}}),e,this)}))),n.fetchVendors=(0,S.flow)(P().mark((function e(){var t,r,n,o,i,a;return P().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyVendors=!0,e.prev=1,e.next=4,(0,D.W)({location:x.f});case 4:for(t=e.sent,r=t.vendorListVersion,n=t.vendors,o=0,i=Object.keys(n);o<i.length;o++)a=i[o],this.vendors.set(a,new z.C(n[a],this));this.vendorListVersion=r,e.next=15;break;case 11:throw e.prev=11,e.t0=e.catch(1),console.log(e.t0),e.t0;case 15:return e.prev=15,this.busyVendors=!1,e.finish(15);case 18:case"end":return e.stop()}}),e,this,[[1,11,15,18]])}))),n.fetchDeclarations=(0,S.flow)(P().mark((function e(){var t,r,n,o,i,a,s,c,l,u,p,f,h,b,d,v,y,m,g;return P().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyDeclarations=!0,e.prev=1,e.next=4,(0,D.W)({location:_.Y});case 4:for(t=e.sent,r=t.gvlSpecificationVersion,n=t.tcfPolicyVersion,o=t.purposes,i=t.specialPurposes,a=t.features,s=t.specialFeatures,c=0,l=Object.keys(o);c<l.length;c++)u=l[c],this.purposes.set(u,new T.v(o[u],!1,this));for(p=0,f=Object.keys(i);p<f.length;p++)h=f[p],this.specialPurposes.set(h,new T.v(i[h],!0,this));for(b=0,d=Object.keys(a);b<d.length;b++)v=d[b],this.features.set(v,new I.i(a[v],!1,this));for(y=0,m=Object.keys(s);y<m.length;y++)g=m[y],this.specialFeatures.set(g,new I.i(s[g],!0,this));this.gvlSpecificationVersion=r,this.tcfPolicyVersion=n,e.next=23;break;case 19:throw e.prev=19,e.t0=e.catch(1),console.log(e.t0),e.t0;case 23:return e.prev=23,this.busyDeclarations=!1,e.finish(23);case 26:case"end":return e.stop()}}),e,this,[[1,19,23,26]])}))),n.updateGvl=(0,S.flow)(P().mark((function e(){var t,r;return P().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.busyGvl=!0,e.prev=1,e.next=4,(0,D.W)({location:O.y});case 4:t=e.sent,r=t.gvlDownloadTime,this.rootStore.optionStore.tcfGvlDownloadTime=r,e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(1),console.log(e.t0),e.t0;case 13:return e.prev=13,this.busyGvl=!1,e.finish(13);case 16:case"end":return e.stop()}}),e,this,[[1,9,13,16]])}))),n.rootStore=e,(0,S.runInAction)((function(){n.vendorConfigurations=new A.C((0,Z.Z)(n))})),n}return(0,g.Z)(r,[{key:"vendorConfigurationCount",get:function(){return this.fetchedAllVendorConfigurations?this.vendorConfigurations.entries.size:this.rootStore.optionStore.allTcfVendorConfigurationCount}}]),r}(E.BaseOptions),o=(0,R.Z)(n.prototype,"busyGvl",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i=(0,R.Z)(n.prototype,"busyVendors",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),a=(0,R.Z)(n.prototype,"busyDeclarations",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=(0,R.Z)(n.prototype,"vendorConfigurations",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=(0,R.Z)(n.prototype,"fetchedAllVendorConfigurations",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),l=(0,R.Z)(n.prototype,"vendorListVersion",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=(0,R.Z)(n.prototype,"gvlSpecificationVersion",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=(0,R.Z)(n.prototype,"tcfPolicyVersion",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=(0,R.Z)(n.prototype,"vendors",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),h=(0,R.Z)(n.prototype,"purposes",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),b=(0,R.Z)(n.prototype,"specialPurposes",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),d=(0,R.Z)(n.prototype,"features",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),v=(0,R.Z)(n.prototype,"specialFeatures",[S.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,R.Z)(n.prototype,"vendorConfigurationCount",[S.computed],Object.getOwnPropertyDescriptor(n.prototype,"vendorConfigurationCount"),n.prototype),n)},3537:function(e,t,r){r.d(t,{u:function(){return n},b:function(){return o}});var n="rcb-scan",o="rcb-automatic-scan-starter"},5194:function(e,t,r){function n(){return window["real-cookie-banner".replace(/-([a-z])/g,(function(e){return e[1].toUpperCase()}))]}r.d(t,{m:function(){return n}})},6703:function(e,t,r){r.d(t,{u:function(){return o}});var n=r(5194);function o(){return(0,n.m)().others}},5071:function(e,t,r){r.d(t,{_n:function(){return a},__:function(){return s},_i:function(){return c}});var n,o=r(8700);function i(){return n||(n=(0,o.createLocalizationFactory)(o.BaseOptions.getPureSlug({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"1",TCF_CMP_ID:367})))}var a=function(){var e;return(e=i())._n.apply(e,arguments)},s=function(){var e;return(e=i()).__.apply(e,arguments)},c=function(){var e;return(e=i())._i.apply(e,arguments)}},6965:function(e,t,r){function n(e){return!!/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/.test(e)}r.d(t,{C:function(){return n}})},8081:function(e,t,r){r.d(t,{E:function(){return i}});var n=r(7363),o=/(\r\n|\r|\n|<br[ ]?\/>)/g,i=function(e){return e.split(o).map((function(e,t){return e.match(o)?(0,n.createElement)("br",{key:t}):e}))}},5408:function(e,t,r){r.d(t,{Y:function(){return a},W:function(){return s}});var n,o=r(8700);function i(){return n||(n=(0,o.createRequestFactory)(window[o.BaseOptions.getPureSlug({NODE_ENV:"production",env:"production",rootSlug:"devowl-wp",slug:"real-cookie-banner",PLUGIN_CTX:"lite",ANTD_PREFIX:"rcb-antd",IS_TCF:"1",TCF_CMP_ID:367},!0)]))}var a=function(){var e;return(e=i()).urlBuilder.apply(e,arguments)},s=function(){var e;return(e=i()).request.apply(e,arguments)}},2200:function(e,t,r){function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;document.body.scrollTop=e,document.documentElement.scrollTop=e}r.d(t,{X:function(){return n}})},9522:function(e,t,r){function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"...";if(!e||e.length<=t)return e;var n=r.length,o=t-n,i=Math.ceil(o/2),a=Math.floor(o/2);return e.substr(0,i)+r+e.substr(e.length-a)}r.d(t,{r:function(){return n}})},6127:function(e,t,r){r.d(t,{g:function(){return n}});var n={path:"/checklist",method:r(8700).RouteHttpVerb.GET}},6410:function(e,t,r){r.d(t,{s:function(){return n}});var n={path:"/checklist/:id",method:r(8700).RouteHttpVerb.PUT}},7141:function(e,t,r){r.d(t,{O:function(){return n}});var n={path:"/consent/all",method:r(8700).RouteHttpVerb.DELETE}},5634:function(e,t,r){r.d(t,{c:function(){return n}});var n={path:"/consent/all",method:r(8700).RouteHttpVerb.GET}},3480:function(e,t,r){r.d(t,{q:function(){return n}});var n={path:"/consent/referer",method:r(8700).RouteHttpVerb.GET}},4876:function(e,t,r){r.d(t,{B:function(){return n}});var n={path:"/cookie-groups/order",method:r(8700).RouteHttpVerb.PUT}},340:function(e,t,r){r.d(t,{p:function(){return n}});var n={path:"/cookies/unassigned",method:r(8700).RouteHttpVerb.GET}},6950:function(e,t,r){r.d(t,{I:function(){return n}});var n={path:"/cookies/order",method:r(8700).RouteHttpVerb.PUT}},9001:function(e,t,r){r.d(t,{_:function(){return n}});var n={path:"/country-bypass/database",method:r(8700).RouteHttpVerb.PUT}},9864:function(e,t,r){r.d(t,{V:function(){return n}});var n={path:"/export",method:r(8700).RouteHttpVerb.GET}},9450:function(e,t,r){r.d(t,{Q:function(){return n}});var n={path:"/export/consents",method:r(8700).RouteHttpVerb.GET}},3839:function(e,t,r){r.d(t,{V:function(){return n}});var n={path:"/forward/cookie/:slug",method:r(8700).RouteHttpVerb.GET}},4773:function(e,t,r){r.d(t,{A:function(){return n}});var n={path:"/forward/endpoints",method:r(8700).RouteHttpVerb.GET}},6879:function(e,t,r){r.d(t,{H:function(){return n}});var n={path:"/import",method:r(8700).RouteHttpVerb.POST}},9332:function(e,t,r){r.d(t,{gn:function(){return C.g},s5:function(){return P.s},Ok:function(){return v.O},cI:function(){return d.c},rz:function(){return k},aY:function(){return N},vY:function(){return _},JQ:function(){return f},PM:function(){return p},qD:function(){return Y.q},BI:function(){return c.B},pV:function(){return S.p},It:function(){return l.I},_3:function(){return j._},QB:function(){return R.Q},Vm:function(){return Z.V},Vc:function(){return x.V},AW:function(){return E.A},HR:function(){return w.H},nQ:function(){return O.n},oW:function(){return V.o},nX:function(){return U.n},tX:function(){return i.t},N9:function(){return T.N},Wu:function(){return a.W},tw:function(){return I.t},zf:function(){return s.z},GQ:function(){return h.G},a4:function(){return b.a},Z1:function(){return D.Z},TB:function(){return z.T},kv:function(){return F.k},ME:function(){return H.M},Ce:function(){return L.C},MQ:function(){return W.M},$5:function(){return q.$},eO:function(){return G.e},$Q:function(){return g},gh:function(){return m},BV:function(){return y},Y3:function(){return B.Y},yR:function(){return A.y},fs:function(){return M.f},g3:function(){return n.g},J3:function(){return o.J}});var n=r(74),o=r(939),i=r(9444),a=r(7539),s=r(4017),c=r(4876),l=r(6950),u=r(8700),p={path:"/consent",method:u.RouteHttpVerb.POST},f={path:"/consent",method:u.RouteHttpVerb.GET},h=r(6799),b=r(8064),d=r(5634),v=r(7141),y={path:"/stats/main",method:u.RouteHttpVerb.GET},m={path:"/stats/customBypass",method:u.RouteHttpVerb.GET},g={path:"/stats/buttonsClicked",method:u.RouteHttpVerb.GET},Z=r(9864),w=r(6879),k={path:"/consent/clear",method:u.RouteHttpVerb.DELETE},R=r(9450),C=r(6127),P=r(6410),S=r(340),E=r(4773),_={path:"/consent/forward",method:u.RouteHttpVerb.POST},x=r(3839),O=r(365),D=r(6778),z=r(3985),T=r(3506),I=r(7419),A=r(6692),M=r(184),B=r(4137),N={path:"/consent/dynamic-predecision",method:u.RouteHttpVerb.GET},j=r(9001),U=r(1693),V=r(2391),F=r(102),G=r(9977),W=r(4788),L=r(4375),H=r(6964),q=r(4531),Y=r(3480)},365:function(e,t,r){r.d(t,{n:function(){return n}});var n={path:"/dismiss-config-page-pro-notice",method:r(8700).RouteHttpVerb.DELETE}},2391:function(e,t,r){r.d(t,{o:function(){return n}});var n={path:"/migration/:migration",method:r(8700).RouteHttpVerb.DELETE}},1693:function(e,t,r){r.d(t,{n:function(){return n}});var n={path:"/migration/:migration/:action",method:r(8700).RouteHttpVerb.POST}},7597:function(e,t,r){r.d(t,{C:function(){return n}});var n={path:"/modal-hint",method:r(8700).RouteHttpVerb.PUT}},9444:function(e,t,r){r.d(t,{t:function(){return n}});var n={path:"/presets/banner",method:r(8700).RouteHttpVerb.GET}},7539:function(e,t,r){r.d(t,{W:function(){return n}});var n={path:"/presets/blocker",method:r(8700).RouteHttpVerb.GET}},3506:function(e,t,r){r.d(t,{N:function(){return n}});var n={path:"/presets/blocker/:identifier",method:r(8700).RouteHttpVerb.GET}},4017:function(e,t,r){r.d(t,{z:function(){return n}});var n={path:"/presets/cookies",method:r(8700).RouteHttpVerb.GET}},7419:function(e,t,r){r.d(t,{t:function(){return n}});var n={path:"/presets/cookies/:identifier",method:r(8700).RouteHttpVerb.GET}},6778:function(e,t,r){r.d(t,{Z:function(){return n}});var n={path:"/revision/:hash",method:r(8700).RouteHttpVerb.GET}},6799:function(e,t,r){r.d(t,{G:function(){return n}});var n={path:"/revision/current",method:r(8700).RouteHttpVerb.GET}},8064:function(e,t,r){r.d(t,{a:function(){return n}});var n={path:"/revision/current",method:r(8700).RouteHttpVerb.PUT}},3985:function(e,t,r){r.d(t,{T:function(){return n}});var n={path:"/revision/independent/:hash",method:r(8700).RouteHttpVerb.GET}},102:function(e,t,r){r.d(t,{k:function(){return n}});var n={path:"/scanner/queue",method:r(8700).RouteHttpVerb.POST}},6964:function(e,t,r){r.d(t,{M:function(){return n}});var n={path:"/scanner/result/externals/:type/:identifier",method:r(8700).RouteHttpVerb.GET}},4788:function(e,t,r){r.d(t,{M:function(){return n}});var n={path:"/scanner/result/externals",method:r(8700).RouteHttpVerb.GET}},4375:function(e,t,r){r.d(t,{C:function(){return n}});var n={path:"/scanner/result/externals/:host",method:r(8700).RouteHttpVerb.PUT}},4531:function(e,t,r){r.d(t,{$:function(){return n}});var n={path:"/scanner/result/markup/:id",method:r(8700).RouteHttpVerb.GET}},9977:function(e,t,r){r.d(t,{e:function(){return n}});var n={path:"/scanner/result/presets",method:r(8700).RouteHttpVerb.GET}},4137:function(e,t,r){r.d(t,{Y:function(){return n}});var n={path:"/tcf/declarations",method:r(8700).RouteHttpVerb.GET}},6692:function(e,t,r){r.d(t,{y:function(){return n}});var n={path:"/tcf/gvl",method:r(8700).RouteHttpVerb.PUT}},184:function(e,t,r){r.d(t,{f:function(){return n}});var n={path:"/tcf/vendors",method:r(8700).RouteHttpVerb.GET}},74:function(e,t,r){r.d(t,{g:function(){return n}});var n={path:"/settings",namespace:"wp/v2",method:r(8700).RouteHttpVerb.GET}},939:function(e,t,r){r.d(t,{J:function(){return n}});var n={path:"/settings",namespace:"wp/v2",method:r(8700).RouteHttpVerb.PATCH}},9738:function(){},1696:function(){},7363:function(e){e.exports=React},1533:function(e){e.exports=ReactDOM},6711:function(e){e.exports=ReactRouterDOM},490:function(e){e.exports=devowlWp_customize},9445:function(e){e.exports=devowlWp_realProductManagerWpClient},6:function(e){e.exports=devowlWp_realQueue},8700:function(e){e.exports=devowlWp_utils},5311:function(e){e.exports=jQuery},7821:function(e){e.exports=mobx},8488:function(e){e.exports=moment},5998:function(e){e.exports=wp}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return n[e](r,r.exports,i),r.loaded=!0,r.exports}i.m=n,e=[],i.O=function(t,r,n,o){if(!r){var a=1/0;for(u=0;u<e.length;u++){r=e[u][0],n=e[u][1],o=e[u][2];for(var s=!0,c=0;c<r.length;c++)(!1&o||a>=o)&&Object.keys(i.O).every((function(e){return i.O[e](r[c])}))?r.splice(c--,1):(s=!1,o<a&&(a=o));if(s){e.splice(u--,1);var l=n();void 0!==l&&(t=l)}}return t}o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,n,o]},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=function(e){return Promise.all(Object.keys(i.f).reduce((function(t,r){return i.f[r](e,t),t}),[]))},i.u=function(e){return({3:"chunk-config-tab-scanner",184:"chunk-config-tab-tcf",322:"chunk-config-tab-licensing",357:"chunk-config-tab-import",379:"chunk-config-tab-dashboard",478:"chunk-config-tab-blocker",625:"chunk-config-tab-consent",718:"chunk-config-tab-cookies",768:"chunk-config-tab-settings"}[e]||e)+".lite.js?ver="+{3:"20b10cd619c34ac33353",138:"2a84dc7640aee5713d6e",152:"5aff83972673573d7757",184:"50de7d6c77c0289f21ef",193:"ce7e07933bcbf069b690",322:"c6c2710d6e50430499cd",357:"2605a6782399361261ee",379:"f47fb99019a8534edb92",411:"49967c6ebf6317fa7624",440:"abce2a866d4b5996c6bb",478:"0af56cc79214713e392f",547:"7b5925702aa799ec461c",625:"4da355ef33562f29add1",717:"730891213175f653cc90",718:"76784ebdac98d22b7776",728:"91d02ab85ad640c1bab5",768:"82b992a6edea9c956611",795:"ef626740f77410656823",813:"db259738faaaada66048",914:"2979ca58d101a6abfbf5",930:"2f5a69377c784e62c401",954:"07834ea3d146ab79e80d"}[e]},i.miniCssF=function(e){return"admin.css"},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t={},r="realCookieBanner_[name]:",i.l=function(e,n,o,a){if(t[e])t[e].push(n);else{var s,c;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var p=l[u];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")==r+o){s=p;break}}s||(c=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",r+o),s.src=e),t[e]=[n];var f=function(r,n){s.onerror=s.onload=null,clearTimeout(h);var o=t[e];if(delete t[e],s.parentNode&&s.parentNode.removeChild(s),o&&o.forEach((function(e){return e(n)})),r)return r(n)},h=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},function(){var e;i.g.importScripts&&(e=i.g.location+"");var t=i.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");r.length&&(e=r[r.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e}(),function(){var e={328:0};i.f.j=function(t,r){var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise((function(r,o){n=e[t]=[r,o]}));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(function(r){if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}},i.O.j=function(t){return 0===e[t]};var t=function(t,r){var n,o,a=r[0],s=r[1],c=r[2],l=0;if(a.some((function(t){return 0!==e[t]}))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)var u=c(i)}for(t&&t(r);l<a.length;l++)o=a[l],i.o(e,o)&&e[o]&&e[o][0](),e[a[l]]=0;return i.O(u)},r=self.webpackChunkrealCookieBanner_name_=self.webpackChunkrealCookieBanner_name_||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))}();var a=i.O(void 0,[194],(function(){return i(3162)}));a=i.O(a),realCookieBanner_admin=a}();
2
  //# sourceMappingURL=admin.lite.js.map
public/dist/admin.lite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"admin.lite.js","mappings":"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","sources":["webpack://realCookieBanner_[name]/webpack/runtime/chunk loaded","webpack://realCookieBanner_[name]/webpack/runtime/load script","webpack://realCookieBanner_[name]/../../backends/real-cookie-banner-backend/src/types/service/tcf.ts","webpack://realCookieBanner_[name]/./src/public/ts/admin.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/dashboard/checklistItem.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/dashboard/checklist.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/settings/general.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/noticeRevisionNeedsRetrigger.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/noticeBannerActiveNoCookies.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/noticeAnonymousScriptNotWritable.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/noticeNoManager.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/routerScrollToTop.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/proHeadlineButton.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/header.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/config/footer.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/configApp.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/learnMoreTag.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/postTypeSelect.tsx","webpack://realCookieBanner_[name]/./src/public/ts/utils/htmlDecode.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/proModal.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/proModalHint.tsx","webpack://realCookieBanner_[name]/./src/public/ts/components/proTag.tsx","webpack://realCookieBanner_[name]/./src/public/ts/hooks/useDebounce.tsx","webpack://realCookieBanner_[name]/./src/public/ts/hooks/useProModal.tsx","webpack://realCookieBanner_[name]/./src/public/ts/hooks/useScannerProgress.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/bannerPreset.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/blockerCollection.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/blockerModel.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/blockerPreset.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/consent.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/cookieCollection.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/cookieGroupCollection.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/cookieGroupModel.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/cookieModel.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/cookiePreset.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/revision.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/revisionIndependent.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/scannerResultExternalUrl.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/scannerResultExternalUrlSingle.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/scannerResultPreset.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/tcfFeature.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/tcfPurpose.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/tcfVendor.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/tcfVendorConfigurationCollection.tsx","webpack://realCookieBanner_[name]/./src/public/ts/models/tcfVendorConfigurationModel.tsx","webpack://realCookieBanner_[name]/./src/public/ts/store/checklist.tsx","webpack://realCookieBanner_[name]/./src/public/ts/store/consent.tsx","webpack://realCookieBanner_[name]/./src/public/ts/store/cookie.tsx","webpack://realCookieBanner_[name]/./src/public/ts/store/customizeBanner.tsx","webpack://realCookieBanner_[name]/./src/public/ts/store/option.tsx","webpack://realCookieBanner_[name]/./src/public/ts/store/scanner.tsx","webpack://realCookieBanner_[name]/./src/public/ts/store/stats.tsx","webpack://realCookieBanner_[name]/./src/public/ts/store/stores.tsx","webpack://realCookieBanner_[name]/./src/public/ts/store/tcf.tsx","webpack://realCookieBanner_[name]/./src/public/ts/types/queue.tsx","webpack://realCookieBanner_[name]/./src/public/ts/utils/getOptionsFromWindow.tsx","webpack://realCookieBanner_[name]/./src/public/ts/utils/getOtherOptionsFromWindow.tsx","webpack://realCookieBanner_[name]/./src/public/ts/utils/i18n.tsx","webpack://realCookieBanner_[name]/./src/public/ts/utils/isUrl.tsx","webpack://realCookieBanner_[name]/./src/public/ts/utils/reactNl2Br.tsx","webpack://realCookieBanner_[name]/./src/public/ts/utils/request.tsx","webpack://realCookieBanner_[name]/./src/public/ts/utils/scrollTo.tsx","webpack://realCookieBanner_[name]/./src/public/ts/utils/truncateMiddle.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/checklist.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/checklist.put.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/consentAll.delete.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/consentAll.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/consentReferer.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/cookieGroupOrder.put.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/cookieUnassigned.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/cookiesOrder.put.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/countryBypassDatabase.put.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/export.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/exportConsents.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/forwardCookie.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/forwardEndpoints.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/import.post.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/consent.post.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/consent.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/statsMain.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/statsCustomBypass.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/statsButtonsClicked.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/consentClear.delete.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/consentForward.post.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/consentDynamicPredecision.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/liteDismissConfigPageProNotice.delete.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/migration.delete.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/migration.post.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/modalHintSeen.put.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/presetsBanner.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/presetsBlocker.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/presetsBlockerAttributes.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/presetsCookies.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/presetsCookiesAttributes.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/revision.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/revisionCurrent.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/revisionCurrent.put.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/revisionIndependent.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/scannerQueue.post.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/scannerResultsAllExternalUrls.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/scannerResultsExternal.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/scannerResultsExternalHost.put.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/scannerResultsMarkup.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/scannerResultsPreset.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/tcfDeclarations.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/tcfGvl.put.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/tcfVendors.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/wp/settings.get.tsx","webpack://realCookieBanner_[name]/./src/public/ts/wp-api/wp/settings.patch.tsx","webpack://realCookieBanner_[name]/external var \"React\"","webpack://realCookieBanner_[name]/external var \"ReactDOM\"","webpack://realCookieBanner_[name]/external var \"ReactRouterDOM\"","webpack://realCookieBanner_[name]/external var \"devowlWp_customize\"","webpack://realCookieBanner_[name]/external var \"devowlWp_realProductManagerWpClient\"","webpack://realCookieBanner_[name]/external var \"devowlWp_realQueue\"","webpack://realCookieBanner_[name]/external var \"devowlWp_utils\"","webpack://realCookieBanner_[name]/external var \"jQuery\"","webpack://realCookieBanner_[name]/external var \"mobx\"","webpack://realCookieBanner_[name]/external var \"moment\"","webpack://realCookieBanner_[name]/external var \"wp\"","webpack://realCookieBanner_[name]/webpack/bootstrap","webpack://realCookieBanner_[name]/webpack/runtime/compat get default export","webpack://realCookieBanner_[name]/webpack/runtime/define property getters","webpack://realCookieBanner_[name]/webpack/runtime/ensure chunk","webpack://realCookieBanner_[name]/webpack/runtime/get javascript chunk filename","webpack://realCookieBanner_[name]/webpack/runtime/get mini-css chunk filename","webpack://realCookieBanner_[name]/webpack/runtime/global","webpack://realCookieBanner_[name]/webpack/runtime/hasOwnProperty shorthand","webpack://realCookieBanner_[name]/webpack/runtime/make namespace object","webpack://realCookieBanner_[name]/webpack/runtime/node module decorator","webpack://realCookieBanner_[name]/webpack/runtime/publicPath","webpack://realCookieBanner_[name]/webpack/runtime/jsonp chunk loading","webpack://realCookieBanner_[name]/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"realCookieBanner_[name]:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/* eslint-disable @typescript-eslint/no-empty-interface */\nvar ETcfGvlDisclosureType;\n\n(function (ETcfGvlDisclosureType) {\n ETcfGvlDisclosureType[\"Cookie\"] = \"cookie\";\n ETcfGvlDisclosureType[\"Web\"] = \"web\";\n ETcfGvlDisclosureType[\"App\"] = \"app\";\n})(ETcfGvlDisclosureType || (ETcfGvlDisclosureType = {}));\n\nvar ETcfGvlLanguage;\n\n(function (ETcfGvlLanguage) {\n ETcfGvlLanguage[\"Bulgarian\"] = \"bg\";\n ETcfGvlLanguage[\"Catalan\"] = \"ca\";\n ETcfGvlLanguage[\"Czech\"] = \"cs\";\n ETcfGvlLanguage[\"Danish\"] = \"da\";\n ETcfGvlLanguage[\"German\"] = \"de\";\n ETcfGvlLanguage[\"Greek\"] = \"el\";\n ETcfGvlLanguage[\"Spanish\"] = \"es\";\n ETcfGvlLanguage[\"Estonian\"] = \"et\";\n ETcfGvlLanguage[\"Basque\"] = \"eus\";\n ETcfGvlLanguage[\"Finnish\"] = \"fi\";\n ETcfGvlLanguage[\"French\"] = \"fr\";\n ETcfGvlLanguage[\"Galician\"] = \"gl\";\n ETcfGvlLanguage[\"Croatian\"] = \"hr\";\n ETcfGvlLanguage[\"Hungarian\"] = \"hu\";\n ETcfGvlLanguage[\"Italian\"] = \"it\";\n ETcfGvlLanguage[\"Japanese\"] = \"ja\";\n ETcfGvlLanguage[\"Lithuanian\"] = \"lt\";\n ETcfGvlLanguage[\"Latvian\"] = \"lv\";\n ETcfGvlLanguage[\"Maltese\"] = \"mt\";\n ETcfGvlLanguage[\"Dutch\"] = \"nl\";\n ETcfGvlLanguage[\"Norwegian\"] = \"no\";\n ETcfGvlLanguage[\"Polish\"] = \"pl\";\n ETcfGvlLanguage[\"Portuguese\"] = \"pt\";\n ETcfGvlLanguage[\"Romanian\"] = \"ro\";\n ETcfGvlLanguage[\"SerbianCyrillic\"] = \"sr-Cyrl\";\n ETcfGvlLanguage[\"SerbianLatin\"] = \"sr-Latn\";\n ETcfGvlLanguage[\"Russian\"] = \"ru\";\n ETcfGvlLanguage[\"Slovak\"] = \"sk\";\n ETcfGvlLanguage[\"Slovenian\"] = \"sl\";\n ETcfGvlLanguage[\"Swedish\"] = \"sv\";\n ETcfGvlLanguage[\"Turkish\"] = \"tr\";\n ETcfGvlLanguage[\"Chinese\"] = \"zh\";\n})(ETcfGvlLanguage || (ETcfGvlLanguage = {}));\n\nexport { ETcfGvlLanguage, ETcfGvlDisclosureType };","import _message from \"antd/es/message\";\nimport _ConfigProvider from \"antd/es/config-provider\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\n\nvar _handleCorrupRestApi;\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/* istanbul ignore file: we do not need to care about the entry point file as errors are detected through integration tests (E2E) */\n\n/**\n * The entry point for the admin side wp-admin resource (config page).\n */\nimport \"mobx-react/batchingForReactDom\";\nimport { render } from \"react-dom\";\nimport { RootStore } from \"./store\";\nimport { ConfigApp } from \"./components/configApp\";\nimport \"./style/antd.less\";\nimport \"./style/admin.scss\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport moment from \"moment\";\nimport { handleCorrupRestApi, getWebpackPublicPath } from \"@devowl-wp/utils\";\nimport { request } from \"./utils\";\n__webpack_public_path__ = getWebpackPublicPath(process.env);\nhandleCorrupRestApi === null || handleCorrupRestApi === void 0 ? void 0 : handleCorrupRestApi((_handleCorrupRestApi = {}, _defineProperty(_handleCorrupRestApi, RootStore.get.optionStore.restNamespace, _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return request({\n location: {\n path: \"/plugin\"\n }\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n}))), _defineProperty(_handleCorrupRestApi, \"wp/v2\", function () {\n var _wpV = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return request({\n location: {\n path: \"/settings\",\n namespace: \"wp/v2\"\n }\n });\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n function wpV2() {\n return _wpV.apply(this, arguments);\n }\n\n return wpV2;\n}()), _handleCorrupRestApi)); // Configure prefix for root (https://bit.ly/3wb2pv9)\n\n_ConfigProvider.config({\n prefixCls: process.env.ANTD_PREFIX\n});\n\n_message.config({\n top: 50\n});\n\nvar node = document.getElementById(\"\".concat(RootStore.get.optionStore.slug, \"-component\"));\n\nif (node) {\n render( /*#__PURE__*/React.createElement(_ConfigProvider, {\n prefixCls: process.env.ANTD_PREFIX,\n locale: {\n locale: moment.locale()\n }\n }, /*#__PURE__*/React.createElement(RootStore.StoreProvider, null, /*#__PURE__*/React.createElement(ConfigApp, null))), node);\n} // Expose this functionalities to add-ons, but you need to activate the library functionality\n// in your webpack configuration, see also https://webpack.js.org/guides/author-libraries/\n\n\nexport * from \"@devowl-wp/utils\";\nexport * from \"./wp-api\";\nexport * from \"./store\";","import _Tooltip from \"antd/es/tooltip\";\nimport _Tag from \"antd/es/tag\";\nimport { observer } from \"mobx-react\";\nimport { __ } from \"../../../utils\";\nimport { CheckCircleOutlined, CheckCircleFilled, InfoCircleFilled } from \"@ant-design/icons\";\nimport { useStores } from \"../../../store\";\nimport { PRO_TAG_BACKGROUND_COLOR, useScannerProgress } from \"../../../hooks\";\nvar DashboardChecklistItem = observer(function (_ref) {\n var id = _ref.id,\n checked = _ref.checked,\n title = _ref.title,\n description = _ref.description,\n link = _ref.link,\n linkText = _ref.linkText,\n linkTarget = _ref.linkTarget,\n needsPro = _ref.needsPro,\n onLinkClick = _ref.onLinkClick;\n\n var _useStores = useStores(),\n isPro = _useStores.optionStore.others.isPro;\n\n var isInfo = !isPro && needsPro;\n var extraContent = null;\n\n switch (id) {\n case \"scanner\":\n {\n var _useScannerProgress = useScannerProgress(),\n scanPercent = _useScannerProgress.percent,\n scanRemaining = _useScannerProgress.remaining,\n currentJob = _useScannerProgress.currentJob;\n\n if (scanRemaining > 0 && scanPercent > 0 && (currentJob === null || currentJob === void 0 ? void 0 : currentJob.group_position) > 0) {\n extraContent = /*#__PURE__*/React.createElement(_Tag, null, __(\"Currently scanning (%d %%)\", scanPercent));\n }\n\n break;\n }\n\n default:\n break;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"5px 0\"\n }\n }, /*#__PURE__*/React.createElement(_Tooltip, {\n title: checked && description\n }, /*#__PURE__*/React.createElement(\"span\", null, isInfo ? /*#__PURE__*/React.createElement(InfoCircleFilled, {\n style: {\n color: \"#7ec8ec\"\n }\n }) : checked ? /*#__PURE__*/React.createElement(CheckCircleFilled, {\n style: {\n color: \"#52c41a\"\n }\n }) : /*#__PURE__*/React.createElement(CheckCircleOutlined, {\n style: {\n color: \"#e2e2e2\"\n }\n }), \" \", /*#__PURE__*/React.createElement(\"span\", {\n style: {\n textDecoration: checked ? \"line-through\" : undefined,\n fontWeight: \"bold\"\n }\n }, title), !!link && !!linkText && /*#__PURE__*/React.createElement(React.Fragment, null, \"\\xA0\\xA0\\u2022\\xA0\\xA0\", /*#__PURE__*/React.createElement(\"a\", {\n href: link,\n target: linkTarget,\n rel: \"noreferrer\",\n onClick: onLinkClick\n }, linkText)))), isInfo && id !== \"get-pro\" && /*#__PURE__*/React.createElement(React.Fragment, null, \"\\xA0\", /*#__PURE__*/React.createElement(_Tag, {\n color: PRO_TAG_BACKGROUND_COLOR\n }, __(\"Needs PRO\"))), !!extraContent && /*#__PURE__*/React.createElement(React.Fragment, null, \"\\xA0\", extraContent), !!description && !checked && /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n paddingLeft: 17\n }\n }, description));\n});\nexport { DashboardChecklistItem };","import _Spin from \"antd/es/spin\";\nimport _Space from \"antd/es/space\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _Tag from \"antd/es/tag\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useState } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { __ } from \"../../../utils\";\nimport { DashboardChecklistItem } from \".\";\nimport { useStores } from \"../../../store\";\nimport { CheckCircleOutlined, MinusCircleOutlined } from \"@ant-design/icons\";\nvar DashboardChecklistCardContent = observer(function (_ref) {\n var _onLinkClick = _ref.onLinkClick,\n props = _objectWithoutProperties(_ref, [\"onLinkClick\"]);\n\n var _useStores = useStores(),\n checklistStore = _useStores.checklistStore;\n\n var busyChecklist = checklistStore.busyChecklist,\n items = checklistStore.items,\n completed = checklistStore.completed,\n checkable = checklistStore.checkable,\n done = checklistStore.done,\n overdue = checklistStore.checklist.overdue;\n\n var _useState = useState(typeof props.showHidden === \"boolean\" ? props.showHidden : done ? false : true),\n _useState2 = _slicedToArray(_useState, 2),\n showHidden = _useState2[0],\n setShowHidden = _useState2[1];\n\n return /*#__PURE__*/React.createElement(_Spin, {\n spinning: busyChecklist\n }, /*#__PURE__*/React.createElement(_Space, {\n direction: \"vertical\",\n size: \"large\"\n }, overdue && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"How time flies! You have installed Real Cookie Banner some time ago, but you still haven't finished the configuration yet.\"))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"We have collected all relevant steps for the legally compliant use of Real Cookie Banner after the first installation. Set up the cookie banner step by step to add an opt-in cookie banner to your website in compliance with the ePrivacy Directive and GDPR.\")), /*#__PURE__*/React.createElement(\"div\", null, done && (showHidden ? /*#__PURE__*/React.createElement(_Tag, {\n icon: /*#__PURE__*/React.createElement(MinusCircleOutlined, null),\n color: \"default\",\n style: {\n cursor: \"pointer\"\n },\n onClick: function onClick() {\n return setShowHidden(false);\n }\n }, __(\"Hide completed steps\")) : /*#__PURE__*/React.createElement(_Tag, {\n icon: /*#__PURE__*/React.createElement(CheckCircleOutlined, null),\n color: \"success\",\n style: {\n cursor: \"pointer\"\n },\n onClick: function onClick() {\n return setShowHidden(true);\n }\n }, __(\"%d / %d steps completed\", completed.length > checkable.length ? checkable.length : completed.length, // avoid overflow due infos\n checkable.length))), items.map(function (_ref2) {\n var id = _ref2.id,\n rest = _objectWithoutProperties(_ref2, [\"id\"]);\n\n if (!showHidden && rest.checked) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(DashboardChecklistItem, _extends({\n key: id,\n id: id\n }, rest, {\n onLinkClick: function onLinkClick(e) {\n if ([\"get-pro\"].indexOf(id) > -1) {\n checklistStore.toggleChecklistItem(id, true);\n }\n\n _onLinkClick === null || _onLinkClick === void 0 ? void 0 : _onLinkClick(e);\n }\n }));\n }))));\n});\nexport { DashboardChecklistCardContent };","import _Input from \"antd/es/input\";\nimport _Radio from \"antd/es/radio\";\nimport _Popconfirm from \"antd/es/popconfirm\";\nimport _Form from \"antd/es/form\";\nimport _Switch from \"antd/es/switch\";\nimport { useCallback } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { __, _i } from \"../../../utils\";\nimport { PostTypeSelect, ProTag, LearnMoreTag } from \"../..\";\nimport { useStores } from \"../../../store\";\nvar MANAGER_GTM_LABEL = \"Google Tag Manager\";\nvar MANAGER_MTM_LABEL = \"Matomo Tag Manager\";\nvar SettingsFormGeneral = observer(function () {\n var _useStores = useStores(),\n _useStores$optionStor = _useStores.optionStore,\n refreshSiteAfterConsent = _useStores$optionStor.refreshSiteAfterConsent,\n imprintExternalUrl = _useStores$optionStor.imprintExternalUrl,\n imprintIsExternalUrl = _useStores$optionStor.imprintIsExternalUrl,\n privacyPolicyExternalUrl = _useStores$optionStor.privacyPolicyExternalUrl,\n privacyPolicyIsExternalUrl = _useStores$optionStor.privacyPolicyIsExternalUrl,\n _useStores$optionStor2 = _useStores$optionStor.others,\n isPro = _useStores$optionStor2.isPro,\n customizeBannerUrl = _useStores$optionStor2.customizeBannerUrl;\n\n var fnCustomizeSectionUrl = useCallback(function (id) {\n return \"\".concat(customizeBannerUrl.replace(/autofocus\\[panel]=[\\w-]+/, \"autofocus[section]=\".concat(id)), \"&return=\").concat(encodeURIComponent(window.location.href));\n }, [customizeBannerUrl]);\n var customizeLegalUrl = fnCustomizeSectionUrl(\"real-cookie-banner-banner-legal\");\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n shouldUpdate: function shouldUpdate(prevValues, nextValues) {\n return prevValues.bannerActive !== nextValues.bannerActive;\n }\n }, function (_ref) {\n var getFieldValue = _ref.getFieldValue,\n setFieldsValue = _ref.setFieldsValue;\n var bannerActive = getFieldValue(\"bannerActive\");\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Cookie Banner/Dialog\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n noStyle: true,\n name: \"bannerActive\",\n valuePropName: \"checked\"\n }, /*#__PURE__*/React.createElement(_Switch, {\n style: {\n display: bannerActive ? undefined : \"none\"\n }\n })), !bannerActive && /*#__PURE__*/React.createElement(_Popconfirm, {\n title: __(\"I have already checked/will check all text in the cookie banner and content blocker myself. I have added missing information and corrected information that does not fit my use case.\"),\n cancelText: __(\"Cancel\"),\n okText: __(\"Activate now!\"),\n overlayStyle: {\n maxWidth: 450\n },\n onCancel: function onCancel() {\n setFieldsValue({\n bannerActive: false\n });\n },\n onConfirm: function onConfirm() {\n setFieldsValue({\n bannerActive: true\n });\n },\n placement: \"bottomLeft\"\n }, /*#__PURE__*/React.createElement(_Switch, {\n checked: false\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginTop: 5\n }\n }, __(\"You can enable and disable the cookie banner. We recommend to activate the cookie banner on your website after you have added all services.\"))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Content Blocker\"),\n style: {\n display: bannerActive ? undefined : \"none\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"blockerActive\",\n valuePropName: \"checked\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Switch, {\n style: {\n marginTop: 5\n }\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginTop: 5\n }\n }, __(\"This feature allows you to block content that would process personal data and set cookies, but for which you do not yet have the visitor's consent.\"))));\n }), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Refresh site after consent\"),\n style: {\n /**\n * This functionality is deprecated as it is in general not needed. We want to avoid\n * that users activate this feature, but we keep it active for BC.\n */\n display: refreshSiteAfterConsent ? undefined : \"none\"\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"refreshSiteAfterConsent\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Radio.Group, null, /*#__PURE__*/React.createElement(_Radio.Button, {\n value: false\n }, __(\"Do not refresh\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n value: true\n }, __(\"Refresh\")))), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, __(\"Depending on how services are loaded, e.g. by other plugins on your website, it may be necessary to reload the website after the user has consented to the setting of cookies (only necessary in very rare cases).\"))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Hide cookie banner on specific pages\")\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\",\n style: {\n marginTop: 7\n }\n }, __(\"According to the ePrivacy Directive, legally required pages such as the privacy policy or the imprint (depending on the country) may be accessible without the user having to give consent to services and their cookies. Therefore, it is recommended to avoid processing personal data and setting cookies on these pages and not to display a cookie banner.\")), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Imprint Page\"),\n labelCol: {\n span: 24\n },\n wrapperCol: {\n span: 12\n },\n style: {\n marginBottom: 12\n }\n }, imprintIsExternalUrl ? /*#__PURE__*/React.createElement(_Input, {\n value: imprintExternalUrl,\n readOnly: true,\n addonAfter: /*#__PURE__*/React.createElement(\"a\", {\n className: \"button-link alignright\",\n rel: \"noreferrer\",\n target: \"_blank\",\n href: customizeLegalUrl\n }, __(\"Edit\"))\n }) : /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"imprintId\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(PostTypeSelect, {\n postType: \"pages\",\n forceDefaultLanguage: true,\n postStatus: [\"publish\"],\n perPage: 100\n }))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Privacy policy page\"),\n labelCol: {\n span: 24\n },\n wrapperCol: {\n span: 12\n },\n style: {\n marginBottom: 12\n }\n }, privacyPolicyIsExternalUrl ? /*#__PURE__*/React.createElement(_Input, {\n value: privacyPolicyExternalUrl,\n readOnly: true,\n addonAfter: /*#__PURE__*/React.createElement(\"a\", {\n className: \"button-link alignright\",\n rel: \"noreferrer\",\n target: \"_blank\",\n href: customizeLegalUrl\n }, __(\"Edit\"))\n }) : /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"privacyPolicyId\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(PostTypeSelect, {\n postType: \"pages\",\n forceDefaultLanguage: true,\n postStatus: [\"publish\"],\n perPage: 100\n }))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: /*#__PURE__*/React.createElement(React.Fragment, null, __(\"Hide on additional pages\"), \"\\xA0\", /*#__PURE__*/React.createElement(ProTag, {\n title: __(\"Want to hide cookie banner on more pages?\"),\n testDrive: true,\n feature: \"hide-page-ids\",\n description: __(\"Cookie banners are legally necessary, but distract your users from the essentials. For example, on landing pages for advertising campaigns, they lead to lower conversion rates. On these pages, it can be useful to avoid processing personal data and setting cookies to keep the conversion rate high. You can hide the cookie banner on these pages.\")\n })),\n labelCol: {\n span: 24\n },\n wrapperCol: {\n span: 12\n },\n style: {\n marginBottom: 12\n }\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"hidePageIds\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(PostTypeSelect, {\n postType: \"pages\",\n multiple: true,\n disabled: !isPro,\n forceDefaultLanguage: true,\n postStatus: [\"publish\"],\n perPage: 100\n })))), /*#__PURE__*/React.createElement(_Form.Item, {\n label: __(\"Load services after consent via\")\n }, /*#__PURE__*/React.createElement(_Form.Item, {\n name: \"setCookiesViaManager\",\n noStyle: true\n }, /*#__PURE__*/React.createElement(_Radio.Group, null, /*#__PURE__*/React.createElement(_Radio.Button, {\n disabled: !isPro,\n value: \"none\"\n }, __(\"HTML/JavaScript Snippet\")), /*#__PURE__*/React.createElement(_Radio.Button, {\n disabled: !isPro,\n value: \"googleTagManager\"\n }, __(\"%s Event\", MANAGER_GTM_LABEL)), /*#__PURE__*/React.createElement(_Radio.Button, {\n disabled: !isPro,\n value: \"matomoTagManager\"\n }, __(\"%s Event\", MANAGER_MTM_LABEL)))), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: \"5px 0px 0px\"\n }\n }, /*#__PURE__*/React.createElement(LearnMoreTag, {\n url: __(\"https://devowl.io/knowledge-base/real-cookie-banner-with-google-tag-manager-or-matomo-tag-manager/\")\n }), /*#__PURE__*/React.createElement(ProTag, {\n title: __(\"Want to use a Tag Manager legally?\"),\n testDrive: true,\n feature: \"set-cookies-via-manager\",\n assetName: __(\"pro-modal/set-cookies-via-manager.png\"),\n description: __(\"You can integrate services via Google Tag Manager or Matomo Tag Manager. At the same time, you can obtain and document consents via Real Cookie Banner in accordance with data protection regulations.\")\n })), /*#__PURE__*/React.createElement(\"p\", {\n className: \"description\"\n }, /*#__PURE__*/React.createElement(\"strong\", null, __(\"You only need to change this option if you use Google Tag Manager or Matomo Tag Manager.\")), \"\\xA0\", _i(__(\"If you opt-in to or opt-out from services, you will normally execute JavaScript code to ensure that scripts are enabled/disabled and cookies are set/removed on the visitor's client. If you are a Google Tag Manager or Matomo Tag Manager user, you can map this behavior by using tags that are triggered by an event in the data layer. {{strong}}If you enable this option,{{/strong}} the Google Tag Manager or Matomo Tag Manager should not yet be integrated into your website. Instead, you must integrate it as an opt-in script of a service you create for the Tag Manager. For each service listed in this plugin, you will receive an additional field where you can specify the name of the event that is automatically triggered when the user opt-in or opt-out. We have a full integration for tag managers which should allow you to run it legally compliant in the EU.\"), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n }))));\n});\nexport { SettingsFormGeneral, MANAGER_GTM_LABEL, MANAGER_MTM_LABEL };","import { useCallback } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { __ } from \"../../utils\";\nimport { useStores } from \"../../store\";\nimport { useLocation } from \"react-router-dom\";\nvar NoticeRevisionNeedsRetrigger = observer(function () {\n var _useStores = useStores(),\n optionStore = _useStores.optionStore;\n\n var _useLocation = useLocation(),\n pathname = _useLocation.pathname;\n\n var handleRequestNow = useCallback(function (e) {\n optionStore.updateCurrentRevision();\n e.preventDefault();\n return false;\n }, [optionStore]);\n return optionStore.needsRevisionRetrigger && pathname.indexOf(\"/edit/\") === -1 && pathname.indexOf(\"/new\") === -1 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"You have changed settings that affect the content or behavior of the cookie banner. You should ask all visitors for their consent again.\"), \" \", \"\\u2022\", \" \", /*#__PURE__*/React.createElement(\"a\", {\n href: \"#\",\n onClick: handleRequestNow\n }, __(\"Request new consent\"))));\n});\nexport { NoticeRevisionNeedsRetrigger };","import { observer } from \"mobx-react\";\nimport { __ } from \"../../utils\";\nimport { useStores } from \"../../store\";\nvar NoticeBannerActiveNoCookies = observer(function () {\n var _useStores = useStores(),\n _useStores$optionStor = _useStores.optionStore,\n publicCookieCount = _useStores$optionStor.publicCookieCount,\n busySettings = _useStores$optionStor.busySettings,\n bannerActive = _useStores$optionStor.bannerActive;\n\n return bannerActive && !publicCookieCount && !busySettings && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, __(\"The cookie banner is activated, but unfortunately you have not yet created or enabled services.\")));\n});\nexport { NoticeBannerActiveNoCookies };","import { observer } from \"mobx-react\";\nimport { getOtherOptionsFromWindow, _i, __ } from \"../../utils\";\nvar NoticeAnonymousScriptNotWritable = observer(function () {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n showNoticeAnonymousScriptNotWritable = _getOtherOptionsFromW.showNoticeAnonymousScriptNotWritable;\n\n return !!showNoticeAnonymousScriptNotWritable && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"Your {{code}}wp-content{{/code}} folder is not writable. Please check your permissions!\"), {\n code: /*#__PURE__*/React.createElement(\"code\", null)\n })));\n});\nexport { NoticeAnonymousScriptNotWritable };","import { observer } from \"mobx-react\";\nimport { __, _i } from \"../../utils\";\nimport { useStores } from \"../../store\";\nimport { useLocation } from \"react-router-dom\";\nvar NoticeNoManager = observer(function (_ref) {\n var manager = _ref.manager,\n managerId = _ref.managerId,\n hasManagerAttributeName = _ref.hasManagerAttributeName,\n presetId = _ref.presetId;\n\n var _useStores = useStores(),\n _useStores$optionStor = _useStores.optionStore,\n setCookiesViaManager = _useStores$optionStor.setCookiesViaManager,\n hasManager = _useStores$optionStor[hasManagerAttributeName];\n\n var _useLocation = useLocation(),\n pathname = _useLocation.pathname;\n\n return setCookiesViaManager === managerId && !hasManager && /^\\/cookies\\/\\d+$/.test(pathname) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"notice notice-warning inline below-h2 notice-alt\",\n style: {\n margin: \"10px 0 0 0\"\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"You have not yet defined a %s service. To use {{strong}}%s{{/strong}} with Real Cookie Banner, you must create the appropriate service.\", manager, manager), {\n strong: /*#__PURE__*/React.createElement(\"strong\", null)\n }), \" \", \"\\u2022 \", /*#__PURE__*/React.createElement(\"a\", {\n href: \"#\".concat(pathname, \"/new?force=\").concat(presetId)\n }, __(\"Create now\"))));\n});\nexport { NoticeNoManager };","import { useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { scrollTo } from \"../utils\";\n/**\n * @see https://stackoverflow.com/a/54343182/5506547\n */\n\nvar RouterScrollToTop = function RouterScrollToTop() {\n var _useHistory = useHistory(),\n listen = _useHistory.listen;\n\n useEffect(function () {\n var destroy = listen(function () {\n scrollTo(0);\n });\n return function () {\n destroy();\n };\n }, [listen]);\n return null;\n};\n\nexport { RouterScrollToTop };","import _Popconfirm from \"antd/es/popconfirm\";\nimport { useCallback } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { InfoCircleOutlined } from \"@ant-design/icons\";\nimport { useStores } from \"../store\";\nimport { __ } from \"../utils\";\nvar ProHeadlineButton = observer(function () {\n var _useStores = useStores(),\n optionStore = _useStores.optionStore;\n\n var _optionStore$others = optionStore.others,\n proUrl = _optionStore$others.proUrl,\n isPro = _optionStore$others.isPro,\n isConfigProNoticeVisible = _optionStore$others.isConfigProNoticeVisible;\n var href = \"\".concat(proUrl, \"&feature=main-button\");\n var handleConfirm = useCallback(function () {\n window.open(href, \"_blank\");\n optionStore.dismissConfigProNotice();\n }, [optionStore]);\n var handleClose = useCallback(function () {\n optionStore.dismissConfigProNotice();\n }, [optionStore]);\n return !isPro && /*#__PURE__*/React.createElement(_Popconfirm, {\n visible: !!isConfigProNoticeVisible,\n title: __(\"Thank you for using the free version of Real Cookie Banner. You might also be interested in the PRO version, which offers you more features, 20+ design templates, 100+ service templates, 60+ content blocker templates and much more.\"),\n icon: /*#__PURE__*/React.createElement(InfoCircleOutlined, {\n style: {\n color: \"#1890ff\"\n }\n }),\n placement: \"bottom\",\n onConfirm: handleConfirm,\n onCancel: handleClose,\n cancelText: __(\"No, not interested...\"),\n okText: __(\"I want to learn more!\"),\n overlayStyle: {\n maxWidth: 450\n }\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"page-title-action\",\n rel: \"noreferrer\",\n onClick: handleConfirm\n }, __(\"Get PRO version\")));\n});\nexport { ProHeadlineButton };","import _Modal from \"antd/es/modal\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { CheckCircleOutlined } from \"@ant-design/icons\";\nimport { observer } from \"mobx-react\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { ProHeadlineButton, DashboardChecklistCardContent } from \"..\";\nimport { useStores } from \"../../store\";\nimport { __ } from \"../../utils\";\nvar ConfigHeader = observer(function () {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isChecklistModalOpen = _useState2[0],\n setChecklistModalOpen = _useState2[1];\n\n var _useStores = useStores(),\n optionStore = _useStores.optionStore,\n checklistStore = _useStores.checklistStore;\n\n var _useLocation = useLocation(),\n pathname = _useLocation.pathname;\n\n var customizeBannerUrl = optionStore.others.customizeBannerUrl,\n publicUrl = optionStore.publicUrl;\n var completed = checklistStore.completed,\n checkable = checklistStore.checkable,\n done = checklistStore.done;\n useEffect(function () {\n checklistStore.fetchChecklist();\n }, []);\n var handleCustomizeBannerButtonClick = useCallback(function (e) {\n window.location.href = \"\".concat(customizeBannerUrl, \"&return=\").concat(encodeURIComponent(window.location.href));\n e.preventDefault();\n }, []);\n var handleChecklistModalOpen = useCallback(function () {\n setChecklistModalOpen(true);\n checklistStore.fetchChecklist();\n }, [setChecklistModalOpen]);\n var handleChecklistModalClose = useCallback(function () {\n setChecklistModalOpen(false);\n }, [setChecklistModalOpen]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h1\", {\n className: \"wp-heading-inline\"\n }, __(\"Real Cookie Banner\")), /*#__PURE__*/React.createElement(\"img\", {\n className: \"rcb-nav-logo\",\n src: \"\".concat(publicUrl, \"images/logos/real-cookie-banner.svg\")\n }), /*#__PURE__*/React.createElement(\"a\", {\n className: \"page-title-action\",\n href: \"#\",\n onClick: handleCustomizeBannerButtonClick\n }, __(\"Customize banner\")), /*#__PURE__*/React.createElement(ProHeadlineButton, null), !done && pathname !== \"/\" && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"a\", {\n className: \"page-title-action\",\n style: {\n color: \"#52c41a\",\n background: \"#f6ffed\",\n borderColor: \"#85af65\"\n },\n onClick: handleChecklistModalOpen\n }, /*#__PURE__*/React.createElement(CheckCircleOutlined, null), \"\\xA0\", __(\"%d / %d steps completed\", completed.length > checkable.length ? checkable.length : completed.length, // avoid overflow due infos\n checkable.length)), /*#__PURE__*/React.createElement(_Modal, {\n visible: isChecklistModalOpen,\n title: __(\"Set up the cookie banner\"),\n onCancel: handleChecklistModalClose,\n okButtonProps: {\n style: {\n display: \"none\"\n }\n },\n cancelText: __(\"Close\"),\n width: 800\n }, /*#__PURE__*/React.createElement(DashboardChecklistCardContent, {\n showHidden: true,\n onLinkClick: handleChecklistModalClose\n }))), /*#__PURE__*/React.createElement(\"hr\", {\n className: \"wp-header-end\"\n }));\n});\nexport { ConfigHeader };","import { observer } from \"mobx-react\";\nimport { useStores } from \"../../store\";\nimport { HeartFilled } from \"@ant-design/icons\";\nimport { _i, __ } from \"../../utils\";\nvar ConfigFooter = observer(function () {\n var _useStores = useStores(),\n publicUrl = _useStores.optionStore.publicUrl;\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"rcb-config-footer\"\n }, _i(__(\"Real Cookie Banner is brought to you with {{icon/}} by\"), {\n icon: /*#__PURE__*/React.createElement(HeartFilled, {\n style: {\n color: \"#dca7a7\"\n }\n })\n }), /*#__PURE__*/React.createElement(\"a\", {\n href: \"https://devowl.io/\",\n target: \"_blank\",\n rel: \"noreferrer\"\n }, /*#__PURE__*/React.createElement(\"img\", {\n src: \"\".concat(publicUrl, \"images/logos/devowl-with-text.svg\")\n })));\n});\nexport { ConfigFooter };","import _Badge from \"antd/es/badge\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _Spin from \"antd/es/spin\";\nimport { lazy, Suspense } from \"react\";\nimport { useLayoutEffect } from \"react\";\nimport { observer } from \"mobx-react\";\nimport { HashRouter as Router, Switch, Route, NavLink } from \"react-router-dom\";\nimport { __ } from \"../utils\";\nimport { useStores } from \"../store\";\nimport { NoticeRevisionNeedsRetrigger, NoticeBannerActiveNoCookies, NoticeAnonymousScriptNotWritable, NoticeNoManager, RouterScrollToTop, MANAGER_GTM_LABEL, MANAGER_MTM_LABEL } from \".\";\nimport { ConfigHeader, ConfigFooter } from \".\";\nimport { SuspenseChunkTranslation } from \"@devowl-wp/utils\";\nimport { useScannerProgress } from \"../hooks\";\nimport { JOB_DONE_EVENT_PREFIX } from \"@devowl-wp/real-queue\";\nimport { AUTOMATIC_SCAN_STATER_QUEUE_JOB } from \"../types\";\nvar CSS_SPINNER_IN_CONTENT = {\n display: \"block\",\n marginTop: 10\n}; // Lazy load components\n\nvar createSuspenseComponent = function createSuspenseComponent(tab, children) {\n return {\n // eslint-disable-next-line react/display-name\n default: function _default() {\n return /*#__PURE__*/React.createElement(SuspenseChunkTranslation, {\n chunkFile: __webpack_get_script_filename__(\"chunk-config-tab-\".concat(tab)),\n options: function options() {\n return useStores().optionStore;\n },\n fallback: /*#__PURE__*/React.createElement(_Spin, {\n spinning: true,\n style: CSS_SPINNER_IN_CONTENT\n })\n }, children);\n }\n };\n};\n\nvar DashboardCards = /*#__PURE__*/lazy(function () {\n return import(\n /* webpackChunkName: \"chunk-config-tab-dashboard\" */\n \"./config/dashboard/cards\").then(function (_ref) {\n var DashboardCards = _ref.DashboardCards;\n return createSuspenseComponent(\"dashboard\", /*#__PURE__*/React.createElement(DashboardCards, null));\n });\n});\nvar SettingsForm = /*#__PURE__*/lazy(function () {\n return import(\n /* webpackChunkName: \"chunk-config-tab-settings\" */\n \"./config/settings/form\").then(function (_ref2) {\n var SettingsForm = _ref2.SettingsForm;\n return createSuspenseComponent(\"settings\", /*#__PURE__*/React.createElement(SettingsForm, null));\n });\n});\nvar ScannerRouter = /*#__PURE__*/lazy(function () {\n return import(\n /* webpackChunkName: \"chunk-config-tab-scanner\" */\n \"./config/scanner/router\").then(function (_ref3) {\n var ScannerRouter = _ref3.ScannerRouter;\n return createSuspenseComponent(\"scanner\", /*#__PURE__*/React.createElement(ScannerRouter, null));\n });\n});\nvar CookieGroupsTabRouter = /*#__PURE__*/lazy(function () {\n return import(\n /* webpackChunkName: \"chunk-config-tab-cookies\" */\n \"./config/cookies/groups/tabRouter\").then(function (_ref4) {\n var CookieGroupsTabRouter = _ref4.CookieGroupsTabRouter;\n return createSuspenseComponent(\"cookies\", /*#__PURE__*/React.createElement(CookieGroupsTabRouter, null));\n });\n});\nvar ConsentTabRouter = /*#__PURE__*/lazy(function () {\n return import(\n /* webpackChunkName: \"chunk-config-tab-consent\" */\n \"./config/consent/tabRouter\").then(function (_ref5) {\n var ConsentTabRouter = _ref5.ConsentTabRouter;\n return createSuspenseComponent(\"consent\", /*#__PURE__*/React.createElement(ConsentTabRouter, null));\n });\n});\nvar BlockerRouter = /*#__PURE__*/lazy(function () {\n return import(\n /* webpackChunkName: \"chunk-config-tab-blocker\" */\n \"./config/blocker/router\").then(function (_ref6) {\n var BlockerRouter = _ref6.BlockerRouter;\n return createSuspenseComponent(\"blocker\", /*#__PURE__*/React.createElement(BlockerRouter, null));\n });\n});\nvar ImportExportCards = /*#__PURE__*/lazy(function () {\n return import(\n /* webpackChunkName: \"chunk-config-tab-import\" */\n \"./config/import/cards\").then(function (_ref7) {\n var ImportExportCards = _ref7.ImportExportCards;\n return createSuspenseComponent(\"import\", /*#__PURE__*/React.createElement(ImportExportCards, null));\n });\n});\nvar ConfigLicensing = /*#__PURE__*/lazy(function () {\n return import(\n /* webpackChunkName: \"chunk-config-tab-licensing\" */\n \"./config/licensing/licensing\").then(function (_ref8) {\n var ConfigLicensing = _ref8.ConfigLicensing;\n return createSuspenseComponent(\"licensing\", /*#__PURE__*/React.createElement(ConfigLicensing, null));\n });\n});\nvar ConfigApp = observer(function () {\n var _useScannerProgress = useScannerProgress(),\n scanPercent = _useScannerProgress.percent,\n scanRemaining = _useScannerProgress.remaining,\n currentJob = _useScannerProgress.currentJob;\n\n var _useStores = useStores(),\n optionStore = _useStores.optionStore,\n checklistStore = _useStores.checklistStore;\n\n var _optionStore$others = optionStore.others,\n showLicenseFormImmediate = _optionStore$others.showLicenseFormImmediate,\n _optionStore$others$c = _slicedToArray(_optionStore$others.colorScheme, 3),\n badgeColor = _optionStore$others$c[2]; // Initially fetch settings here so the form is shown\n\n\n useLayoutEffect(function () {\n optionStore.fetchSettings(); // Listen to the automatic scan starter and update the checklist\n\n var listener = function listener()\n /*_: CustomEvent<JobDoneEvent>*/\n {\n checklistStore.fetchChecklist();\n };\n\n var event = \"\".concat(JOB_DONE_EVENT_PREFIX).concat(AUTOMATIC_SCAN_STATER_QUEUE_JOB);\n document.addEventListener(event, listener);\n return function () {\n document.removeEventListener(event, listener);\n };\n }, []);\n return showLicenseFormImmediate ? /*#__PURE__*/React.createElement(Suspense, {\n fallback: /*#__PURE__*/React.createElement(_Spin, {\n spinning: true,\n style: CSS_SPINNER_IN_CONTENT\n })\n }, /*#__PURE__*/React.createElement(ConfigLicensing, null)) : /*#__PURE__*/React.createElement(Router, null, /*#__PURE__*/React.createElement(ConfigHeader, null), /*#__PURE__*/React.createElement(\"nav\", {\n className: \"nav-tab-wrapper wp-clearfix\"\n }, /*#__PURE__*/React.createElement(NavLink, {\n to: \"/\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\",\n exact: true\n }, __(\"Dashboard\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/settings\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Settings\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/scanner\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, scanRemaining > 0 && scanPercent > 0 && (currentJob === null || currentJob === void 0 ? void 0 : currentJob.group_position) > 0 ? /*#__PURE__*/React.createElement(_Badge, {\n count: \"\".concat(scanPercent, \" %\"),\n style: {\n top: -11,\n fontSize: 10,\n height: 16,\n lineHeight: \"16px\",\n background: badgeColor\n }\n }, __(\"Scanner\")) : __(\"Scanner\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/cookies\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Services (Cookies)\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/blocker\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Content Blocker\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/consent\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Consent\")), /*#__PURE__*/React.createElement(NavLink, {\n to: \"/import\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Import / Export\")), window.location.host !== \"try.devowl.io\" && /*#__PURE__*/React.createElement(NavLink, {\n to: \"/licensing\",\n className: \"nav-tab\",\n activeClassName: \"nav-tab-active\"\n }, __(\"Licensing\")), /*#__PURE__*/React.createElement(\"a\", {\n href: __(\"https://devowl.io/support/\"),\n className: \"nav-tab\",\n target: \"_blank\",\n rel: \"noreferrer\"\n }, __(\"Support\"))), /*#__PURE__*/React.createElement(NoticeRevisionNeedsRetrigger, null), /*#__PURE__*/React.createElement(NoticeBannerActiveNoCookies, null), /*#__PURE__*/React.createElement(NoticeAnonymousScriptNotWritable, null), /*#__PURE__*/React.createElement(NoticeNoManager, {\n manager: MANAGER_GTM_LABEL,\n managerId: \"googleTagManager\",\n hasManagerAttributeName: \"hasGTM\",\n presetId: \"gtm\"\n }), /*#__PURE__*/React.createElement(NoticeNoManager, {\n manager: MANAGER_MTM_LABEL,\n managerId: \"matomoTagManager\",\n hasManagerAttributeName: \"hasMTM\",\n presetId: \"mtm\"\n }), /*#__PURE__*/React.createElement(RouterScrollToTop, null), /*#__PURE__*/React.createElement(Suspense, {\n fallback: /*#__PURE__*/React.createElement(_Spin, {\n spinning: true,\n style: CSS_SPINNER_IN_CONTENT\n })\n }, /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {\n path: \"/\",\n exact: true\n }, /*#__PURE__*/React.createElement(DashboardCards, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/settings/:tab?\"\n }, optionStore.bannerActive === undefined ? null : /*#__PURE__*/React.createElement(SettingsForm, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/scanner\"\n }, /*#__PURE__*/React.createElement(ScannerRouter, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/cookies/:cookieGroup?\"\n }, /*#__PURE__*/React.createElement(CookieGroupsTabRouter, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/consent/:tab?\"\n }, /*#__PURE__*/React.createElement(ConsentTabRouter, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/blocker\"\n }, /*#__PURE__*/React.createElement(BlockerRouter, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/import\"\n }, /*#__PURE__*/React.createElement(ImportExportCards, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/licensing\"\n }, /*#__PURE__*/React.createElement(ConfigLicensing, null)))), /*#__PURE__*/React.createElement(ConfigFooter, null));\n});\nexport { ConfigApp, createSuspenseComponent };","import _Tag from \"antd/es/tag\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { QuestionCircleFilled } from \"@ant-design/icons\";\nimport { __ } from \"../utils\";\n\nvar LearnMoreTag = function LearnMoreTag(_ref) {\n var url = _ref.url,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? undefined : _ref$style,\n _ref$label = _ref.label,\n label = _ref$label === void 0 ? __(\"Learn more\") : _ref$label;\n\n var useStyle = _objectSpread({\n cursor: \"pointer\"\n }, style);\n\n return /*#__PURE__*/React.createElement(_Tag, {\n style: useStyle,\n onClick: function onClick() {\n return window.open(url, \"_blank\");\n }\n }, /*#__PURE__*/React.createElement(QuestionCircleFilled, null), \" \", label);\n};\n\nexport { LearnMoreTag };","import _Select from \"antd/es/select\";\nimport _Spin from \"antd/es/spin\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useState, useEffect, useCallback } from \"react\";\nimport { __, request as utilsRequest, getOtherOptionsFromWindow, htmlDecode } from \"../utils\";\nimport { useDebounce } from \"../hooks\";\nimport { RouteHttpVerb } from \"@devowl-wp/utils\";\n\nvar PostTypeSelect = function PostTypeSelect(_ref) {\n var postType = _ref.postType,\n _ref$postStatus = _ref.postStatus,\n postStatus = _ref$postStatus === void 0 ? [\"draft\", \"publish\", \"private\"] : _ref$postStatus,\n _ref$perPage = _ref.perPage,\n perPage = _ref$perPage === void 0 ? 10 : _ref$perPage,\n value = _ref.value,\n multiple = _ref.multiple,\n disabled = _ref.disabled,\n forceDefaultLanguage = _ref.forceDefaultLanguage,\n _onChange = _ref.onChange,\n _ref$titleRender = _ref.titleRender,\n titleRender = _ref$titleRender === void 0 ? function (_ref2) {\n var rendered = _ref2.title.rendered;\n return rendered;\n } : _ref$titleRender,\n _ref$filter = _ref.filter,\n filter = _ref$filter === void 0 ? function () {\n return true;\n } : _ref$filter;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n term = _useState2[0],\n setTerm = _useState2[1];\n\n var _useState3 = useState(value),\n _useState4 = _slicedToArray(_useState3, 2),\n postId = _useState4[0],\n setPostId = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n fetching = _useState6[0],\n setFetching = _useState6[1];\n\n var _useState7 = useState([]),\n _useState8 = _slicedToArray(_useState7, 2),\n data = _useState8[0],\n setData = _useState8[1];\n\n var fetch = useCallback( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(request) {\n var _getOtherOptionsFromW, defaultLanguage, currentLanguage, pages;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n setFetching(true);\n _getOtherOptionsFromW = getOtherOptionsFromWindow(), defaultLanguage = _getOtherOptionsFromW.defaultLanguage, currentLanguage = _getOtherOptionsFromW.currentLanguage;\n _context.next = 4;\n return utilsRequest({\n location: {\n path: \"/\".concat(postType),\n method: RouteHttpVerb.GET,\n namespace: \"wp/v2\"\n },\n request: _objectSpread({\n status: request.include ? [\"draft\", \"publish\", \"private\"] : postStatus,\n orderby: request.search ? \"relevance\" : \"title\"\n }, request),\n params: {\n rcbForceLang: forceDefaultLanguage ? defaultLanguage : currentLanguage\n }\n });\n\n case 4:\n pages = _context.sent;\n setData(pages);\n setFetching(false);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref3.apply(this, arguments);\n };\n }(), []);\n useDebounce(term, term === \"\" ? 0 : 800, function (debouncedValue) {\n if (debouncedValue !== false) {\n fetch({\n search: debouncedValue,\n per_page: debouncedValue.length ? 50 : perPage\n });\n }\n }, function (changedValue) {\n if (changedValue !== false) {\n setFetching(true);\n }\n\n setData([]);\n });\n useEffect(function () {\n if (postId > 0 || Array.isArray(postId) && postId.length > 0) {\n fetch({\n include: Array.isArray(postId) ? postId : [postId]\n });\n }\n }, []); // Listen to changes from outside and refetch the data\n\n useEffect(function () {\n if (JSON.stringify(postId) !== JSON.stringify(value) && (value > 0 || Array.isArray(value) && value.length > 0)) {\n setPostId(value);\n fetch({\n include: Array.isArray(value) ? value : [value]\n });\n }\n }, [value, postId]);\n return /*#__PURE__*/React.createElement(_Select, {\n mode: multiple ? \"multiple\" : undefined,\n disabled: disabled,\n showSearch: true,\n value: postId,\n placeholder: __(\"Search...\"),\n notFoundContent: fetching ? /*#__PURE__*/React.createElement(_Spin, {\n size: \"small\"\n }) : null,\n onClick: function onClick() {\n return setTerm(\"\");\n },\n onSearch: setTerm,\n onChange: function onChange(e) {\n var value = Array.isArray(e) ? e.map(Number) : +e;\n setPostId(value);\n _onChange === null || _onChange === void 0 ? void 0 : _onChange(value);\n },\n filterOption: false,\n loading: fetching\n }, !multiple && !fetching && /*#__PURE__*/React.createElement(_Select.Option, {\n value: 0\n }, __(\"— Select —\")), data.map(function (d) {\n return /*#__PURE__*/React.createElement(_Select.Option, {\n key: d.id,\n value: d.id,\n style: {\n display: filter(d) ? undefined : \"none\"\n }\n }, htmlDecode(titleRender(d)));\n }));\n};\n\nexport { PostTypeSelect };","import { isUrl } from \".\";\n/**\n * Decode HTML entities in a given string.\n *\n * @see https://stackoverflow.com/a/34064434/5506547\n */\n\nfunction htmlDecode(input) {\n var inputIsUrl = isUrl(input);\n\n if (inputIsUrl) {\n var _doc$querySelector;\n\n // URLs needs to be handled a bit different as e.g. `?regionid` gets parsed to `&#39;ionid=`\n var doc = new DOMParser().parseFromString(\"<a href=\\\"\".concat(input, \"\\\"></a>\"), \"text/html\");\n return (_doc$querySelector = doc.querySelector(\"a\")) === null || _doc$querySelector === void 0 ? void 0 : _doc$querySelector.href;\n } else {\n // Keep XSS protection intact\n var _doc = new DOMParser().parseFromString(input, \"text/html\");\n\n return _doc.documentElement.textContent;\n }\n}\n\nexport { htmlDecode };","import _Modal from \"antd/es/modal\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState } from \"react\";\nimport { useEffect } from \"react\";\nimport { useCallback } from \"react\";\nimport { UnlockFilled } from \"@ant-design/icons\";\nimport { __, getOtherOptionsFromWindow, _i, reactNl2Br } from \"../utils\";\nimport { ProModalHint } from \".\";\n\nvar ProModal = function ProModal(_ref) {\n var _ref$visible = _ref.visible,\n visible = _ref$visible === void 0 ? false : _ref$visible,\n _ref$showHints = _ref.showHints,\n showHints = _ref$showHints === void 0 ? true : _ref$showHints,\n title = _ref.title,\n _ref$testDrive = _ref.testDrive,\n testDrive = _ref$testDrive === void 0 ? false : _ref$testDrive,\n assetName = _ref.assetName,\n description = _ref.description,\n feature = _ref.feature,\n onClose = _ref.onClose,\n inContainer = _ref.inContainer,\n inContainerElement = _ref.inContainerElement;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n proUrl = _getOtherOptionsFromW.proUrl,\n hints = _getOtherOptionsFromW.hints;\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n descriptionRef = _useState2[0],\n setDescriptionRef = _useState2[1];\n\n var handleRedirect = useCallback(function () {\n window.open(\"\".concat(proUrl, \"&feature=\").concat(feature), \"_blank\").focus();\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose]); // Do not automatically scroll / focus the container if `inContainer` is set\n\n useEffect(function () {\n if (inContainer && descriptionRef) {\n (descriptionRef === null || descriptionRef === void 0 ? void 0 : descriptionRef.parentElement.parentElement.previousElementSibling).removeAttribute(\"tabIndex\");\n }\n }, [descriptionRef]);\n var hint = hints === null || hints === void 0 ? void 0 : hints.proDialog; // Do not output the model until the container is ready\n\n if (inContainer && !inContainerElement) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(_Modal, {\n visible: inContainer ? true : visible,\n title: /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(UnlockFilled, null), \"\\xA0\", title, \"\\xA0\", __(\"Get PRO!\")),\n onOk: handleRedirect,\n onCancel: onClose,\n cancelText: __(\"No, not interested...\"),\n okText: __(\"I want to learn more!\"),\n className: \"rcb-pro-modal\",\n width: assetName ? 800 : 600,\n getContainer: inContainer ? inContainerElement : undefined\n }, !!assetName && /*#__PURE__*/React.createElement(\"img\", {\n style: {\n marginTop: 10\n },\n src: \"https://assets.devowl.io/in-app/wp-real-cookie-banner/\".concat(assetName)\n }), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n maxWidth: 600,\n margin: \"auto\"\n },\n ref: setDescriptionRef\n }, /*#__PURE__*/React.createElement(\"p\", null, reactNl2Br(description)), testDrive && /*#__PURE__*/React.createElement(\"p\", null, _i(__(\"Check out this feature with a {{a}}free sandbox{{/a}} before buying!\"), {\n a: /*#__PURE__*/React.createElement(\"a\", {\n href: \"https://try.devowl.io/?product=RCB\",\n target: \"_blank\",\n rel: \"noreferrer\"\n })\n }))), !!hint && showHints && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n maxWidth: 600,\n margin: \"auto\",\n textAlign: \"left\"\n }\n }, /*#__PURE__*/React.createElement(ProModalHint, hint)));\n};\n\nexport { ProModal };","import _Row from \"antd/es/row\";\nimport _Col from \"antd/es/col\";\nimport _Divider from \"antd/es/divider\";\n\nvar ProModalHint = function ProModalHint(_ref) {\n var title = _ref.title,\n description = _ref.description,\n link = _ref.link,\n linkText = _ref.linkText,\n logo = _ref.logo;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Divider, null, title), /*#__PURE__*/React.createElement(_Row, {\n wrap: false,\n style: {\n marginBottom: 10\n }\n }, /*#__PURE__*/React.createElement(_Col, {\n flex: \"auto\"\n }, !!description && /*#__PURE__*/React.createElement(\"p\", {\n style: {\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: description\n }\n }), \"\\xA0\", !!link && !!linkText && /*#__PURE__*/React.createElement(\"a\", {\n href: link,\n target: \"_blank\",\n rel: \"noreferrer\",\n className: \"button-link\"\n }, linkText))), /*#__PURE__*/React.createElement(_Col, {\n flex: \"150px\",\n style: {\n alignSelf: \"center\"\n }\n }, !!logo && /*#__PURE__*/React.createElement(\"img\", {\n src: logo,\n style: {\n maxWidth: \"calc(100% - 20px)\",\n height: \"auto\",\n marginLeft: 20\n }\n }))));\n};\n\nexport { ProModalHint };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useProModal } from \"../hooks\";\n\nvar ProTag = function ProTag(_ref) {\n var children = _ref.children,\n _ref$wrapperAttribute = _ref.wrapperAttributes,\n wrapperAttributes = _ref$wrapperAttribute === void 0 ? {} : _ref$wrapperAttribute,\n feature = _objectWithoutProperties(_ref, [\"children\", \"wrapperAttributes\"]);\n\n var _useProModal = useProModal(feature),\n modal = _useProModal.modal,\n tag = _useProModal.tag;\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, modal, /*#__PURE__*/React.createElement(\"span\", wrapperAttributes, tag));\n};\n\nexport { ProTag };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\n\nfunction useDebounce(value, delay, callback, changed) {\n var _useState = useState(value),\n _useState2 = _slicedToArray(_useState, 2),\n debounce = _useState2[0],\n setDebounce = _useState2[1];\n\n useEffect(function () {\n var handler = setTimeout(function () {\n setDebounce(value);\n }, delay);\n changed === null || changed === void 0 ? void 0 : changed(value);\n return function () {\n clearTimeout(handler);\n };\n }, [value]);\n useEffect(function () {\n callback(debounce);\n }, [debounce]);\n return debounce;\n}\n\nexport { useDebounce };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _Tag from \"antd/es/tag\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { UnlockOutlined } from \"@ant-design/icons\";\nimport { __ } from \"../utils\";\nimport { useStores } from \"../store\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { ProModal } from \"../components\";\nvar PRO_TAG_BACKGROUND_COLOR = \"#2db7f5\";\n/**\n * Provide a PRO modal when clicking a given button.\n *\n * @param overrideIsPro Allows to override the `isPro` attribute coming from the option store (e. g. for demo environment purposes, try.devowl.io)\n */\n\nfunction useProModal(feature, overrideIsPro) {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n visible = _useState2[0],\n setVisible = _useState2[1];\n\n var _useStores = useStores(),\n isPro = _useStores.optionStore.others.isPro;\n\n var useIsPro = typeof overrideIsPro === \"boolean\" ? overrideIsPro : isPro;\n var open = useCallback(function (e) {\n setVisible(true);\n e === null || e === void 0 ? void 0 : e.preventDefault();\n }, [setVisible]);\n var tag = useMemo(function () {\n return useIsPro ? null : /*#__PURE__*/React.createElement(_Tag, {\n icon: /*#__PURE__*/React.createElement(UnlockOutlined, null),\n color: PRO_TAG_BACKGROUND_COLOR,\n style: {\n cursor: \"pointer\"\n },\n onClick: open\n }, feature.tagText || __(\"Unlock feature\"));\n }, [open, feature]);\n var modal = useMemo(function () {\n return useIsPro ? null : /*#__PURE__*/React.createElement(ProModal, _extends({\n visible: visible,\n onClose: function onClose() {\n return setVisible(false);\n }\n }, feature));\n }, [visible, setVisible, feature]);\n return {\n isPro: useIsPro,\n tag: tag,\n modal: modal,\n open: open\n };\n}\n\nexport { useProModal, PRO_TAG_BACKGROUND_COLOR };","import { useProgress } from \"@devowl-wp/real-queue\";\nimport { useCallback } from \"react\";\nimport { useStores } from \"../store\";\nimport { SCAN_QUEUE_JOB } from \"../types\";\n\n/**\n * Returns the status / progress of the scanner.\n */\nfunction useScannerProgress(fetchStatusInterval) {\n var fetchAdditionalData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var onCancel = arguments.length > 2 ? arguments[2] : undefined;\n\n var _useStores = useStores(),\n scannerStore = _useStores.scannerStore;\n\n return useProgress({\n type: SCAN_QUEUE_JOB,\n fetchStatusInterval: fetchStatusInterval,\n fetchAdditionalData: fetchAdditionalData,\n onAdditionalData: useCallback(function (_ref) {\n var rcbScanList = _ref[\"rcb-scan-list\"];\n var presets = rcbScanList.presets,\n externalUrls = rcbScanList.externalUrls;\n scannerStore.resultPresetsFromResponse(presets);\n scannerStore.resultExternalUrlsFromResponse(externalUrls);\n }, [scannerStore]),\n onCancel: onCancel\n });\n}\n\nexport { useScannerProgress };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6;\n\nimport { observable, set, runInAction } from \"mobx\";\nimport { getSidebarCustomize } from \"@devowl-wp/customize\";\nvar BannerPreset = (_class = /*#__PURE__*/function () {\n /**\n * When hover the preview card we need to save the available settings.\n */\n function BannerPreset(preset, store) {\n var _this = this;\n\n _classCallCheck(this, BannerPreset);\n\n _initializerDefineProperty(this, \"id\", _descriptor, this);\n\n _initializerDefineProperty(this, \"name\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"needsPro\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"description\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"tags\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"settings\", _descriptor6, this);\n\n this.store = void 0;\n this.resetPreviewInUiSettings = void 0;\n runInAction(function () {\n return set(_this, preset);\n });\n this.store = store;\n }\n\n _createClass(BannerPreset, [{\n key: \"applyInUi\",\n value: function applyInUi() {\n var _this2 = this;\n\n // Check if pro\n if (!this.store.rootStore.optionStore.others.isPro && this.needsPro) {\n return false;\n } // First, save all in our store so the paint is done correctly\n\n\n this.previewInUi(); // Afterwards, save in customize state\n\n setTimeout(function () {\n var customize = getSidebarCustomize();\n\n _this2.store.presetDefaults.forEach(function (defaultValue, key) {\n var setting = customize(key); // Apply it\n\n setting.set(_this2.settings[key] === undefined ? defaultValue : _this2.settings[key]);\n });\n }, 100);\n return true;\n }\n }, {\n key: \"previewInUi\",\n value: function previewInUi() {\n var customize = getSidebarCustomize();\n var presetDefaults = this.store.presetDefaults;\n var _ref = this.store.rootStore.optionStore.others.customizeIdsBanner,\n settings = _ref.settings;\n var batchUpdates = []; // Make it restorable\n\n this.resetPreviewInUiSettings = {};\n\n for (var _i = 0, _Object$keys = Object.keys(settings); _i < _Object$keys.length; _i++) {\n var section = _Object$keys[_i];\n var sectionSettings = settings[section];\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(sectionSettings); _i2 < _Object$keys2.length; _i2++) {\n var _setting = _Object$keys2[_i2];\n var customizeKey = sectionSettings[_setting];\n\n if (!presetDefaults.has(customizeKey)) {\n continue;\n }\n\n this.resetPreviewInUiSettings[customizeKey] = [section, _setting, customize(customizeKey).get()];\n var newValue = Object.prototype.hasOwnProperty.call(this.settings, customizeKey) ? this.settings[customizeKey] : presetDefaults.get(customizeKey);\n batchUpdates.push([section, _setting, newValue]);\n }\n }\n\n BannerPreset.getIframeStore().customizeBannerStore.setBannerFromPreset(batchUpdates);\n }\n }, {\n key: \"resetPreviewInUi\",\n value: function resetPreviewInUi() {\n if (this.resetPreviewInUiSettings) {\n BannerPreset.getIframeStore().customizeBannerStore.setBannerFromPreset(Object.values(this.resetPreviewInUiSettings));\n this.resetPreviewInUiSettings = {};\n }\n }\n }], [{\n key: \"getIframeStore\",\n value: function getIframeStore() {\n try {\n return document.querySelector(\"#customize-preview > iframe\").contentWindow.realCookieBanner_customize_banner.RootStore.get;\n } catch (e) {\n // Element does not yet exist\n return undefined;\n }\n }\n }]);\n\n return BannerPreset;\n}(), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"id\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"name\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"needsPro\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"description\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"tags\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"settings\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { BannerPreset };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\n\nvar _dec, _class;\n\nimport { ClientCollection, RouteHttpVerb, AbstractPostCollection } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { BlockerModel } from \".\";\nvar BlockerCollection = (_dec = ClientCollection.annotate({\n path: \"/rcb-blocker\",\n singlePath: \"/rcb-blocker/:id\",\n namespace: \"wp/v2\",\n methods: [RouteHttpVerb.GET],\n request: request\n}), _dec(_class = /*#__PURE__*/function (_AbstractPostCollecti) {\n _inherits(BlockerCollection, _AbstractPostCollecti);\n\n var _super = _createSuper(BlockerCollection);\n\n function BlockerCollection(store) {\n var _this;\n\n _classCallCheck(this, BlockerCollection);\n\n _this = _super.call(this);\n _this.store = void 0;\n _this.store = store;\n return _this;\n }\n\n _createClass(BlockerCollection, [{\n key: \"instance\",\n value: function instance(response) {\n return new BlockerModel(this).fromResponse(response);\n }\n }]);\n\n return BlockerCollection;\n}(AbstractPostCollection)) || _class);\nexport { BlockerCollection };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _get from \"@babel/runtime/helpers/get\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _dec, _class, _class2, _descriptor;\n\nimport { ClientModel, AbstractPost } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { BlockerPreset } from \".\";\nimport { action, computed, observable, reaction, runInAction } from \"mobx\";\nimport { RootStore } from \"../store\";\nvar BlockerModel = (_dec = ClientModel.annotate({\n keyId: \"id\",\n namespace: \"wp/v2\",\n request: request,\n create: {\n path: \"/rcb-blocker\"\n },\n patch: {\n path: \"/rcb-blocker/:id\"\n },\n delete: {\n path: \"/rcb-blocker/:id\"\n }\n}), _dec(_class = (_class2 = /*#__PURE__*/function (_AbstractPost) {\n _inherits(BlockerModel, _AbstractPost);\n\n var _super = _createSuper(BlockerModel);\n\n function BlockerModel(collection) {\n var _this;\n\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, BlockerModel);\n\n _this = _super.call(this, collection, data);\n\n _initializerDefineProperty(_this, \"presetModel\", _descriptor, _assertThisInitialized(_this));\n\n reaction(function () {\n var _this$data;\n\n return (_this$data = _this.data) === null || _this$data === void 0 ? void 0 : _this$data.preset;\n }, function (preset) {\n return runInAction(function () {\n _this.presetModel = preset ? new BlockerPreset(preset, RootStore.get.cookieStore) : undefined;\n });\n }, {\n fireImmediately: true\n });\n return _this;\n }\n\n _createClass(BlockerModel, [{\n key: \"hosts\",\n get: function get() {\n var _this$data2;\n\n return (_this$data2 = this.data) === null || _this$data2 === void 0 ? void 0 : _this$data2.meta.hosts.split(\"\\n\");\n }\n }, {\n key: \"tcfVendors\",\n get: function get() {\n var _this$data3;\n\n // In lite version this can be `null`\n if (!((_this$data3 = this.data) !== null && _this$data3 !== void 0 && _this$data3.meta.tcfVendors)) {\n return [];\n }\n\n return this.data.meta.tcfVendors.split(\",\").filter(Boolean).map(Number);\n }\n }, {\n key: \"cookies\",\n get: function get() {\n var _this$data4;\n\n return (_this$data4 = this.data) === null || _this$data4 === void 0 ? void 0 : _this$data4.meta.cookies.split(\",\").filter(Boolean).map(Number);\n }\n }, {\n key: \"setName\",\n value: function setName(name) {\n this.data.title.rendered = name;\n }\n }, {\n key: \"setStatus\",\n value: function setStatus(status) {\n this.data.status = status;\n }\n }, {\n key: \"setDescription\",\n value: function setDescription(purpose) {\n this.data.content.rendered = purpose;\n }\n }, {\n key: \"setMeta\",\n value: function setMeta(meta) {\n this.data.meta = meta;\n }\n }, {\n key: \"transformDataForPatch\",\n value: function transformDataForPatch() {\n var data = _get(_getPrototypeOf(BlockerModel.prototype), \"transformDataForPatch\", this).call(this);\n\n return {\n title: data.title,\n content: data.content,\n status: data.status,\n meta: data.meta,\n slug: data.title\n };\n }\n }, {\n key: \"afterPatch\",\n value: function afterPatch() {\n this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision();\n }\n }, {\n key: \"afterDelete\",\n value: function afterDelete() {\n this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision();\n }\n }, {\n key: \"afterPersist\",\n value: function afterPersist() {\n this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision();\n }\n }]);\n\n return BlockerModel;\n}(AbstractPost), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"presetModel\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class2.prototype, \"hosts\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"hosts\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"tcfVendors\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"tcfVendors\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"cookies\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"cookies\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setName\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setName\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setStatus\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setStatus\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setDescription\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setDescription\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setMeta\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setMeta\"), _class2.prototype)), _class2)) || _class);\nexport { BlockerModel };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3;\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { observable, runInAction, computed, flow } from \"mobx\";\nimport { locationRestPresetsBlockerAttributesGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nvar BlockerPreset = (_class = /*#__PURE__*/function () {\n function BlockerPreset(preset, store) {\n var _this = this;\n\n _classCallCheck(this, BlockerPreset);\n\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"attributes\", _descriptor3, this);\n\n this.store = void 0;\n this.fetchAttributes = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var response;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n this.busy = true;\n _context.next = 4;\n return request({\n location: locationRestPresetsBlockerAttributesGet,\n params: {\n identifier: this.data.identifier\n }\n });\n\n case 4:\n response = _context.sent;\n this.attributes = response;\n _context.next = 12;\n break;\n\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](0);\n console.log(_context.t0);\n throw _context.t0;\n\n case 12:\n _context.prev = 12;\n this.busy = false;\n return _context.finish(12);\n\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[0, 8, 12, 15]]);\n }));\n runInAction(function () {\n _this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n _createClass(BlockerPreset, [{\n key: \"fullLogoUrl\",\n get: function get() {\n var logoFile = this.data.logoFile;\n var publicUrl = this.store.rootStore.optionStore.publicUrl;\n return logoFile.startsWith(\"http\") ? logoFile : \"\".concat(publicUrl, \"images/logos/\").concat(logoFile);\n }\n }]);\n\n return BlockerPreset;\n}(), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"attributes\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"fullLogoUrl\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"fullLogoUrl\"), _class.prototype)), _class);\nexport { BlockerPreset };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24, _descriptor25, _descriptor26;\n\nimport { observable, set, runInAction, computed } from \"mobx\";\nvar Consent = (_class = /*#__PURE__*/function () {\n function Consent(consent, store) {\n var _this = this;\n\n _classCallCheck(this, Consent);\n\n _initializerDefineProperty(this, \"id\", _descriptor, this);\n\n _initializerDefineProperty(this, \"ipv4\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"ipv6\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"ipv4_hash\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"ipv6_hash\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"uuid\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"previous_decision\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"decision\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"decision_labels\", _descriptor9, this);\n\n _initializerDefineProperty(this, \"created\", _descriptor10, this);\n\n _initializerDefineProperty(this, \"blocker\", _descriptor11, this);\n\n _initializerDefineProperty(this, \"dnt\", _descriptor12, this);\n\n _initializerDefineProperty(this, \"custom_bypass\", _descriptor13, this);\n\n _initializerDefineProperty(this, \"user_country\", _descriptor14, this);\n\n _initializerDefineProperty(this, \"revision_hash\", _descriptor15, this);\n\n _initializerDefineProperty(this, \"revision_independent_hash\", _descriptor16, this);\n\n _initializerDefineProperty(this, \"button_clicked\", _descriptor17, this);\n\n _initializerDefineProperty(this, \"context\", _descriptor18, this);\n\n _initializerDefineProperty(this, \"viewport_width\", _descriptor19, this);\n\n _initializerDefineProperty(this, \"viewport_height\", _descriptor20, this);\n\n _initializerDefineProperty(this, \"viewed_page\", _descriptor21, this);\n\n _initializerDefineProperty(this, \"url_imprint\", _descriptor22, this);\n\n _initializerDefineProperty(this, \"url_privacy_policy\", _descriptor23, this);\n\n _initializerDefineProperty(this, \"forwarded\", _descriptor24, this);\n\n _initializerDefineProperty(this, \"forwarded_blocker\", _descriptor25, this);\n\n _initializerDefineProperty(this, \"tcf_string\", _descriptor26, this);\n\n this.store = void 0;\n this.plain = void 0;\n runInAction(function () {\n return set(_this, consent);\n });\n this.store = store;\n this.plain = consent;\n }\n\n _createClass(Consent, [{\n key: \"revision\",\n get: function get() {\n return this.store.revisions.get(this.revision_hash);\n }\n }, {\n key: \"revision_independent\",\n get: function get() {\n return this.store.revisionsIndependent.get(this.revision_independent_hash);\n }\n }, {\n key: \"custom_bypass_readable\",\n get: function get() {\n var custom_bypass = this.custom_bypass;\n return custom_bypass ? custom_bypass.charAt(0).toUpperCase() + custom_bypass.slice(1) : \"\";\n }\n }, {\n key: \"export\",\n get:\n /**\n * Prepare the entry for JSON export.\n */\n function get() {\n return JSON.parse(JSON.stringify(_objectSpread(_objectSpread({}, this.plain), {}, {\n revision: this.revision.data,\n revision_independent: this.revision_independent.data\n })));\n }\n }, {\n key: \"fetchRevisions\",\n value: function fetchRevisions() {\n return Promise.all([this.store.fetchRevision({\n hash: this.revision_hash\n }), this.store.fetchRevisionIndependent({\n hash: this.revision_independent_hash\n })]);\n }\n }]);\n\n return Consent;\n}(), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"id\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"ipv4\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"ipv6\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"ipv4_hash\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"ipv6_hash\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"uuid\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"previous_decision\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"decision\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"decision_labels\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, \"created\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, \"blocker\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, \"dnt\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, \"custom_bypass\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor14 = _applyDecoratedDescriptor(_class.prototype, \"user_country\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor15 = _applyDecoratedDescriptor(_class.prototype, \"revision_hash\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor16 = _applyDecoratedDescriptor(_class.prototype, \"revision_independent_hash\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor17 = _applyDecoratedDescriptor(_class.prototype, \"button_clicked\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor18 = _applyDecoratedDescriptor(_class.prototype, \"context\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor19 = _applyDecoratedDescriptor(_class.prototype, \"viewport_width\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor20 = _applyDecoratedDescriptor(_class.prototype, \"viewport_height\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor21 = _applyDecoratedDescriptor(_class.prototype, \"viewed_page\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor22 = _applyDecoratedDescriptor(_class.prototype, \"url_imprint\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor23 = _applyDecoratedDescriptor(_class.prototype, \"url_privacy_policy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor24 = _applyDecoratedDescriptor(_class.prototype, \"forwarded\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor25 = _applyDecoratedDescriptor(_class.prototype, \"forwarded_blocker\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor26 = _applyDecoratedDescriptor(_class.prototype, \"tcf_string\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"revision\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"revision\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"revision_independent\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"revision_independent\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"custom_bypass_readable\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"custom_bypass_readable\"), _class.prototype)), _class);\nexport { Consent };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\n\nvar _dec, _class, _class2;\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { ClientCollection, RouteHttpVerb, AbstractPostCollection } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { CookieModel } from \".\";\nimport { computed, flow } from \"mobx\";\nimport { locationRestCookiesOrderPut } from \"../wp-api\";\nvar CookieCollection = (_dec = ClientCollection.annotate({\n path: \"/rcb-cookie\",\n singlePath: \"/rcb-cookie/:id\",\n namespace: \"wp/v2\",\n methods: [RouteHttpVerb.GET],\n request: request\n}), _dec(_class = (_class2 = /*#__PURE__*/function (_AbstractPostCollecti) {\n _inherits(CookieCollection, _AbstractPostCollecti);\n\n var _super = _createSuper(CookieCollection);\n\n function CookieCollection(store) {\n var _this;\n\n _classCallCheck(this, CookieCollection);\n\n _this = _super.call(this);\n _this.store = void 0;\n _this.orderCookies = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(ids) {\n var i, _iterator, _step, id, cookie;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.busy = true;\n _context.prev = 1;\n _context.next = 4;\n return request({\n location: locationRestCookiesOrderPut,\n request: {\n ids: ids\n }\n });\n\n case 4:\n // Apply the order to existing cached models instead of fetching again\n i = 0;\n _iterator = _createForOfIteratorHelper(ids);\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n id = _step.value;\n cookie = this.entries.get(id);\n cookie.setOrder(i);\n i++;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n _context.next = 13;\n break;\n\n case 9:\n _context.prev = 9;\n _context.t0 = _context[\"catch\"](1);\n console.log(_context.t0);\n throw _context.t0;\n\n case 13:\n _context.prev = 13;\n this.busy = false;\n return _context.finish(13);\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 9, 13, 16]]);\n }));\n _this.store = store;\n return _this;\n }\n\n _createClass(CookieCollection, [{\n key: \"sortedCookies\",\n get: function get() {\n var result = Array.from(this.entries.values());\n result.sort(function (a, b) {\n if (a.data.menu_order < b.data.menu_order) {\n return -1;\n } else if (a.data.menu_order > b.data.menu_order) {\n return 1;\n } else {\n // a.menu_order === b.menu_order\n if (a.key < b.key) {\n return 1;\n } else if (a.key > b.key) {\n return -1;\n } else {\n return 0;\n }\n }\n });\n return result;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n }, {\n key: \"instance\",\n value: function instance(response) {\n return new CookieModel(this).fromResponse(response);\n }\n }]);\n\n return CookieCollection;\n}(AbstractPostCollection), (_applyDecoratedDescriptor(_class2.prototype, \"sortedCookies\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"sortedCookies\"), _class2.prototype)), _class2)) || _class);\nexport { CookieCollection };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\n\nvar _dec, _class, _class2;\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { ClientCollection, RouteHttpVerb, AbstractCategoryCollection } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { CookieGroupModel } from \".\";\nimport { computed, flow } from \"mobx\";\nimport { locationRestCookieGroupOrderPut } from \"../wp-api\";\nvar CookieGroupCollection = (_dec = ClientCollection.annotate({\n path: \"/rcb-cookie-group\",\n singlePath: \"/rcb-cookie-group/:id\",\n namespace: \"wp/v2\",\n methods: [RouteHttpVerb.GET],\n request: request\n}), _dec(_class = (_class2 = /*#__PURE__*/function (_AbstractCategoryColl) {\n _inherits(CookieGroupCollection, _AbstractCategoryColl);\n\n var _super = _createSuper(CookieGroupCollection);\n\n function CookieGroupCollection(store) {\n var _this;\n\n _classCallCheck(this, CookieGroupCollection);\n\n _this = _super.call(this);\n _this.store = void 0;\n _this.orderCookieGroups = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(ids) {\n var i, _iterator, _step, id, group;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.busy = true;\n _context.prev = 1;\n _context.next = 4;\n return request({\n location: locationRestCookieGroupOrderPut,\n request: {\n ids: ids\n }\n });\n\n case 4:\n // Apply the order to existing cached models instead of fetching again\n i = 0;\n _iterator = _createForOfIteratorHelper(ids);\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n id = _step.value;\n group = this.entries.get(id);\n group.setOrder(i);\n i++;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n _context.next = 13;\n break;\n\n case 9:\n _context.prev = 9;\n _context.t0 = _context[\"catch\"](1);\n console.log(_context.t0);\n throw _context.t0;\n\n case 13:\n _context.prev = 13;\n this.busy = false;\n return _context.finish(13);\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 9, 13, 16]]);\n }));\n _this.store = store;\n return _this;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n _createClass(CookieGroupCollection, [{\n key: \"sortedGroups\",\n get: function get() {\n var result = Array.from(this.entries.values());\n result.sort(function (a, b) {\n if (a.data.meta.order < b.data.meta.order) {\n return -1;\n } else if (a.data.meta.order > b.data.meta.order) {\n return 1;\n } else {\n return 0;\n }\n });\n return result;\n }\n }, {\n key: \"instance\",\n value: function instance(response) {\n return new CookieGroupModel(this).fromResponse(response);\n }\n }]);\n\n return CookieGroupCollection;\n}(AbstractCategoryCollection), (_applyDecoratedDescriptor(_class2.prototype, \"sortedGroups\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"sortedGroups\"), _class2.prototype)), _class2)) || _class);\nexport { CookieGroupCollection };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _dec, _class, _class2, _descriptor, _descriptor2;\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { ClientModel, AbstractCategory } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { CookieCollection } from \".\";\nimport { action, observable, runInAction, flow, computed } from \"mobx\";\nvar CookieGroupModel = (_dec = ClientModel.annotate({\n keyId: \"id\",\n namespace: \"wp/v2\",\n request: request,\n create: {\n path: \"/rcb-cookie-group\"\n },\n patch: {\n path: \"/rcb-cookie-group/:id\"\n },\n delete: {\n path: \"/rcb-cookie-group/:id\"\n }\n}), _dec(_class = (_class2 = /*#__PURE__*/function (_AbstractCategory) {\n _inherits(CookieGroupModel, _AbstractCategory);\n\n var _super = _createSuper(CookieGroupModel);\n\n function CookieGroupModel(collection) {\n var _this;\n\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, CookieGroupModel);\n\n _this = _super.call(this, collection, data);\n\n _initializerDefineProperty(_this, \"cookies\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_this, \"fetchedAllCookies\", _descriptor2, _assertThisInitialized(_this));\n\n _this.fetchCookies = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this.cookies.get({\n request: {\n status: [\"draft\", \"publish\", \"private\"]\n },\n params: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n per_page: 100,\n // Fetch all\n \"rcb-cookie-group\": this.key,\n context: \"edit\"\n }\n });\n\n case 2:\n this.fetchedAllCookies = true;\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n runInAction(function () {\n _this.cookies = new CookieCollection(_assertThisInitialized(_this));\n });\n return _this;\n }\n\n _createClass(CookieGroupModel, [{\n key: \"cookiesCount\",\n get: function get() {\n // TODO: this.data.count should return a count also of private cookies\n return this.fetchedAllCookies ? this.cookies.entries.size : this.data.count;\n }\n }, {\n key: \"setName\",\n value: function setName(name) {\n this.data.name = name;\n }\n }, {\n key: \"setDescription\",\n value: function setDescription(description) {\n this.data.description = description;\n }\n }, {\n key: \"setOrder\",\n value: function setOrder(order) {\n this.data.meta.order = order;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n }, {\n key: \"afterDelete\",\n value: function afterDelete() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n }, {\n key: \"afterPatch\",\n value: function afterPatch() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n }, {\n key: \"afterPersist\",\n value: function afterPersist() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n }]);\n\n return CookieGroupModel;\n}(AbstractCategory), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"cookies\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, \"fetchedAllCookies\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return false;\n }\n}), _applyDecoratedDescriptor(_class2.prototype, \"cookiesCount\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"cookiesCount\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setName\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setName\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setDescription\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setDescription\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setOrder\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setOrder\"), _class2.prototype)), _class2)) || _class);\nexport { CookieGroupModel };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _get from \"@babel/runtime/helpers/get\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _dec, _class, _class2, _descriptor;\n\nimport { ClientModel, AbstractPost } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { CookiePreset } from \".\";\nimport { computed, action, observable, runInAction, reaction } from \"mobx\";\nimport { RootStore } from \"../store\";\nvar CookieModel = (_dec = ClientModel.annotate({\n keyId: \"id\",\n namespace: \"wp/v2\",\n request: request,\n create: {\n path: \"/rcb-cookie\"\n },\n patch: {\n path: \"/rcb-cookie/:id\"\n },\n delete: {\n path: \"/rcb-cookie/:id\"\n }\n}), _dec(_class = (_class2 = /*#__PURE__*/function (_AbstractPost) {\n _inherits(CookieModel, _AbstractPost);\n\n var _super = _createSuper(CookieModel);\n\n function CookieModel(collection) {\n var _this;\n\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, CookieModel);\n\n _this = _super.call(this, collection, data);\n\n _initializerDefineProperty(_this, \"presetModel\", _descriptor, _assertThisInitialized(_this));\n\n _this.store = void 0;\n reaction(function () {\n var _this$data;\n\n return (_this$data = _this.data) === null || _this$data === void 0 ? void 0 : _this$data.preset;\n }, function (preset) {\n return runInAction(function () {\n _this.presetModel = preset ? new CookiePreset(preset, RootStore.get.cookieStore) : undefined;\n });\n }, {\n fireImmediately: true\n });\n return _this;\n }\n\n _createClass(CookieModel, [{\n key: \"rootStore\",\n get: function get() {\n return this.collection.store.collection.store.rootStore;\n }\n }, {\n key: \"tagManagerSettings\",\n get: function get() {\n var _this$rootStore$optio = this.rootStore.optionStore,\n isPro = _this$rootStore$optio.others.isPro,\n setCookiesViaManager = _this$rootStore$optio.setCookiesViaManager;\n\n if (isPro && setCookiesViaManager !== \"none\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n return false;\n }\n }, {\n key: \"technicalDefinitions\",\n get: function get() {\n return JSON.parse(this.data.meta.technicalDefinitions);\n }\n }, {\n key: \"codeDynamics\",\n get: function get() {\n return JSON.parse(this.data.meta.codeDynamics || \"{}\");\n }\n }, {\n key: \"firstTechnicalDefinition\",\n get: function get() {\n var _this$technicalDefini;\n\n return (_this$technicalDefini = this.technicalDefinitions) === null || _this$technicalDefini === void 0 ? void 0 : _this$technicalDefini[0];\n }\n }, {\n key: \"afterPatch\",\n value: function afterPatch() {\n var _this2 = this;\n\n // Remove this cookie from all other groups\n var groups = this.collection.store.collection;\n\n var _this$data$rcbCookie = _slicedToArray(this.data[\"rcb-cookie-group\"], 1),\n thisGroup = _this$data$rcbCookie[0];\n\n groups.entries.forEach(function (group) {\n if (thisGroup !== group.key) {\n group.cookies.entries.delete(_this2.key);\n } else {\n group.cookies.entries.set(_this2.key, _this2);\n }\n });\n this.rootStore.optionStore.fetchCurrentRevision();\n this.rootStore.cookieStore.unassignedCookies.delete(this.key);\n }\n }, {\n key: \"setOrder\",\n value: function setOrder(order) {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n this.data.menu_order = order;\n }\n }, {\n key: \"setName\",\n value: function setName(name) {\n this.data.title.rendered = name;\n }\n }, {\n key: \"setStatus\",\n value: function setStatus(status) {\n this.data.status = status;\n }\n }, {\n key: \"setPurpose\",\n value: function setPurpose(purpose) {\n this.data.content.rendered = purpose;\n }\n }, {\n key: \"setGroup\",\n value: function setGroup(group) {\n this.data[\"rcb-cookie-group\"] = [group];\n }\n }, {\n key: \"setMeta\",\n value: function setMeta(meta) {\n this.data.meta = meta;\n }\n }, {\n key: \"transformDataForPersist\",\n value: function transformDataForPersist() {\n var data = _get(_getPrototypeOf(CookieModel.prototype), \"transformDataForPersist\", this).call(this);\n\n return _objectSpread(_objectSpread({}, data), {}, {\n \"rcb-cookie-group\": [this.collection.store.key]\n });\n }\n }, {\n key: \"transformDataForPatch\",\n value: function transformDataForPatch() {\n var data = _get(_getPrototypeOf(CookieModel.prototype), \"transformDataForPatch\", this).call(this);\n\n return {\n title: data.title,\n content: data.content,\n status: data.status,\n meta: data.meta,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n menu_order: data.menu_order,\n \"rcb-cookie-group\": this.data[\"rcb-cookie-group\"],\n // Force to rewrite slug\n slug: data.title\n };\n }\n }, {\n key: \"afterDelete\",\n value: function afterDelete() {\n this.collection.store.cookies.store.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n }, {\n key: \"afterPersist\",\n value: function afterPersist() {\n var _this$collection$stor = this.collection.store.cookies.store.collection.store.rootStore,\n optionStore = _this$collection$stor.optionStore,\n checklistStore = _this$collection$stor.checklistStore;\n optionStore.fetchCurrentRevision();\n checklistStore.probablyFetchByChangedItem(\"add-cookie\");\n }\n }]);\n\n return CookieModel;\n}(AbstractPost), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"presetModel\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class2.prototype, \"rootStore\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"rootStore\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"tagManagerSettings\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"tagManagerSettings\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"technicalDefinitions\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"technicalDefinitions\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"codeDynamics\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"codeDynamics\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"firstTechnicalDefinition\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"firstTechnicalDefinition\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"afterPatch\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"afterPatch\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setOrder\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setOrder\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setName\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setName\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setStatus\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setStatus\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setPurpose\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setPurpose\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setGroup\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setGroup\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setMeta\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setMeta\"), _class2.prototype)), _class2)) || _class);\nexport { CookieModel };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3;\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { observable, runInAction, computed, flow } from \"mobx\";\nimport { locationRestPresetsCookiesAttributesGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nvar CookiePreset = (_class = /*#__PURE__*/function () {\n function CookiePreset(preset, store) {\n var _this = this;\n\n _classCallCheck(this, CookiePreset);\n\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"attributes\", _descriptor3, this);\n\n this.store = void 0;\n this.fetchAttributes = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var response;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n this.busy = true;\n _context.next = 4;\n return request({\n location: locationRestPresetsCookiesAttributesGet,\n params: {\n identifier: this.data.identifier\n }\n });\n\n case 4:\n response = _context.sent;\n this.attributes = response;\n _context.next = 12;\n break;\n\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](0);\n console.log(_context.t0);\n throw _context.t0;\n\n case 12:\n _context.prev = 12;\n this.busy = false;\n return _context.finish(12);\n\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[0, 8, 12, 15]]);\n }));\n runInAction(function () {\n _this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n _createClass(CookiePreset, [{\n key: \"fullLogoUrl\",\n get: function get() {\n var logoFile = this.data.logoFile;\n var publicUrl = this.store.rootStore.optionStore.publicUrl;\n return logoFile.startsWith(\"http\") ? logoFile : \"\".concat(publicUrl, \"images/logos/\").concat(logoFile);\n }\n }]);\n\n return CookiePreset;\n}(), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"attributes\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"fullLogoUrl\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"fullLogoUrl\"), _class.prototype)), _class);\nexport { CookiePreset };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\n\nvar Revision = // @observable: We never make changes\nfunction Revision(preset, store) {\n _classCallCheck(this, Revision);\n\n this.data = void 0;\n this.store = void 0;\n this.data = preset;\n this.store = store;\n};\n\nexport { Revision };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\n\nvar RevisionIndependent = // @observable: We never make changes\nfunction RevisionIndependent(preset, store) {\n _classCallCheck(this, RevisionIndependent);\n\n this.data = void 0;\n this.store = void 0;\n this.data = preset;\n this.store = store;\n};\n\nexport { RevisionIndependent };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { computed, flow, observable, runInAction } from \"mobx\";\nimport { locationRestScannerResultExternalPatch } from \"../wp-api\";\nimport { request, __ } from \"../utils\";\nvar ScannerResultExternalUrl = (_class = /*#__PURE__*/function () {\n function ScannerResultExternalUrl(preset, store) {\n var _this = this;\n\n _classCallCheck(this, ScannerResultExternalUrl);\n\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n this.store = void 0;\n this.ignore = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var state,\n _args = arguments;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n state = _args.length > 1 && _args[1] !== undefined ? _args[1] : true;\n _context.prev = 1;\n _context.next = 4;\n return request({\n location: locationRestScannerResultExternalPatch,\n request: {\n ignored: state\n },\n params: {\n host: this.data.host\n }\n });\n\n case 4:\n this.data.ignored = state;\n _context.next = 11;\n break;\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](1);\n console.log(_context.t0);\n throw _context.t0;\n\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 7]]);\n }));\n runInAction(function () {\n _this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n _createClass(ScannerResultExternalUrl, [{\n key: \"inactive\",\n get: function get() {\n return this.blockedStatus === \"full\" || this.data.ignored;\n }\n }, {\n key: \"blockedStatus\",\n get: function get() {\n var _this$data = this.data,\n foundCount = _this$data.foundCount,\n blockedCount = _this$data.blockedCount;\n return blockedCount === 0 ? \"none\" : foundCount === blockedCount ? \"full\" : \"partial\";\n }\n }, {\n key: \"blockedStatusText\",\n get: function get() {\n switch (this.blockedStatus) {\n case \"full\":\n return __(\"Fully blocked\");\n\n case \"partial\":\n return __(\"Partially blocked\");\n\n default:\n return __(\"Not blocked\");\n }\n }\n }]);\n\n return ScannerResultExternalUrl;\n}(), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"inactive\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"inactive\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"blockedStatus\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"blockedStatus\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"blockedStatusText\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"blockedStatusText\"), _class.prototype)), _class);\nexport { ScannerResultExternalUrl };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { observable, runInAction, flow, computed } from \"mobx\";\nimport { truncateMiddle } from \"../utils\";\nvar ScannerResultExternalUrlSingle = (_class = /*#__PURE__*/function () {\n function ScannerResultExternalUrlSingle(preset, store) {\n var _this = this;\n\n _classCallCheck(this, ScannerResultExternalUrlSingle);\n\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n this.store = void 0;\n this.fetchMarkup = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this.store.fetchMarkup(this.data.id);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n runInAction(function () {\n _this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n _createClass(ScannerResultExternalUrlSingle, [{\n key: \"markup\",\n get: function get() {\n return this.store.resultMarkup.get(this.data.id);\n }\n }, {\n key: \"blockedUrlTruncate\",\n get: function get() {\n return truncateMiddle(this.data.blockedUrl, 50, \"[...]\");\n }\n }, {\n key: \"sourceUrlTruncate\",\n get: function get() {\n return truncateMiddle(this.data.sourceUrl, 50, \"[...]\");\n }\n }]);\n\n return ScannerResultExternalUrlSingle;\n}(), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"markup\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"markup\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"blockedUrlTruncate\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"blockedUrlTruncate\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"sourceUrlTruncate\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"sourceUrlTruncate\"), _class.prototype)), _class);\nexport { ScannerResultExternalUrlSingle };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3;\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { observable, runInAction, computed, flow } from \"mobx\";\nimport { request, __ } from \"../utils\";\nimport { locationRestPresetsBlockerAttributesGet } from \"../wp-api\";\nvar ScannerResultPreset = (_class = /*#__PURE__*/function () {\n function ScannerResultPreset(preset, store) {\n var _this = this;\n\n _classCallCheck(this, ScannerResultPreset);\n\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"data\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"attributes\", _descriptor3, this);\n\n this.store = void 0;\n this.fetchAttributes = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var response;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n this.busy = true;\n _context.next = 4;\n return request({\n location: locationRestPresetsBlockerAttributesGet,\n params: {\n identifier: this.data.identifier\n }\n });\n\n case 4:\n response = _context.sent;\n this.attributes = response;\n _context.next = 12;\n break;\n\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](0);\n console.log(_context.t0);\n throw _context.t0;\n\n case 12:\n _context.prev = 12;\n this.busy = false;\n return _context.finish(12);\n\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[0, 8, 12, 15]]);\n }));\n runInAction(function () {\n _this.data = preset;\n });\n this.store = store;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n\n _createClass(ScannerResultPreset, [{\n key: \"fullLogoUrl\",\n get: function get() {\n var logoFile = this.data.logoFile;\n var publicUrl = this.store.rootStore.optionStore.publicUrl;\n return logoFile.startsWith(\"http\") ? logoFile : \"\".concat(publicUrl, \"images/logos/\").concat(logoFile);\n }\n /**\n * Determines if this preset needs further attention. It is inactive when it e.g. already exists.\n */\n\n }, {\n key: \"inactive\",\n get: function get() {\n var _this$data$tags;\n\n return !!((_this$data$tags = this.data.tags) !== null && _this$data$tags !== void 0 && _this$data$tags[__(\"Already exists\")]);\n }\n }]);\n\n return ScannerResultPreset;\n}(), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busy\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"attributes\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"fullLogoUrl\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"fullLogoUrl\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"inactive\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"inactive\"), _class.prototype)), _class);\nexport { ScannerResultPreset };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport { observable, runInAction } from \"mobx\";\nvar TcfFeature = (_class = function TcfFeature(data, special, store) {\n var _this = this;\n\n _classCallCheck(this, TcfFeature);\n\n _initializerDefineProperty(this, \"data\", _descriptor, this);\n\n _initializerDefineProperty(this, \"special\", _descriptor2, this);\n\n this.store = void 0;\n runInAction(function () {\n _this.special = special;\n _this.data = data;\n });\n this.store = store;\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"special\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { TcfFeature };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport { observable, runInAction } from \"mobx\";\nvar TcfPurpose = (_class = function TcfPurpose(data, special, store) {\n var _this = this;\n\n _classCallCheck(this, TcfPurpose);\n\n _initializerDefineProperty(this, \"data\", _descriptor, this);\n\n _initializerDefineProperty(this, \"special\", _descriptor2, this);\n\n this.store = void 0;\n runInAction(function () {\n _this.special = special;\n _this.data = data;\n });\n this.store = store;\n}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"special\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n})), _class);\nexport { TcfPurpose };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor;\n\nimport { computed, observable, runInAction } from \"mobx\";\nimport { ETcfGvlDisclosureType } from \"@devowl-wp/real-cookie-banner-backend/src/types/service/tcf\";\nvar TcfVendor = (_class = /*#__PURE__*/function () {\n function TcfVendor(data, store) {\n var _this = this;\n\n _classCallCheck(this, TcfVendor);\n\n _initializerDefineProperty(this, \"data\", _descriptor, this);\n\n this.store = void 0;\n runInAction(function () {\n _this.data = data;\n });\n this.store = store;\n }\n\n _createClass(TcfVendor, [{\n key: \"vendorConfiguration\",\n get:\n /**\n * Get existing vendor configuration for this vendor.\n */\n function get() {\n var _iterator = _createForOfIteratorHelper(this.store.vendorConfigurations.entries.values()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var c = _step.value;\n\n if (c.vendorModel.data.id === this.data.id) {\n return c;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return undefined;\n }\n }, {\n key: \"deviceStorageDisclosure\",\n get: function get() {\n var _this$data = this.data,\n usesCookies = _this$data.usesCookies,\n cookieMaxAgeSeconds = _this$data.cookieMaxAgeSeconds,\n cookieRefresh = _this$data.cookieRefresh,\n usesNonCookieAccess = _this$data.usesNonCookieAccess,\n deviceStorageDisclosure = _this$data.deviceStorageDisclosure;\n var result = deviceStorageDisclosure !== null && deviceStorageDisclosure !== void 0 && deviceStorageDisclosure.disclosures.length ? _toConsumableArray(deviceStorageDisclosure.disclosures) : []; // Include implicit device storage into table\n\n if (usesNonCookieAccess) {\n result.unshift({\n type: ETcfGvlDisclosureType.Web,\n identifier: \"*\",\n purposes: undefined,\n cookieRefresh: undefined,\n domain: \"*\",\n maxAgeSeconds: null\n });\n }\n\n if (usesCookies) {\n result.unshift({\n type: ETcfGvlDisclosureType.Cookie,\n identifier: \"*\",\n purposes: undefined,\n cookieRefresh: cookieRefresh,\n domain: \"*\",\n maxAgeSeconds: cookieMaxAgeSeconds\n });\n }\n\n return result;\n }\n }, {\n key: \"allPurposes\",\n get: function get() {\n return [].concat(_toConsumableArray(this.legIntPurposes), _toConsumableArray(this.purposes), _toConsumableArray(this.specialPurposes)).filter(Boolean);\n }\n }, {\n key: \"allFeatures\",\n get: function get() {\n return [].concat(_toConsumableArray(this.features), _toConsumableArray(this.specialFeatures)).filter(Boolean);\n }\n /**\n * Calculate a map of restrictions for this vendor. This can be used to make a form\n * configurable depending on the current vendor.\n */\n\n }, {\n key: \"restrictivePurposes\",\n get: function get() {\n var result = {\n normal: {}\n };\n\n for (var _i = 0, _arr = [].concat(_toConsumableArray(this.legIntPurposes), _toConsumableArray(this.purposes)); _i < _arr.length; _i++) {\n var purpose = _arr[_i];\n result.normal[purpose.data.id.toString()] = {\n enabled: true,\n legInt: this.legIntPurposes.indexOf(purpose) > -1 && !purpose.special ? \"yes\" : \"no\"\n };\n }\n\n return result;\n }\n /**\n * Map the integers to valid declaration objects.\n */\n\n }, {\n key: \"purposes\",\n get: function get() {\n var _this$data2,\n _this2 = this;\n\n return (_this$data2 = this.data) === null || _this$data2 === void 0 ? void 0 : _this$data2.purposes.map(function (id) {\n return _this2.store.purposes.get(\"\".concat(id));\n });\n }\n }, {\n key: \"legIntPurposes\",\n get: function get() {\n var _this$data3,\n _this3 = this;\n\n return (_this$data3 = this.data) === null || _this$data3 === void 0 ? void 0 : _this$data3.legIntPurposes.map(function (id) {\n return _this3.store.purposes.get(\"\".concat(id));\n });\n }\n }, {\n key: \"flexiblePurposes\",\n get: function get() {\n var _this$data4,\n _this4 = this;\n\n return (_this$data4 = this.data) === null || _this$data4 === void 0 ? void 0 : _this$data4.flexiblePurposes.map(function (id) {\n return _this4.store.purposes.get(\"\".concat(id));\n });\n }\n }, {\n key: \"specialPurposes\",\n get: function get() {\n var _this$data5,\n _this5 = this;\n\n return (_this$data5 = this.data) === null || _this$data5 === void 0 ? void 0 : _this$data5.specialPurposes.map(function (id) {\n return _this5.store.specialPurposes.get(\"\".concat(id));\n });\n }\n }, {\n key: \"features\",\n get: function get() {\n var _this$data6,\n _this6 = this;\n\n return (_this$data6 = this.data) === null || _this$data6 === void 0 ? void 0 : _this$data6.features.map(function (id) {\n return _this6.store.features.get(\"\".concat(id));\n });\n }\n }, {\n key: \"specialFeatures\",\n get: function get() {\n var _this$data7,\n _this7 = this;\n\n return (_this$data7 = this.data) === null || _this$data7 === void 0 ? void 0 : _this$data7.specialFeatures.map(function (id) {\n return _this7.store.specialFeatures.get(\"\".concat(id));\n });\n }\n }]);\n\n return TcfVendor;\n}(), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"data\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"vendorConfiguration\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"vendorConfiguration\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"deviceStorageDisclosure\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"deviceStorageDisclosure\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"allPurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"allPurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"allFeatures\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"allFeatures\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"restrictivePurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"restrictivePurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"purposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"purposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"legIntPurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"legIntPurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"flexiblePurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"flexiblePurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"specialPurposes\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"specialPurposes\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"features\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"features\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"specialFeatures\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"specialFeatures\"), _class.prototype)), _class);\nexport { TcfVendor };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\n\nvar _dec, _class;\n\nimport { ClientCollection, RouteHttpVerb, AbstractPostCollection } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { TcfVendorConfigurationModel } from \".\";\nvar TcfVendorConfigurationCollection = (_dec = ClientCollection.annotate({\n path: \"/rcb-tcf-vendor-conf\",\n singlePath: \"/rcb-tcf-vendor-conf/:id\",\n namespace: \"wp/v2\",\n methods: [RouteHttpVerb.GET],\n request: request\n}), _dec(_class = /*#__PURE__*/function (_AbstractPostCollecti) {\n _inherits(TcfVendorConfigurationCollection, _AbstractPostCollecti);\n\n var _super = _createSuper(TcfVendorConfigurationCollection);\n\n function TcfVendorConfigurationCollection(store) {\n var _this;\n\n _classCallCheck(this, TcfVendorConfigurationCollection);\n\n _this = _super.call(this);\n _this.store = void 0;\n _this.store = store;\n return _this;\n }\n\n _createClass(TcfVendorConfigurationCollection, [{\n key: \"instance\",\n value: function instance(response) {\n return new TcfVendorConfigurationModel(this).fromResponse(response);\n }\n }]);\n\n return TcfVendorConfigurationCollection;\n}(AbstractPostCollection)) || _class);\nexport { TcfVendorConfigurationCollection };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _get from \"@babel/runtime/helpers/get\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _dec, _class, _class2, _descriptor;\n\nimport { ClientModel, AbstractPost } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { action, computed, observable, reaction, runInAction } from \"mobx\";\nimport { TcfVendor } from \"./tcfVendor\";\nimport $ from \"jquery\";\nvar TcfVendorConfigurationModel = (_dec = ClientModel.annotate({\n keyId: \"id\",\n namespace: \"wp/v2\",\n request: request,\n create: {\n path: \"/rcb-tcf-vendor-conf\"\n },\n patch: {\n path: \"/rcb-tcf-vendor-conf/:id\"\n },\n delete: {\n path: \"/rcb-tcf-vendor-conf/:id\"\n }\n}), _dec(_class = (_class2 = /*#__PURE__*/function (_AbstractPost) {\n _inherits(TcfVendorConfigurationModel, _AbstractPost);\n\n var _super = _createSuper(TcfVendorConfigurationModel);\n\n function TcfVendorConfigurationModel(collection) {\n var _this;\n\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, TcfVendorConfigurationModel);\n\n _this = _super.call(this, collection, data);\n\n _initializerDefineProperty(_this, \"vendorModel\", _descriptor, _assertThisInitialized(_this));\n\n reaction(function () {\n return _this.data.vendor;\n }, function (vendor) {\n return runInAction(function () {\n if (vendor) {\n var vendors = _this.collection.store.vendors;\n var vendorId = vendor.id.toString();\n var existing = vendors.get(vendorId);\n\n if (!existing) {\n existing = new TcfVendor(vendor, _this.collection.store);\n vendors.set(vendorId, existing);\n }\n\n _this.vendorModel = existing;\n }\n });\n }, {\n fireImmediately: true\n }); // Automatically set the vendor model (e.g. newly saved configuration)\n\n reaction(function () {\n var _this$data$meta;\n\n return (_this$data$meta = _this.data.meta) === null || _this$data$meta === void 0 ? void 0 : _this$data$meta.vendorId;\n }, function (vendorId) {\n if (vendorId) {\n _this.vendorModel = _this.collection.store.vendors.get(vendorId.toString());\n }\n }, {\n fireImmediately: true\n });\n return _this;\n }\n\n _createClass(TcfVendorConfigurationModel, [{\n key: \"restrictivePurposes\",\n get: function get() {\n var _this$vendorModel, _this$vendorModel2;\n\n // Fallback to original if we have changed to `global`\n var disableRestrictivePurposes = this.collection.store.rootStore.optionStore.tcfScopeOfConsent === \"global\";\n var originalRestrictivePurposes = ((_this$vendorModel = this.vendorModel) === null || _this$vendorModel === void 0 ? void 0 : _this$vendorModel.restrictivePurposes) || {\n normal: {}\n };\n\n if (disableRestrictivePurposes) {\n return originalRestrictivePurposes;\n }\n\n var result = JSON.parse(this.data.meta.restrictivePurposes); // Merge with original vendor purposes so all are listed\n\n return $.extend(true, {}, ((_this$vendorModel2 = this.vendorModel) === null || _this$vendorModel2 === void 0 ? void 0 : _this$vendorModel2.restrictivePurposes) || {}, result);\n }\n }, {\n key: \"stats\",\n get: function get() {\n var _this$vendorModel3;\n\n var normal = this.restrictivePurposes.normal;\n\n var arr = _toConsumableArray(Object.values(normal));\n\n return {\n activePurposes: arr.filter(function (_ref) {\n var enabled = _ref.enabled;\n return enabled;\n }).length,\n legIntPurposes: arr.filter(function (_ref2) {\n var enabled = _ref2.enabled,\n legInt = _ref2.legInt;\n return enabled && legInt === \"yes\";\n }).length,\n activeFeatures: ((_this$vendorModel3 = this.vendorModel) === null || _this$vendorModel3 === void 0 ? void 0 : _this$vendorModel3.allFeatures.length) || 0\n };\n }\n }, {\n key: \"setStatus\",\n value: function setStatus(status) {\n this.data.status = status;\n }\n }, {\n key: \"setMeta\",\n value: function setMeta(meta) {\n this.data.meta = meta;\n }\n }, {\n key: \"transformDataForPatch\",\n value: function transformDataForPatch() {\n var data = _get(_getPrototypeOf(TcfVendorConfigurationModel.prototype), \"transformDataForPatch\", this).call(this);\n\n return {\n status: data.status,\n meta: data.meta\n };\n }\n }, {\n key: \"afterPatch\",\n value: function afterPatch() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n }, {\n key: \"afterDelete\",\n value: function afterDelete() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n }, {\n key: \"afterPersist\",\n value: function afterPersist() {\n this.collection.store.rootStore.optionStore.fetchCurrentRevision();\n }\n }]);\n\n return TcfVendorConfigurationModel;\n}(AbstractPost), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, \"vendorModel\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class2.prototype, \"restrictivePurposes\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"restrictivePurposes\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"stats\", [computed], Object.getOwnPropertyDescriptor(_class2.prototype, \"stats\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setStatus\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setStatus\"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, \"setMeta\", [action], Object.getOwnPropertyDescriptor(_class2.prototype, \"setMeta\"), _class2.prototype)), _class2)) || _class);\nexport { TcfVendorConfigurationModel };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2;\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { observable, flow, computed } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nimport { locationRestChecklistGet, locationRestChecklistPut } from \"../wp-api\";\nimport { request } from \"../utils\";\nvar ChecklistStore = (_class = /*#__PURE__*/function (_BaseOptions) {\n _inherits(ChecklistStore, _BaseOptions);\n\n var _super = _createSuper(ChecklistStore);\n\n function ChecklistStore(rootStore) {\n var _this;\n\n _classCallCheck(this, ChecklistStore);\n\n _this = _super.call(this);\n\n _initializerDefineProperty(_this, \"busyChecklist\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_this, \"checklist\", _descriptor2, _assertThisInitialized(_this));\n\n _this.rootStore = void 0;\n _this.probablyFetchByChangedItem = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(itemId, force) {\n var useItemIds;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!force) {\n _context.next = 4;\n break;\n }\n\n _context.next = 3;\n return this.fetchChecklist();\n\n case 3:\n return _context.abrupt(\"return\");\n\n case 4:\n useItemIds = !Array.isArray(itemId) ? [itemId] : itemId;\n\n if (!(this.items.filter(function (_ref) {\n var id = _ref.id,\n checked = _ref.checked;\n return useItemIds.indexOf(id) > -1 && !checked;\n }).length > 0)) {\n _context.next = 8;\n break;\n }\n\n _context.next = 8;\n return this.fetchChecklist();\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n _this.fetchChecklist = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n this.busyChecklist = true;\n _context2.prev = 1;\n _context2.next = 4;\n return request({\n location: locationRestChecklistGet,\n params: {\n _wp_http_referer: window.location.href\n }\n });\n\n case 4:\n this.checklist = _context2.sent;\n _context2.next = 11;\n break;\n\n case 7:\n _context2.prev = 7;\n _context2.t0 = _context2[\"catch\"](1);\n console.log(_context2.t0);\n throw _context2.t0;\n\n case 11:\n _context2.prev = 11;\n this.busyChecklist = false;\n return _context2.finish(11);\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[1, 7, 11, 14]]);\n }));\n _this.toggleChecklistItem = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(id, state) {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n this.busyChecklist = true;\n _context3.prev = 1;\n _context3.next = 4;\n return request({\n location: locationRestChecklistPut,\n request: {\n state: state\n },\n params: {\n id: id,\n _wp_http_referer: window.location.href\n }\n });\n\n case 4:\n this.checklist = _context3.sent;\n _context3.next = 11;\n break;\n\n case 7:\n _context3.prev = 7;\n _context3.t0 = _context3[\"catch\"](1);\n console.log(_context3.t0);\n throw _context3.t0;\n\n case 11:\n _context3.prev = 11;\n this.busyChecklist = false;\n return _context3.finish(11);\n\n case 14:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[1, 7, 11, 14]]);\n }));\n _this.rootStore = rootStore;\n return _this;\n }\n\n _createClass(ChecklistStore, [{\n key: \"items\",\n get: function get() {\n var _this2 = this;\n\n return this.checklist && Object.keys(this.checklist.items).map(function (id) {\n return _objectSpread({\n id: id\n }, _this2.checklist.items[id]);\n }) || [];\n }\n }, {\n key: \"completed\",\n get: function get() {\n return this.items.filter(function (_ref2) {\n var checked = _ref2.checked;\n return checked;\n });\n }\n }, {\n key: \"checkable\",\n get: function get() {\n var isPro = this.rootStore.optionStore.others.isPro;\n return this.items.filter(function (_ref3) {\n var needsPro = _ref3.needsPro;\n return !needsPro || isPro && needsPro;\n });\n }\n }, {\n key: \"done\",\n get: function get() {\n var _this$checklist;\n\n return this.completed.length >= this.checkable.length || !!((_this$checklist = this.checklist) !== null && _this$checklist !== void 0 && _this$checklist.dismissed);\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n }]);\n\n return ChecklistStore;\n}(BaseOptions), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busyChecklist\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"checklist\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: null\n}), _applyDecoratedDescriptor(_class.prototype, \"items\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"items\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"completed\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"completed\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"checkable\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"checkable\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"done\", [computed], Object.getOwnPropertyDescriptor(_class.prototype, \"done\"), _class.prototype)), _class);\nexport { ChecklistStore };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9;\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { observable, flow, action, runInAction } from \"mobx\";\nimport { BaseOptions } from \"@devowl-wp/utils\";\nimport { request } from \"../utils\";\nimport { locationRestRevisionGet, locationRestRevisionIndependentGet, locationRestConsentAllGet, locationRestConsentAllDelete, locationRestConsentRefererGet } from \"../wp-api\";\nimport { Consent, Revision, RevisionIndependent } from \"../models\";\nvar DATE_FORMAT = \"YYYY-MM-DD\";\nvar ConsentStore = (_class = /*#__PURE__*/function (_BaseOptions) {\n _inherits(ConsentStore, _BaseOptions);\n\n var _super = _createSuper(ConsentStore);\n\n /**\n * Current visible page in Consent tab\n */\n function ConsentStore(rootStore) {\n var _this;\n\n _classCallCheck(this, ConsentStore);\n\n _this = _super.call(this);\n\n _initializerDefineProperty(_this, \"busyConsent\", _descriptor, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_this, \"busyReferer\", _descriptor2, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_this, \"count\", _descriptor3, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_this, \"perPage\", _descriptor4, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_this, \"offset\", _descriptor5, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_this, \"pageCollection\", _descriptor6, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_this, \"revisions\", _descriptor7, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_this, \"revisionsIndependent\", _descriptor8, _assertThisInitialized(_this));\n\n _initializerDefineProperty(_this, \"referer\", _descriptor9, _assertThisInitialized(_this));\n\n _this.filters = observable.object({\n page: 1,\n dates: [undefined, undefined],\n context: undefined,\n referer: undefined,\n ip: undefined,\n uuid: undefined\n }, {}, {\n deep: false\n });\n _this.rootStore = void 0;\n _this.fetchAll = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _this$filters, page, referer, ip, uuid, context, dates, _yield$request, count, items, _iterator, _step, item;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.busyConsent = true;\n _context.prev = 1;\n _this$filters = this.filters, page = _this$filters.page, referer = _this$filters.referer, ip = _this$filters.ip, uuid = _this$filters.uuid, context = _this$filters.context;\n dates = this.filters.dates.map(function (m) {\n return m ? m.format(DATE_FORMAT) : \"\";\n });\n _context.next = 6;\n return request({\n location: locationRestConsentAllGet,\n params: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n per_page: this.perPage,\n offset: (page - 1) * this.perPage,\n from: dates[0],\n to: dates[1],\n ip: ip,\n uuid: uuid,\n referer: referer,\n context: context\n }\n });\n\n case 6:\n _yield$request = _context.sent;\n count = _yield$request.count;\n items = _yield$request.items;\n this.count = count;\n this.pageCollection.clear();\n _iterator = _createForOfIteratorHelper(items);\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n item = _step.value;\n this.pageCollection.set(item.id, new Consent(item, this));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n _context.next = 19;\n break;\n\n case 15:\n _context.prev = 15;\n _context.t0 = _context[\"catch\"](1);\n console.log(_context.t0);\n throw _context.t0;\n\n case 19:\n _context.prev = 19;\n this.busyConsent = false;\n return _context.finish(19);\n\n case 22:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[1, 15, 19, 22]]);\n }));\n _this.fetchRevision = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(params) {\n var response;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n _context2.next = 3;\n return request({\n location: locationRestRevisionGet,\n params: params\n });\n\n case 3:\n response = _context2.sent;\n this.revisions.set(params.hash, new Revision(response, this));\n _context2.next = 11;\n break;\n\n case 7:\n _context2.prev = 7;\n _context2.t0 = _context2[\"catch\"](0);\n console.log(_context2.t0);\n throw _context2.t0;\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[0, 7]]);\n }));\n _this.fetchRevisionIndependent = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(params) {\n var response;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n _context3.next = 3;\n return request({\n location: locationRestRevisionIndependentGet,\n params: params\n });\n\n case 3:\n response = _context3.sent;\n this.revisionsIndependent.set(params.hash, new RevisionIndependent(response, this));\n _context3.next = 11;\n break;\n\n case 7:\n _context3.prev = 7;\n _context3.t0 = _context3[\"catch\"](0);\n console.log(_context3.t0);\n throw _context3.t0;\n\n case 11:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[0, 7]]);\n }));\n _this.fetchReferer = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(params) {\n var response;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n this.busyReferer = true;\n _context4.prev = 1;\n _context4.next = 4;\n return request({\n location: locationRestConsentRefererGet,\n params: params\n });\n\n case 4:\n response = _context4.sent;\n this.referer = response.items;\n _context4.next = 12;\n break;\n\n case 8:\n _context4.prev = 8;\n _context4.t0 = _context4[\"catch\"](1);\n console.log(_context4.t0);\n throw _context4.t0;\n\n case 12:\n _context4.prev = 12;\n this.busyReferer = false;\n return _context4.finish(12);\n\n case 15:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this, [[1, 8, 12, 15]]);\n }));\n _this.deleteAll = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n this.busyConsent = true;\n _context5.prev = 1;\n _context5.next = 4;\n return request({\n location: locationRestConsentAllDelete\n });\n\n case 4:\n this.applyPage(0);\n _context5.next = 7;\n return this.fetchAll();\n\n case 7:\n _context5.next = 13;\n break;\n\n case 9:\n _context5.prev = 9;\n _context5.t0 = _context5[\"catch\"](1);\n console.log(_context5.t0);\n throw _context5.t0;\n\n case 13:\n _context5.prev = 13;\n this.busyConsent = false;\n return _context5.finish(13);\n\n case 16:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this, [[1, 9, 13, 16]]);\n }));\n _this.rootStore = rootStore;\n runInAction(function () {\n _this.filters.context = _this.rootStore.optionStore.others.context;\n });\n return _this;\n }\n /**\n * This action does not actually refetch the list, you need to act on your components!\n */\n\n\n _createClass(ConsentStore, [{\n key: \"applyPage\",\n value: function applyPage(page) {\n this.filters.page = page;\n }\n /**\n * This action does not actually refetch the stats, you need to act on your components!\n *\n * @param dates\n */\n\n }, {\n key: \"applyDates\",\n value: function applyDates(dates) {\n this.filters.dates = dates;\n }\n /**\n * This action does not actually refetch the stats, you need to act on your components!\n *\n * @param context\n */\n\n }, {\n key: \"applyContext\",\n value: function applyContext(context) {\n this.filters.context = context;\n }\n /**\n * This action does not actually refetch the list, you need to act on your components!\n */\n\n }, {\n key: \"applyReferer\",\n value: function applyReferer(referer) {\n this.filters.referer = referer;\n }\n /**\n * This action does not actually refetch the list, you need to act on your components!\n */\n\n }, {\n key: \"applyIp\",\n value: function applyIp(ip) {\n this.filters.ip = ip;\n }\n /**\n * This action does not actually refetch the list, you need to act on your components!\n */\n\n }, {\n key: \"applyUuid\",\n value: function applyUuid(uuid) {\n this.filters.uuid = uuid;\n } // eslint-disable-next-line @typescript-eslint/member-ordering\n\n }]);\n\n return ConsentStore;\n}(BaseOptions), (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"busyConsent\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return false;\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"busyReferer\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return false;\n }\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, \"count\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return 0;\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, \"perPage\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return 50;\n }\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, \"offset\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return 0;\n }\n}), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, \"pageCollection\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return new Map();\n }\n}), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, \"revisions\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return new Map();\n }\n}), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, \"revisionsIndependent\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return new Map();\n }\n}), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, \"referer\", [observable], {\n configurable: true,\n enumerable: true,\n writable: true,\n initializer: function initializer() {\n return [];\n }\n}), _applyDecoratedDescriptor(_class.prototype, \"applyPage\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyPage\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyDates\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyDates\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyContext\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyContext\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyReferer\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyReferer\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyIp\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyIp\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"applyUuid\", [action], Object.getOwnPropertyDescriptor(_class.prototype, \"applyUuid\"), _class.prototype)), _class);\nexport { ConsentStore };","import _initializerDefineProperty from \"@babel/runtime/helpers/initializerDefineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _applyDecoratedDescriptor from \"@babel/runtime/helpers/applyDecoratedDescriptor\";\nimport _initializerWarningHelper from \"@babel/runtime/helpers/initializerWarningHelper\";\n\nvar _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9;\n\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { observable, flow, computed, runInAction } from \"mobx\";\nimport { CookieGroupCollection, BlockerCollection, CookiePreset, BlockerPreset } from \"../models\";\nimport { locationRestPresetsBlockerGet, locationRestPresetsCookiesGet, locationRestCookieUnassignedGet } from \"../wp-api\";\nimport { request } from \"../utils\";\nvar CookieStore = (_class = /*#__PURE__*/function () {\n function CookieStore(rootStore) {\n var _this = this;\n\n _classCallCheck(this, CookieStore);\n\n _initializerDefineProperty(this, \"busy\", _descriptor, this);\n\n _initializerDefineProperty(this, \"groups\", _descriptor2, this);\n\n _initializerDefineProperty(this, \"unassignedCookies\", _descriptor3, this);\n\n _initializerDefineProperty(this, \"blockers\", _descriptor4, this);\n\n _initializerDefineProperty(this, \"presetsBlocker\", _descriptor5, this);\n\n _initializerDefineProperty(this, \"busyPresetsBlocker\", _descriptor6, this);\n\n _initializerDefineProperty(this, \"presetsCookie\", _descriptor7, this);\n\n _initializerDefineProperty(this, \"busyPresetsCookie\", _descriptor8, this);\n\n _initializerDefineProperty(this, \"fetchedAllBlockers\", _descriptor9, this);\n\n this.rootStore = void 0;\n this.fetchGroups = flow( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _cal