Changeset 3097668
- Timestamp:
- 06/05/2024 04:43:19 AM (22 months ago)
- Location:
- find-my-blocks
- Files:
-
- 25 added
- 6 edited
-
tags/4.0.2 (added)
-
tags/4.0.2/assets (added)
-
tags/4.0.2/assets/css (added)
-
tags/4.0.2/assets/css/find-my-blocks.css (added)
-
tags/4.0.2/assets/images (added)
-
tags/4.0.2/assets/images/find-my-blocks-logo-full.svg (added)
-
tags/4.0.2/assets/index.php (added)
-
tags/4.0.2/assets/js (added)
-
tags/4.0.2/assets/js/find-my-blocks.asset.php (added)
-
tags/4.0.2/assets/js/find-my-blocks.js (added)
-
tags/4.0.2/assets/js/find-my-blocks.js.map (added)
-
tags/4.0.2/assets/js/main.css (added)
-
tags/4.0.2/assets/js/main.css.map (added)
-
tags/4.0.2/find-my-blocks.php (added)
-
tags/4.0.2/inc (added)
-
tags/4.0.2/inc/enqueue.php (added)
-
tags/4.0.2/inc/functions.php (added)
-
tags/4.0.2/inc/index.php (added)
-
tags/4.0.2/inc/register-route.php (added)
-
tags/4.0.2/inc/settings-page.php (added)
-
tags/4.0.2/index.php (added)
-
tags/4.0.2/languages (added)
-
tags/4.0.2/languages/find-my-blocks.pot (added)
-
tags/4.0.2/languages/index.php (added)
-
tags/4.0.2/readme.txt (added)
-
trunk/assets/css/find-my-blocks.css (modified) (1 diff)
-
trunk/assets/js/find-my-blocks.asset.php (modified) (1 diff)
-
trunk/assets/js/find-my-blocks.js (modified) (1 diff)
-
trunk/assets/js/find-my-blocks.js.map (modified) (1 diff)
-
trunk/find-my-blocks.php (modified) (2 diffs)
-
trunk/inc/register-route.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
find-my-blocks/trunk/assets/css/find-my-blocks.css
r3078392 r3097668 132 132 } 133 133 } 134 .fmb-card-virtualized { 135 margin-bottom: 10px; 136 } -
find-my-blocks/trunk/assets/js/find-my-blocks.asset.php
r3078539 r3097668 1 <?php return array('dependencies' => array('react', ' wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => 'e7b50b672b42da168d56');1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => '4506efddc666b2c1f0b7'); -
find-my-blocks/trunk/assets/js/find-my-blocks.js
r3078539 r3097668 1 (()=>{"use strict";var M={46:(M,e,N)=>{N.d(e,{A:()=>t}),N(609);const t="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzk0IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDM5NCAxMDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMDQuNTA3IDYyQzEwNC4wMjkgNjIgMTAzLjY1NyA2MS44NzAyIDEwMy4zOTQgNjEuNjEwNkMxMDMuMTMxIDYxLjM1MSAxMDMgNjAuOTg1MyAxMDMgNjAuNTEzM1YzOS40ODczQzEwMyAzOS4wMTU0IDEwMy4xMzEgMzguNjQ5NiAxMDMuMzk0IDM4LjM5QzEwMy42NTcgMzguMTMwNCAxMDQuMDI3IDM4LjAwMDYgMTA0LjUwNSAzOC4wMDA2SDExNy42OTVDMTE4LjE3MiAzOC4wMDA2IDExOC41NDMgMzguMTMwNCAxMTguODA2IDM4LjM5QzExOS4wNjggMzguNjQ5NiAxMTkuMiAzOS4wMTU0IDExOS4yIDM5LjQ4NzNDMTE5LjIgMzkuOTU5MyAxMTkuMDY4IDQwLjMyNTEgMTE4LjgwNiA0MC41ODQ2QzExOC41NDMgNDAuODQ0MiAxMTguMTcyIDQwLjk3NCAxMTcuNjk1IDQwLjk3NEgxMDYuMDExVjQ4LjQwNzRIMTEzLjIxNUMxMTMuNjkyIDQ4LjQwNzQgMTE0LjA2MyA0OC41MzcyIDExNC4zMjYgNDguNzk2OEMxMTQuNTg4IDQ5LjA1NjQgMTE0LjcyIDQ5LjQyMjIgMTE0LjcyIDQ5Ljg5NDFDMTE0LjcyIDUwLjM2NjEgMTE0LjU4OCA1MC43MzE5IDExNC4zMjYgNTAuOTkxNEMxMTQuMDYzIDUxLjI1MSAxMTMuNjkyIDUxLjM4MDggMTEzLjIxNSA1MS4zODA4SDEwNi4wMTFWNjAuNTEzM0MxMDYuMDExIDYwLjk4NTMgMTA1Ljg3OSA2MS4zNTEgMTA1LjYxNiA2MS42MTA2QzEwNS4zNTQgNjEuODcwMiAxMDQuOTgzIDYyIDEwNC41MDUgNjJIMTA0LjUwN1pNMTI0LjQyMSA2MkMxMjMuODk1IDYyIDEyMy41MTMgNjEuODgyIDEyMy4yNzQgNjEuNjQ2QzEyMy4wMzUgNjEuNDEgMTIyLjkxNSA2MS4wMzI1IDEyMi45MTUgNjAuNTEzM1YzOS41MjI3QzEyMi45MTUgMzkuMDAzNiAxMjMuMDM1IDM4LjYyNiAxMjMuMjc0IDM4LjM5QzEyMy41MTMgMzguMTU0IDEyMy44OTUgMzguMDM2IDEyNC40MjEgMzguMDM2QzEyNC45NDYgMzguMDM2IDEyNS4zMjkgMzguMTU0IDEyNS41NjcgMzguMzlDMTI1LjgwNiAzOC42MjYgMTI1LjkyNiAzOS4wMDM2IDEyNS45MjYgMzkuNTIyN1Y2MC41MTMzQzEyNS45MjYgNjEuMDMyNSAxMjUuODA2IDYxLjQxIDEyNS41NjcgNjEuNjQ2QzEyNS4zMjkgNjEuODgyIDEyNC45NDYgNjIgMTI0LjQyMSA2MlpNMTUxLjU1MiAzOC4wMDA2QzE1Mi4wMyAzOC4wMDA2IDE1Mi40IDM4LjEzMDQgMTUyLjY2MyAzOC4zOUMxNTIuOTI2IDM4LjY0OTYgMTUzLjA1NyAzOS4wMTU0IDE1My4wNTcgMzkuNDg3M1Y2MC41MTMzQzE1My4wNTcgNjAuOTg1MyAxNTIuOTI2IDYxLjM1MSAxNTIuNjYzIDYxLjYxMDZDMTUyLjQgNjEuODcwMiAxNTIuMDMgNjIgMTUxLjU1MiA2MkMxNTEuMjY1IDYyIDE1MS4wMDIgNjEuOTI5MiAxNTAuNzYzIDYxLjc4NzZDMTUwLjQ4NCA2MS42MDkxIDE1MC4yNDEgNjEuMzgxMSAxNTAuMDQ2IDYxLjExNTFMMTM2LjM5MSA0My43MzVWNjAuNTEzM0MxMzYuMzkxIDYwLjk4NTMgMTM2LjI2IDYxLjM1MSAxMzUuOTk3IDYxLjYxMDZDMTM1LjczNCA2MS44NzAyIDEzNS4zNjQgNjIgMTM0Ljg4NiA2MkMxMzQuNDA4IDYyIDEzNC4wMzggNjEuODcwMiAxMzMuNzc1IDYxLjYxMDZDMTMzLjUxMiA2MS4zNTEgMTMzLjM4MSA2MC45ODUzIDEzMy4zODEgNjAuNTEzM1YzOS40ODczQzEzMy4zODEgMzkuMDE1NCAxMzMuNTEyIDM4LjY0OTYgMTMzLjc3NSAzOC4zOUMxMzQuMDM4IDM4LjEzMDQgMTM0LjQwOCAzOC4wMDA2IDEzNC44ODYgMzguMDAwNkMxMzUuMTczIDM4LjAwMDYgMTM1LjQyNCAzOC4wNzE0IDEzNS42MzkgMzguMjEzQzEzNS44NzggMzguMzU0NiAxMzYuMTI4IDM4LjU3ODggMTM2LjM5MSAzOC44ODU2TDE1MC4wNDYgNTYuMjY1NlYzOS40ODczQzE1MC4wNDYgMzkuMDE1NCAxNTAuMTc4IDM4LjY0OTYgMTUwLjQ0MSAzOC4zOUMxNTAuNzA0IDM4LjEzMDQgMTUxLjA3NCAzOC4wMDA2IDE1MS41NTIgMzguMDAwNlpNMTYyLjAxMSA2MkMxNjEuNTMzIDYyIDE2MS4xNjMgNjEuODcwMiAxNjAuOSA2MS42MTA2QzE2MC42MzcgNjEuMzUxIDE2MC41MDYgNjAuOTg1MyAxNjAuNTA2IDYwLjUxMzNWMzkuNDg3M0MxNjAuNTA2IDM5LjAxNTQgMTYwLjYzNyAzOC42NDk2IDE2MC45IDM4LjM5QzE2MS4xNjMgMzguMTMwNCAxNjEuNTMzIDM4LjAwMDYgMTYyLjAxMSAzOC4wMDA2SDE3MC42NDlDMTczLjc3OSAzOC4wMDA2IDE3Ni4wNzMgMzguNzMyMiAxNzcuNTMgNDAuMTk1M0MxNzkuMDExIDQxLjYzNDggMTc5Ljc1MiA0My45MDAyIDE3OS43NTIgNDYuOTkxNVY1My4wMDkxQzE3OS43NTIgNTYuMTAwNCAxNzkuMDExIDU4LjM3NzcgMTc3LjUzIDU5Ljg0MDhDMTc2LjA3MyA2MS4yODAyIDE3My43NzkgNjIgMTcwLjY0OSA2MkgxNjIuMDExWk0xNzAuNjQ5IDU5LjAyNjZDMTcyLjIwMiA1OS4wMjY2IDE3My40MDggNTguODM3OCAxNzQuMjY5IDU4LjQ2MDNDMTc1LjEyIDU4LjExNDEgMTc1LjgwMiA1Ny40NTM5IDE3Ni4xNjggNTYuNjE5NkMxNzYuNTUgNTUuNzQ2NSAxNzYuNzQyIDU0LjU0MyAxNzYuNzQyIDUzLjAwOTFWNDYuOTkxNUMxNzYuNzQyIDQ1LjQ1NzcgMTc2LjU1IDQ0LjI2NiAxNzYuMTY4IDQzLjQxNjRDMTc1LjgxMSA0Mi41Njc5IDE3NS4xMjggNDEuODkzNSAxNzQuMjY5IDQxLjU0MDRDMTczLjQwOCA0MS4xNjI4IDE3Mi4yMDIgNDAuOTc0IDE3MC42NDkgNDAuOTc0SDE2My41MTZWNTkuMDI2NkgxNzAuNjQ5Wk0yMTguOTMyIDM4LjAwMDZDMjE5Ljc0NCAzOC4wMDA2IDIyMC4xNSAzOC40OTYyIDIyMC4xNSAzOS40ODczVjYwLjUxMzNDMjIwLjE1IDYwLjk4NTMgMjIwLjAxOSA2MS4zNTEgMjE5Ljc1NiA2MS42MTA2QzIxOS40OTMgNjEuODcwMiAyMTkuMTIzIDYyIDIxOC42NDUgNjJDMjE4LjE2NyA2MiAyMTcuNzk3IDYxLjg3MDIgMjE3LjUzNCA2MS42MTA2QzIxNy4yNzEgNjEuMzUxIDIxNy4xNCA2MC45ODUzIDIxNy4xNCA2MC41MTMzVjQ0LjEyNDRMMjEwLjU0NSA1My43MTdDMjEwLjMwNiA1NC4wNDc0IDIxMC4wNDMgNTQuMjk1MiAyMDkuNzU3IDU0LjQ2MDRDMjA5LjQzMiA1NC42MTAxIDIwOS4wNzYgNTQuNjgyOCAyMDguNzE3IDU0LjY3MjhDMjA4LjQzIDU0LjY3MjggMjA4LjE2OCA1NC42MDIgMjA3LjkyOSA1NC40NjA0QzIwNy42NjcgNTQuMjQ1NSAyMDcuNDM4IDUzLjk5NTIgMjA3LjI0OCA1My43MTdMMjAwLjYxNyA0NC4wODlWNjAuNTEzM0MyMDAuNjE3IDYwLjk4NTMgMjAwLjQ4NiA2MS4zNTEgMjAwLjIyMyA2MS42MTA2QzE5OS45NiA2MS44NzAyIDE5OS41OSA2MiAxOTkuMTEyIDYyQzE5OC42MzQgNjIgMTk4LjI2NCA2MS44NzAyIDE5OC4wMDEgNjEuNjEwNkMxOTcuNzM4IDYxLjM1MSAxOTcuNjA3IDYwLjk4NTMgMTk3LjYwNyA2MC41MTMzVjM5LjQ4NzNDMTk3LjYwNyAzOS4wMTU0IDE5Ny43MzggMzguNjQ5NiAxOTguMDAxIDM4LjM5QzE5OC4yNjQgMzguMTMwNCAxOTguNjM0IDM4LjAwMDYgMTk5LjExMiAzOC4wMDA2QzE5OS43ODEgMzguMDAwNiAyMDAuMzMxIDM4LjMxOTIgMjAwLjc2MSAzOC45NTY0TDIwOC45MzIgNTEuMDk3NkwyMTcuMTA0IDM4Ljk1NjRDMjE3LjUxIDM4LjMxOTIgMjE4LjExOSAzOC4wMDA2IDIxOC45MzIgMzguMDAwNlpNMjQ0LjMwNCAzOC4zNTQ2QzI0NC44MjkgMzguNjg1IDI0NS4wOTIgMzkuMDc0NCAyNDUuMDkyIDM5LjUyMjdDMjQ1LjA5MiAzOS44MDU5IDI0NC45ODUgNDAuMDg5MSAyNDQuNzcgNDAuMzcyM0wyMzYuMjQgNTMuMjkyM1Y2MC41MTMzQzIzNi4yNCA2MC45ODUzIDIzNi4xMDggNjEuMzUxIDIzNS44NDUgNjEuNjEwNkMyMzUuNTgzIDYxLjg3MDIgMjM1LjIxMiA2MiAyMzQuNzM0IDYyQzIzNC4yNTYgNjIgMjMzLjg4NiA2MS44NzAyIDIzMy42MjMgNjEuNjEwNkMyMzMuMzYgNjEuMzUxIDIzMy4yMjkgNjAuOTg1MyAyMzMuMjI5IDYwLjUxMzNWNTMuMjkyM0wyMjUuMDIyIDQwLjM3MjNDMjI0LjgzIDQwLjA0MTkgMjI0LjczNSAzOS43NDY5IDIyNC43MzUgMzkuNDg3M0MyMjQuNzM1IDM4Ljk5MTggMjI0Ljk4NiAzOC41OTA2IDIyNS40ODggMzguMjgzOEMyMjUuODIyIDM4LjA5NSAyMjYuMTIxIDM4LjAwMDYgMjI2LjM4NCAzOC4wMDA2QzIyNi44MzcgMzguMDAwNiAyMjcuMjMyIDM4LjI0ODQgMjI3LjU2NiAzOC43NDRMMjM0LjczNCA1MC4xMDY1TDI0Mi4yNjEgMzguNzQ0QzI0Mi41NDggMzguMjcyIDI0Mi45MyAzOC4wMzYgMjQzLjQwOCAzOC4wMzZDMjQzLjY5NCAzOC4wMzYgMjQzLjk5MyAzOC4xNDIyIDI0NC4zMDQgMzguMzU0NlpNMjc2LjE5IDQ4LjM3MkMyNzguMDc3IDQ5LjQ1NzYgMjc5LjAyMSA1MS4zODA4IDI3OS4wMjEgNTQuMTQxOFY1NS4zNDUzQzI3OS4wMjEgNTcuNTE2NCAyNzguNDM2IDU5LjE2ODIgMjc3LjI2NSA2MC4zMDA5QzI3Ni4xMTggNjEuNDMzNyAyNzQuNDQ1IDYyIDI3Mi4yNDcgNjJIMjYyLjQyN0MyNjEuOTQ5IDYyIDI2MS41NzkgNjEuODcwMiAyNjEuMzE2IDYxLjYxMDZDMjYxLjA1MyA2MS4zNTEgMjYwLjkyMiA2MC45ODUzIDI2MC45MjIgNjAuNTEzM1YzOS40ODczQzI2MC45MjIgMzkuMDE1NCAyNjEuMDUzIDM4LjY0OTYgMjYxLjMxNiAzOC4zOUMyNjEuNTc5IDM4LjEzMDQgMjYxLjk0OSAzOC4wMDA2IDI2Mi40MjcgMzguMDAwNkgyNzEuNzgxQzI3My42NjkgMzguMDAwNiAyNzUuMTI2IDM4LjQ5NjIgMjc2LjE1NCAzOS40ODczQzI3Ny4xODEgNDAuNDc4NCAyNzcuNjk1IDQxLjg5NDMgMjc3LjY5NSA0My43MzVWNDQuNjkwN0MyNzcuNjk1IDQ1LjQ0NTkgMjc3LjU2NCA0Ni4xNDIgMjc3LjMwMSA0Ni43NzkyQzI3Ny4wNTggNDcuMzg3IDI3Ni42NzggNDcuOTMxOSAyNzYuMTkgNDguMzcyWk0yNjMuOTMyIDQ3LjUyMjVIMjcyLjg5MkMyNzMuNTE0IDQ3LjQ1MTcgMjczLjk2OCA0Ny4xNjg1IDI3NC4yNTQgNDYuNjczQzI3NC41NDEgNDYuMTUzOCAyNzQuNjg0IDQ1LjQ5MzEgMjc0LjY4NCA0NC42OTA3VjQzLjczNUMyNzQuNjg0IDQyLjcyMDMgMjc0LjQ2OSA0Mi4wMTIzIDI3NC4wMzkgNDEuNjExMkMyNzMuNjA5IDQxLjE4NjQgMjcyLjg1NyA0MC45NzQgMjcxLjc4MSA0MC45NzRIMjYzLjkzMlY0Ny41MjI1Wk0yNzYuMDEgNTQuMTQxOEMyNzYuMDEgNTIuODIwMyAyNzUuNzI0IDUxLjg4ODIgMjc1LjE1IDUxLjM0NTRDMjc0LjU3NyA1MC43NzkxIDI3My42MDkgNTAuNDk1OSAyNzIuMjQ3IDUwLjQ5NTlIMjYzLjkzMlY1OS4wMjY2SDI3Mi4yNDdDMjczLjU4NSA1OS4wMjY2IDI3NC41NDEgNTguNzQzNSAyNzUuMTE0IDU4LjE3NzFDMjc1LjcxMiA1Ny42MTA3IDI3Ni4wMSA1Ni42NjY4IDI3Ni4wMSA1NS4zNDUzVjU0LjE0MThaTTI4Ni41NDMgNjJDMjg1LjU0IDYyIDI4NS4wMzggNjEuNTA0NCAyODUuMDM4IDYwLjUxMzNWMzkuNDg3M0MyODUuMDM4IDM4LjQ5NjIgMjg1LjU0IDM4LjAwMDYgMjg2LjU0MyAzOC4wMDA2QzI4Ny41NDcgMzguMDAwNiAyODguMDQ4IDM4LjQ5NjIgMjg4LjA0OCAzOS40ODczVjU5LjAyNjZIMjk3Ljk3NkMyOTguOTggNTkuMDI2NiAyOTkuNDgxIDU5LjUyMjIgMjk5LjQ4MSA2MC41MTMzQzI5OS40ODEgNjEuNTA0NCAyOTguOTggNjIgMjk3Ljk3NiA2MkgyODYuNTQzWk0zMTAuODk3IDYyQzMwOC4xNDkgNjIgMzA2LjExOCA2MS4zNjI4IDMwNC44MDQgNjAuMDg4NUMzMDMuNTEzIDU4Ljc5MDYgMzAyLjg2NyA1Ni43ODQ4IDMwMi44NjcgNTQuMDcxVjQ1Ljg5NDJDMzAyLjg2NyA0My4xODA0IDMwMy41MjUgNDEuMTg2NCAzMDQuODQgMzkuOTEyMUMzMDYuMTU0IDM4LjYxNDIgMzA4LjE3MyAzNy45NzcgMzEwLjg5NyAzOC4wMDA2SDMxNS4xOTZDMzE3Ljk0NCAzOC4wMDA2IDMxOS45NjMgMzguNjQ5NiAzMjEuMjUzIDM5Ljk0NzVDMzIyLjU2OSA0MS4yMjE4IDMyMy4yMjYgNDMuMjE1OCAzMjMuMjI2IDQ1LjkyOTZWNTQuMDcxQzMyMy4yMjYgNTYuNzg0OCAzMjIuNTY5IDU4Ljc5MDYgMzIxLjI1MyA2MC4wODg1QzMxOS45NjMgNjEuMzYyOCAzMTcuOTQ0IDYyIDMxNS4xOTYgNjJIMzEwLjg5N1pNMzE1LjE5NiA1OS4wMjY2QzMxNi41MTIgNTkuMDI2NiAzMTcuNTE0IDU4Ljg3MzIgMzE4LjIwOCA1OC41NjY1QzMxOC44OTcgNTguMjg2MyAzMTkuNDQ5IDU3Ljc1MzQgMzE5Ljc0OCA1Ny4wNzk4QzMyMC4wNiA1Ni4zNzE4IDMyMC4yMTQgNTUuMzY4OSAzMjAuMjE0IDU0LjA3MVY0NS45Mjk2QzMyMC4yMTQgNDQuNjU1MyAzMjAuMDYgNDMuNjY0MiAzMTkuNzQ4IDQyLjk1NjNDMzE5LjQ1OCA0Mi4yNjgyIDMxOC45MDQgNDEuNzIxMiAzMTguMjA4IDQxLjQzNDJDMzE3LjQ5MSA0MS4xMjc0IDMxNi40ODYgNDAuOTc0IDMxNS4xOTYgNDAuOTc0SDMxMC44OTdDMzA5LjYwNiA0MC45NTA0IDMwOC42MDEgNDEuMDkyIDMwNy44ODUgNDEuMzk4OEMzMDcuMTg4IDQxLjY4NTggMzA2LjYzNSA0Mi4yMzI4IDMwNi4zNDUgNDIuOTIwOUMzMDYuMDM0IDQzLjYyODggMzA1Ljg3OSA0NC42MTk5IDMwNS44NzkgNDUuODk0MlY1NC4wNzFDMzA1Ljg3OSA1NS4zNjg5IDMwNi4wMzQgNTYuMzcxOCAzMDYuMzQ1IDU3LjA3OThDMzA2LjY1NCA1Ny43NjQxIDMwNy4xNTYgNTguMjU5NyAzMDcuODQ5IDU4LjU2NjVDMzA4LjU2NSA1OC44NzMyIDMwOS41ODIgNTkuMDI2NiAzMTAuODk3IDU5LjAyNjZIMzE1LjE5NlpNMzM2Ljk3IDYyQzMzNC4yMjMgNjIgMzMyLjE5MiA2MS4zNjI4IDMzMC44NzggNjAuMDg4NUMzMjkuNTg3IDU4Ljc5MDYgMzI4Ljk0MiA1Ni43ODQ4IDMyOC45NDIgNTQuMDcxVjQ1LjkyOTZDMzI4Ljk0MiA0My4yMTU4IDMyOS41ODcgNDEuMjEgMzMwLjg3OCAzOS45MTIxQzMzMi4xOTIgMzguNjE0MiAzMzQuMjExIDM3Ljk3NyAzMzYuOTM1IDM4LjAwMDZIMzQxLjI3MUMzNDMuNTE3IDM4LjAwMDYgMzQ1LjIyNiAzOC40NjA4IDM0Ni4zOTcgMzkuMzgxMUMzNDcuNTkxIDQwLjMwMTUgMzQ4LjI4NCA0MS43NDEgMzQ4LjQ3NSA0My42OTk2QzM0OC41NDcgNDQuMTk1MiAzNDguNDUxIDQ0LjU3MjcgMzQ4LjE4OSA0NC44MzIzQzM0Ny45MjYgNDUuMDkxOSAzNDcuNTQzIDQ1LjIyMTcgMzQ3LjA0MiA0NS4yMjE3QzM0Ni41NjQgNDUuMjIxNyAzNDYuMTkzIDQ1LjEwMzcgMzQ1LjkzMSA0NC44Njc3QzM0NS42OTIgNDQuNjA4MSAzNDUuNTM2IDQ0LjIzMDYgMzQ1LjQ2NSA0My43MzVDMzQ1LjM0NSA0Mi42NzMxIDM0NC45NzUgNDEuOTUzMyAzNDQuMzU0IDQxLjU3NThDMzQzLjczMiA0MS4xNzQ2IDM0Mi43MDUgNDAuOTc0IDM0MS4yNzEgNDAuOTc0SDMzNi45MzVDMzM1LjY0NCA0MC45NTA0IDMzNC42NDEgNDEuMDkyIDMzMy45MjQgNDEuMzk4OEMzMzMuMjA3IDQxLjcwNTUgMzMyLjY5NCA0Mi4yMTI5IDMzMi4zODMgNDIuOTIwOUMzMzIuMDk2IDQzLjYyODggMzMxLjk1MyA0NC42MzE3IDMzMS45NTMgNDUuOTI5NlY1NC4wNzFDMzMxLjk1MyA1NS4zNjg5IDMzMi4xMDggNTYuMzcxOCAzMzIuNDE5IDU3LjA3OThDMzMyLjcyOSA1Ny43NjQxIDMzMy4yMzEgNTguMjU5NyAzMzMuOTI0IDU4LjU2NjVDMzM0LjY0MSA1OC44NzMyIDMzNS42NTYgNTkuMDI2NiAzMzYuOTcgNTkuMDI2NkgzNDEuMjcxQzM0Mi43MDUgNTkuMDI2NiAzNDMuNzMyIDU4LjgzNzggMzQ0LjM1NCA1OC40NjAzQzM0NC45NzUgNTguMDU5MSAzNDUuMzQ1IDU3LjMyNzYgMzQ1LjQ2NSA1Ni4yNjU2QzM0NS41MzYgNTUuNzcwMSAzNDUuNjkyIDU1LjQwNDMgMzQ1LjkzMSA1NS4xNjgzQzM0Ni4xOTMgNTQuOTA4NyAzNDYuNTY0IDU0Ljc3OSAzNDcuMDQyIDU0Ljc3OUMzNDcuNTQzIDU0Ljc3OSAzNDcuOTI2IDU0LjkwODcgMzQ4LjE4OSA1NS4xNjgzQzM0OC40NTEgNTUuNDI3OSAzNDguNTQ3IDU1LjgwNTUgMzQ4LjQ3NSA1Ni4zMDFDMzQ4LjI4NCA1OC4yNTk3IDM0Ny41OTEgNTkuNjk5MiAzNDYuMzk3IDYwLjYxOTVDMzQ1LjIyNiA2MS41Mzk4IDM0My41MTcgNjIgMzQxLjI3MSA2MkgzMzYuOTdaTTM3MC40MiA1OS40MTZDMzcwLjY4MyA1OS43NDY0IDM3MC44MTQgNjAuMDc2NyAzNzAuODE0IDYwLjQwNzFDMzcwLjgxNCA2MC44MzE5IDM3MC42MTEgNjEuMTk3NyAzNzAuMjA1IDYxLjUwNDRDMzY5LjkzNCA2MS43NTc5IDM2OS41NzQgNjEuODk3NSAzNjkuMjAxIDYxLjg5MzhDMzY4Ljc3MSA2MS44OTM4IDM2OC40MDEgNjEuNjkzMiAzNjguMDkgNjEuMjkyMUwzNTkuMzEgNTAuNTY2N0wzNTcuNzY4IDUyLjE1OTZWNjAuNTEzM0MzNTcuNzY4IDYwLjk4NTMgMzU3LjYzNyA2MS4zNTEgMzU3LjM3NCA2MS42MTA2QzM1Ny4xMTEgNjEuODcwMiAzNTYuNzQxIDYyIDM1Ni4yNjMgNjJDMzU1Ljc4NSA2MiAzNTUuNDE1IDYxLjg3MDIgMzU1LjE1MiA2MS42MTA2QzM1NC44ODkgNjEuMzUxIDM1NC43NTggNjAuOTg1MyAzNTQuNzU4IDYwLjUxMzNWMzkuNDg3M0MzNTQuNzU4IDM5LjAxNTQgMzU0Ljg4OSAzOC42NDk2IDM1NS4xNTIgMzguMzlDMzU1LjQxNSAzOC4xMzA0IDM1NS43ODUgMzguMDAwNiAzNTYuMjYzIDM4LjAwMDZDMzU2Ljc0MSAzOC4wMDA2IDM1Ny4xMTEgMzguMTMwNCAzNTcuMzc0IDM4LjM5QzM1Ny42MzcgMzguNjQ5NiAzNTcuNzY4IDM5LjAxNTQgMzU3Ljc2OCAzOS40ODczVjQ3LjkxMTlMMzY2LjkwOCAzOC41NjdDMzY3LjI2NiAzOC4yMTMgMzY3LjYyNCAzOC4wMzYgMzY3Ljk4MyAzOC4wMzZDMzY4LjM0MSAzOC4wMzYgMzY4LjY4OCAzOC4yMDEyIDM2OS4wMjIgMzguNTMxNkMzNjkuMzgxIDM4Ljg4NTYgMzY5LjU2IDM5LjIzOTUgMzY5LjU2IDM5LjU5MzVDMzY5LjU2IDM5Ljk0NzUgMzY5LjM5MyA0MC4yODk3IDM2OS4wNTggNDAuNjJMMzYxLjQ2IDQ4LjQwNzRMMzcwLjQyIDU5LjQxNlpNMzgxLjg1IDYyQzM3OS43OTUgNjIgMzc4LjE5NCA2MS41OTg4IDM3Ny4wNDggNjAuNzk2NUMzNzUuOTI1IDU5Ljk3MDYgMzc1LjIyIDU4LjcwOCAzNzQuOTMzIDU3LjAwOUMzNzQuODg1IDU2LjUxMzQgMzc0Ljk5MyA1Ni4xMzU5IDM3NS4yNTUgNTUuODc2M0MzNzUuNTE4IDU1LjU5MzEgMzc1LjkwMSA1NS40NTE1IDM3Ni40MDIgNTUuNDUxNUMzNzYuODggNTUuNDUxNSAzNzcuMjM5IDU1LjU2OTUgMzc3LjQ3OCA1NS44MDU1QzM3Ny43MTcgNTYuMDE3OSAzNzcuODg0IDU2LjM4MzYgMzc3Ljk3OSA1Ni45MDI4QzM3OC4xNDcgNTcuNzA1MSAzNzguNTE3IDU4LjI1OTcgMzc5LjA5IDU4LjU2NjVDMzc5LjY4OCA1OC44NzMyIDM4MC42MDggNTkuMDI2NiAzODEuODUgNTkuMDI2NkgzODcuMDExQzM4OC4wNjIgNTkuMDI2NiAzODguODYzIDU4LjkwODYgMzg5LjQxMiA1OC42NzI3QzM4OS42ODQgNTguNTY3NiAzODkuOTMyIDU4LjQxMDIgMzkwLjE0MSA1OC4yMDk3QzM5MC4zNSA1OC4wMDkxIDM5MC41MTcgNTcuNzY5NCAzOTAuNjMxIDU3LjUwNDVDMzkwLjg3IDU2LjkzODIgMzkwLjk4OSA1Ni4xNDc2IDM5MC45ODkgNTUuMTMyOUMzOTAuOTg5IDUzLjYyMjYgMzkwLjcwMyA1Mi41ODQzIDM5MC4xMjkgNTIuMDE4QzM4OS41NTYgNTEuNDUxNiAzODguNTE2IDUxLjE2ODQgMzg3LjAxMSA1MS4xNjg0SDM4Mi41NjdDMzgwLjMyMSA1MS4xNjg0IDM3OC42NDggNTAuNjI1NyAzNzcuNTQ5IDQ5LjU0MDJDMzc2LjQ1IDQ4LjQ1NDYgMzc1LjkwMSA0Ni43OTEgMzc1LjkwMSA0NC41NDkxQzM3NS45MDEgNDIuMzMwOSAzNzYuNDM4IDQwLjY5MDggMzc3LjUxMyAzOS42Mjg5QzM3OC42MTMgMzguNTQzNCAzODAuMjg1IDM4LjAwMDYgMzgyLjUzMSAzOC4wMDA2SDM4Ni43OTZDMzkwLjU3MSAzOC4wMDA2IDM5Mi43NDYgMzkuNTU4MSAzOTMuMzE5IDQyLjY3MzFDMzkzLjM5MSA0My4xNjg2IDM5My4yOTUgNDMuNTU4IDM5My4wMzIgNDMuODQxMkMzOTIuNzcgNDQuMTAwOCAzOTIuMzc1IDQ0LjIzMDYgMzkxLjg1IDQ0LjIzMDZDMzkxLjM3MiA0NC4yMzA2IDM5MS4wMTMgNDQuMTEyNiAzOTAuNzc0IDQzLjg3NjZDMzkwLjUzNSA0My42NDA2IDM5MC4zOCA0My4yNzQ4IDM5MC4zMDggNDIuNzc5M0MzOTAuMTE3IDQyLjA5NDkgMzg5Ljc1OSA0MS42MjMgMzg5LjIzMyA0MS4zNjM0QzM4OC43MDggNDEuMTAzOCAzODcuODk1IDQwLjk3NCAzODYuNzk2IDQwLjk3NEgzODIuNTMxQzM4MS41NTEgNDAuOTc0IDM4MC43OTkgNDEuMDgwMiAzODAuMjczIDQxLjI5MjZDMzgwLjAyOCA0MS4zOTQzIDM3OS44MDcgNDEuNTQzOSAzNzkuNjIyIDQxLjczMjVDMzc5LjQzNyA0MS45MjExIDM3OS4yOTMgNDIuMTQ0NyAzNzkuMTk4IDQyLjM4OTlDMzc5LjAwNyA0Mi44ODU1IDM3OC45MTEgNDMuNjA1MiAzNzguOTExIDQ0LjU0OTFDMzc4LjkxMSA0NS41MTY3IDM3OS4wMTkgNDYuMjYgMzc5LjIzNCA0Ni43NzkyQzM3OS40NDkgNDcuMjc0NyAzNzkuODA3IDQ3LjY0MDUgMzgwLjMwOSA0Ny44NzY1QzM4MC44MzUgNDguMDg4OSAzODEuNTg3IDQ4LjE5NTEgMzgyLjU2NyA0OC4xOTUxSDM4Ny4wMTFDMzg5LjM3NyA0OC4xOTUxIDM5MS4xMzMgNDguNzYxNCAzOTIuMjggNDkuODk0MUMzOTMuNDI3IDUxLjAyNjggMzk0IDUyLjc3MzEgMzk0IDU1LjEzMjlDMzk0IDU3LjQ2OTEgMzkzLjQyNyA1OS4yMDM2IDM5Mi4yOCA2MC4zMzYzQzM5MS4xMzMgNjEuNDQ1NCAzODkuMzc3IDYyIDM4Ny4wMTEgNjJIMzgxLjg1WiIgZmlsbD0iI0UyMkYyMiIvPgo8cGF0aCBkPSJNMzYuNzM2IDBMMCAxOS4yNThMMC40NzA5OTMgNjMuNTczTDIyLjg0MSA3Ni4zMzRMMzYuOTcyIDEwMEw1MC42MyA3Ni4zMzRMNzMgNjMuNjlWMTkuNDlMMzYuNzM2IDBaTTI5LjY3IDY0LjI3TDE0LjM2NCA1NS42ODVWMzUuNDk4TDI5LjY3IDQ0LjU0N1Y2NC4yNjhWNjQuMjdaTTIxLjkgMjMuNDMzTDM2LjczNSAxNS43NzZMNTEuMzM1IDIzLjQzM0wzNi43MzUgMzIuMDE4TDIxLjkgMjMuNDMzWk01OC44NzEgNTUuNjgzTDQzLjggNjQuMjdWNDQuNTQ4TDU4Ljg3MSAzNS43MzFWNTUuNjgzWiIgZmlsbD0iI0UyMkYyMiIvPgo8L3N2Zz4K"},9:(M,e,N)=>{N.d(e,{A:()=>t});const t={navigation:"kiMVxg7uvmObzH9y5Nf7",subtitle:"lh6Gp5uMZoFjdsD0piCQ",active:"IHgUS1orY8DkWO_fbRhQ"}},299:(M,e,N)=>{N.d(e,{A:()=>t});const t={wrapper:"Ub1Qwzm7eiO9i1pfS4JA",header:"MHfJiF9ZtWnpmRSznlsA",container:"bDqx83XSEFfGnp0RCn6r",logo:"s2jFJ3kbxHqVjcXOAa_e",headerNavigation:"O0TgIPrk1w9xxx2FS7rI"}},613:(M,e,N)=>{N.d(e,{A:()=>t});const t={tag:"BBrTfwaRpiXTsfXQotgf",help:"eiQPya4NGNSbJXhlQrFG",default:"Qrwn2ZFHSg4CzQ5B2Hju",info:"dK0gZ8H42AMHDmiT90gt",warning:"Iq2GVHFXIvyadiMTJhPA",error:"IAqnveipCAc7HoEDOSlg",label:"g0nlWBX7OmQcFqR6UoAB",icon:"wLv8qHa44_fOcOtj0hCA"}},609:M=>{M.exports=window.React},455:M=>{M.exports=window.wp.apiFetch},427:M=>{M.exports=window.wp.components},87:M=>{M.exports=window.wp.element},723:M=>{M.exports=window.wp.i18n},129:(M,e,N)=>{N.d(e,{A:()=>n});var t=N(609),D=N(87),z=N(818),j=N(9),c=N(723);const n=({})=>{const{finder:M,preferences:e}=(0,z.h)(),{setSelectedBlock:N}=e,{foundBlocks:n,withFilters:g}=M,[l,u]=(0,D.useState)(null),o=g(n);return(0,t.createElement)("nav",{className:j.A.navigation},(0,t.createElement)("ul",null,o.map((M=>(0,t.createElement)("li",{key:M.name,className:l===M.name?j.A.active:"",onClick:()=>{return e=M.name,N(e),void u(e);var e}},M.name," ",(0,t.createElement)("span",{className:j.A.subtitle},(0,c.__)("Found in","find-my-blocks")," ",M.posts.length," ",M.posts.length>1?(0,c.__)("locations","find-my-blocks"):(0,c.__)("location","find-my-blocks")))))))}},136:(M,e,N)=>{N.d(e,{A:()=>g});var t=N(609),D=N(427),z=N(299),j=N(723),c=N(46),n=N(818);const g=({children:M})=>{const{finder:e}=(0,n.h)(),{isLoading:N,reset:g,startSearch:l,foundBlocks:u}=e;return(0,t.createElement)("div",{className:z.A.wrapper},(0,t.createElement)("div",{className:z.A.header},(0,t.createElement)("div",{className:z.A.container},(0,t.createElement)("img",{className:z.A.logo,src:c.A,alt:"Find My Blocks Logo",onClick:()=>u.length>0&&g()}),(0,t.createElement)("div",{className:z.A.headerNavigation},(0,t.createElement)(D.Button,{onClick:()=>u.length>0?g():l(),icon:u.length>0?"update-alt":null,isPrimary:!0,disabled:N},u.length>0?(0,j.__)("Re-scan","find-my-blocks"):(0,j.__)("Search","find-my-blocks")),(0,t.createElement)(D.DropdownMenu,{icon:"menu",label:"Select a direction"},(({onClose:M})=>(0,t.createElement)(t.Fragment,null,(0,t.createElement)(D.MenuGroup,{label:(0,j.__)("Quick Links","find-my-blocks")},(0,t.createElement)(D.MenuItem,{href:fmbGlobal.admin_url+"/edit.php?post_type=wp_block"},(0,j.__)("Reusable Patterns","find-my-blocks"))),(0,t.createElement)(D.MenuGroup,{label:(0,j.__)("Support","find-my-blocks")},(0,t.createElement)(D.MenuItem,{icon:"star-filled",href:"https://wordpress.org/support/plugin/find-my-blocks/reviews/",target:"_blank"},(0,j.__)("Review on wp.org","find-my-blocks")),(0,t.createElement)(D.MenuItem,{icon:"sos",href:"https://wordpress.org/support/plugin/find-my-blocks/",target:"_blank"},(0,j.__)("Support forum","find-my-blocks")),(0,t.createElement)(D.MenuItem,{icon:"external",href:"https://findmyblocks.com/?utm_source=wordpress_site&utm_medium=navigation&utm_campaign=find_my_blocks_active_install",target:"_blank"},"findmyblocks.com")))))))),M)}},774:(M,e,N)=>{N.d(e,{p:()=>n});var t=N(609),D=N(427),z=N(723),j=N(78);const c=({post:M,blockName:e})=>{const N=function(M){const N=[];return M.hasConditionalBlocks&&N.push({label:(0,z.__)("Conditional","find-my-blocks"),help:(0,t.createElement)("span",null,(0,z.__)("via","find-my-blocks")," ",(0,t.createElement)(D.ExternalLink,{target:"_blank",href:"https://conditionalblocks.com/"},"Conditional Blocks")),icon:"randomize",variation:"info"}),M.isSyncedPattern&&N.push({label:(0,z.__)("Synced Pattern","find-my-blocks"),icon:"networking",variation:"warning"}),M.count>1&&N.push({label:`${M.count}x `+e,icon:"list-view",variation:"info"}),M.isNested&&N.push({label:(0,z.__)("Nested in: ","find-my-blocks")+M.nestedBlockType,icon:"align-center",variation:"info"}),N}(M);return(0,t.createElement)(D.Card,{size:"small",className:"fmb-card"},(0,t.createElement)(D.CardHeader,{isBorderless:!0},(0,t.createElement)("div",null,(0,t.createElement)("span",{className:"fmb-card-title"},M.title),(0,t.createElement)("span",{className:"fmb-card-meta"},(0,t.createElement)("code",null,M?.postType)," ",M?.isThirdPartyTemplate&&(0,t.createElement)("code",null,M?.templateProvider)," ")),(0,t.createElement)("div",null,(0,t.createElement)(D.Button,{target:"_blank",isTertiary:!0,href:M.post_url,size:"small"},(0,z.__)("Preview","find-my-blocks")),(0,t.createElement)(D.Button,{target:"_blank",isTertiary:!0,href:M.edit_url,size:"small"},(0,z.__)("Edit","find-my-blocks")))),N.length>0&&(0,t.createElement)(t.Fragment,null,(0,t.createElement)(D.CardDivider,null),(0,t.createElement)(D.CardBody,null,N.map((M=>(0,t.createElement)(j.v,{key:M.label,...M}))))))};function n({posts:M,blockName:e=""}){return!M||M.length<1?(0,t.createElement)("div",null,(0,t.createElement)("h2",null,(0,z.__)("No locations found","find-my-blocks")),(0,z.__)("Please select a block from the menu, or check the filters.","find-my-blocks")):(0,t.createElement)("div",{className:"fmb-card-grid"},M.map(((M,N)=>(0,t.createElement)(c,{key:e+M?.id,post:M,blockName:e}))))}},78:(M,e,N)=>{N.d(e,{v:()=>j});var t=N(609),D=N(613),z=N(427);const j=({variation:M="default",icon:e,label:N,help:j})=>{const c=((...M)=>M.filter(Boolean).join(" "))(D.A.tag,D.A[M]);return(0,t.createElement)("div",{className:c},e&&(0,t.createElement)(z.Icon,{icon:e,className:D.A.Icon}),(0,t.createElement)("div",{className:D.A.label},N),j&&(0,t.createElement)("div",{className:D.A.help}," ",j))}},818:(M,e,N)=>{N.d(e,{h:()=>g,z:()=>n});var t=N(609),D=N(87),z=N(352),j=N(216);const c=(0,D.createContext)(),n=({children:M})=>{var e;const N=(0,z.g)(),D={posts_per_page:N.postsPerRun},n={preferences:N,finder:(0,j.g)({searchArgs:D,cachedFoundBlocks:null!==(e=N?.cachedFoundBlocks)&&void 0!==e?e:[],setCachedFoundBlocks:N.setCachedFoundBlocks})};return(0,t.createElement)(c.Provider,{value:n},M)},g=()=>{const M=(0,D.useContext)(c);if(!M)throw new Error("useFindMyBlocks must be used within an FindMyBlocksProvider");return M}},216:(M,e,N)=>{N.d(e,{g:()=>j});var t=N(87),D=N(723),z=N(455);const j=({searchArgs:M={},cachedFoundBlocks:e=[],setCachedFoundBlocks:N})=>{const j={name:!1,blockProvider:!1,hasConditionalBlocks:!1},[n,g]=(0,t.useState)([]),[l,u]=(0,t.useState)(j),[o,r]=(0,t.useState)(!1),[a,i]=(0,t.useState)(null),[I,s]=(0,t.useState)({currentPage:0,totalPages:0,percentage:0,totalPosts:0,totalBlocks:0,totalScannedPosts:0}),[A,y]=(0,t.useState)("asc"),T=(0,t.useRef)(null),L=()=>{T.current&&T.current.abort(),g([]),N([]),r(!1),i(null),s({currentPage:0,totalPages:0,percentage:0,totalPosts:0,totalBlocks:0,totalScannedPosts:0}),y("asc")};let E=!0;(0,t.useEffect)((()=>{E&&e&&e.length>0&&(E=!1,g(O(A,e)))}),[e]);const O=(M,e)=>{const N=[...e].sort(((e,N)=>"asc"===M?e.name.localeCompare(N.name):N.name.localeCompare(e.name)));return N.forEach((e=>{e.posts&&Array.isArray(e.posts)&&e.posts.sort(((e,N)=>"asc"===M?e.title.localeCompare(N.title):N.title.localeCompare(e.title)))})),N},k=M=>(l.name&&(M=M.filter((M=>M.name.toLowerCase().includes(l.name.toLowerCase())))),l.blockProvider&&(M=M.filter((M=>M.name.split("/")[0].toLowerCase().includes(l.blockProvider.toLowerCase())))),l.hasConditionalBlocks&&(M=M.map((M=>{const e=M.posts.filter((M=>M.hasConditionalBlocks));return e.length>0?{...M,posts:e}:null})).filter((M=>null!==M))),M);return{reset:L,foundBlocks:n,withFilters:k,setFilters:u,isLoading:o,error:a,startSearch:async()=>{L(),r(!0);const e=new AbortController;T.current=e;let t=1,D=0,n=0,l=0,o=[],a=0,I="in_process";try{for(;(t<=D||1===t)&&!T.current.signal.aborted&&"in_process"===I;){const N=setTimeout((()=>e.abort()),15e3),j=new URLSearchParams({...M,paged:t}).toString();try{const M=await z({path:`find-my-blocks/v1/search?${j}`,signal:e.signal});if(clearTimeout(N),await new Promise((M=>setTimeout(M,1e3))),!M?.data)throw new Error("No data returned from the server.");const{blocks:c,scanned_posts:g,total_posts:u,total_pages:r}=M.data;if(1===t&&(D=r,n=u),a+=c.reduce(((M,e)=>M+e.posts.length),0),l+=g,s({currentPage:t,totalPages:D,percentage:Math.round(t/D*100),totalBlocks:a,totalPosts:n,totalScannedPosts:l}),o=o.concat(c),t++,t>r){I="completed";break}}catch(M){clearTimeout(N),"AbortError"===M.name?(console.error("Search aborted or timeout reached - Please try lower the amount of posts to search per request.",M),i(new Error("Abort/timeout error. Try choosing a lower amount of posts to search per request."))):(console.error("Error fetching blocks:",M),i(M)),I="failed";break}}}finally{if(T.current=null,"completed"===I&&o.length>0){const M=c(o),e=O(A,M);u(j),g(e),N(e)}else i(new Error("Search completed with no results or an error occurred.")),L();await new Promise((M=>setTimeout(M,1e3))),r(!1)}},abortSearch:()=>{T.current&&(T.current.abort(),console.log("Search aborted by user."),i(new Error((0,D.__)("Search aborted by user","find-my-blocks"))))},progress:I,postsWithBlock:M=>{const e=k(n).find((e=>e.name===M));return e?e.posts:[]}}},c=M=>{const e=new Map;return M.forEach((M=>{if(e.has(M.name)){const N=e.get(M.name);M.posts.forEach((M=>{const e=N.posts.findIndex((e=>e.id===M.id));-1!==e?N.posts[e].count+=M.count:N.posts.push(M)}))}else e.set(M.name,{...M,posts:[...M.posts]})})),Array.from(e.values())}},864:(M,e,N)=>{N.d(e,{M:()=>z});var t=N(87);const D=new Map,z=(M,e)=>{const[N,z]=(0,t.useState)(e),[j,c]=(0,t.useState)(!0);return(0,t.useEffect)((()=>{if(j){c(!1);const N=JSON.parse(localStorage.getItem(M));z(null!=N?N:e)}}),[j,M,e]),(0,t.useEffect)((()=>{const e=M=>{z(M)};return((M,e)=>{D.has(M)||D.set(M,[]),D.get(M).push(e)})(M,e),()=>{((M,e)=>{const N=D.get(M)||[],t=N.indexOf(e);t>-1&&N.splice(t,1)})(M,e)}}),[M]),[N,(0,t.useCallback)((e=>{localStorage.setItem(M,JSON.stringify(e)),((M,e)=>{(D.get(M)||[]).forEach((M=>M(e)))})(M,e)}),[M])]}},352:(M,e,N)=>{N.d(e,{g:()=>D});var t=N(864);const D=()=>{const[M,e]=(0,t.M)("fmb_selected_block",""),[N,D]=(0,t.M)("fmb_posts_per_run",10),[z,j]=(0,t.M)("fmb_found_blocks",!1),[c,n]=(0,t.M)("fmb_selected_provider",!1),[g,l]=(0,t.M)("fmb_version_cache",!1),[u,o]=(0,t.M)("fmb_conditional_blocks",!1);return{cachedFoundBlocks:fmbGlobal.version===g&&z,setCachedFoundBlocks:M=>{l(fmbGlobal.version),n(!1),e(!1),o(!1),j(M)},selectedBlock:M,setSelectedBlock:e,selectedProvider:c,setSelectedProvider:n,postsPerRun:parseInt(N),setPostsPerRun:D,conditionalBlocks:u,setConditionalBlocks:o}}},948:(M,e,N)=>{N.d(e,{A:()=>i});var t=N(609),D=N(87),z=N(723),j=N(774),c=N(129),n=N(818),g=N(431),l=N(427);const u=({error:M})=>M?(0,t.createElement)(l.Notice,{status:"error"},M.message):null;function o({className:M}){const{finder:e,preferences:N}=(0,n.h)(),[z,j]=(0,D.useState)("");return(0,t.createElement)(l.SearchControl,{value:z,onChange:M=>{j(M),e.setFilters((e=>({...e,name:!!M.length&&M})))}})}function r(){var M;const{finder:e,preferences:N}=(0,n.h)(),[z,j]=(0,D.useState)(null!==(M=N?.selectedProvider)&&void 0!==M&&M),c=(0,g.g)(e.foundBlocks);return(0,t.createElement)(l.ComboboxControl,{allowReset:!0,label:"Block Provider",help:"Core or third-party block providers",value:z,onChange:M=>{j(M),N?.setSelectedProvider(M),e.setFilters((e=>({...e,blockProvider:null!=M&&M})))},options:c,onFilterValueChange:M=>j(c.filter((e=>e.label.toLowerCase().startsWith(M.toLowerCase()))))})}const a=()=>{const{finder:M,preferences:e}=(0,n.h)(),[N,j]=(0,D.useState)(!!e?.conditionalBlocks);return(0,t.createElement)(l.CheckboxControl,{label:"Conditional Blocks",help:(0,z.__)("Only blocks with visibility changed by the Conditional Blocks plugin","find-my-blocks"),checked:N,onChange:N=>{j(!!N),e?.setConditionalBlocks(!!N),M.setFilters((M=>({...M,hasConditionalBlocks:!!N})))}})},i=function(){const{finder:M,preferences:e}=(0,n.h)(),{foundBlocks:N,startSearch:g,abortSearch:i,progress:I,isLoading:s,error:A,postsWithBlock:y}=M,{selectedBlock:T,postsPerRun:L,setPostsPerRun:E}=e;if(s)return(0,t.createElement)("div",{className:"fmb-bento-container"},(0,t.createElement)("div",{className:"fmb-bento-grid"},(0,t.createElement)("div",{className:"fmb-box fmb-box-full"},(0,t.createElement)("h2",null,(0,z.__)("Searching for your blocks...","find-my-blocks")),(0,t.createElement)("p",null,(0,z.__)("Progress:","find-my-blocks")," ",I.percentage,"%"),(0,t.createElement)("p",null,(0,z.__)("Scanning batch","find-my-blocks")," ",I.currentPage," ",(0,z.__)("out of","find-my-blocks")," ",I.totalPages),(0,t.createElement)("p",null,(0,z.__)("Total block instances detected:","find-my-blocks")," ",I.totalBlocks," "+(0,z.__)("in","find-my-blocks")," ",I.totalScannedPosts," "+(0,z.__)("locations.","find-my-blocks")),(0,t.createElement)(l.Button,{onClick:()=>i(),isDestructive:!0,isPrimary:!0,disabled:!s},(0,z.__)("Abort Search","find-my-blocks")))));const O=y(T);var k;return!A&&N.length>0?(0,t.createElement)(D.Fragment,null,(0,t.createElement)("div",{className:"fmb-container"},(0,t.createElement)("div",{className:"fmb-grid-results-page"},(0,t.createElement)("div",{className:"fmb-box"},(0,t.createElement)("h2",null,(0,z.__)("Filters","find-my-blocks")),(0,t.createElement)("div",{className:"fmb-search-filters"},(0,t.createElement)(o,null),(0,t.createElement)(r,null),fmbGlobal?.conditional_blocks_installed&&(0,t.createElement)(a,null)),(0,t.createElement)("h2",null,(0,z.__)("Found Blocks","find-my-blocks")),(0,t.createElement)("p",null,(0,z.__)("The below blocks have been detected during the scan.","find-my-blocks")),(0,t.createElement)("nav",{className:"fmb-side-navigation"},(0,t.createElement)(c.A,null))),(0,t.createElement)("div",null,T&&(0,t.createElement)(D.Fragment,null,(0,t.createElement)("h2",null,(0,t.createElement)("span",{className:"fmb-badge"},T)),O?.length>0&&(0,t.createElement)("p",null,(0,z.__)("Instances of the","find-my-blocks")," ",(0,t.createElement)("b",null,T)," ",(0,z.__)("block has been found in these","find-my-blocks")," ",null!==(k=O.length)&&void 0!==k?k:0," ",(0,z.__)("locations.","find-my-blocks"))),(0,t.createElement)(j.p,{blockName:T,posts:O}))))):(0,t.createElement)(D.Fragment,null,(0,t.createElement)(u,{error:A}),(0,t.createElement)("div",{className:"fmb-bento-container"},(0,t.createElement)("div",{className:"fmb-bento-grid"},(0,t.createElement)("div",{className:"fmb-box fmb-box-full"},(0,t.createElement)("h2",null,(0,z.__)("Get Started","find-my-blocks")),(0,t.createElement)("p",null,(0,z.__)("Find My Blocks will search through all your templates, posts and pages to find the WordPress blocks.","find-my-blocks")),(0,t.createElement)(l.RadioControl,{className:"fmb-performance-control",label:"Performance",help:(0,z.__)("Warning! Choose the performance level that matches your server. Fetching too may posts at once may temporarily crash your site.","find-my-blocks"),onChange:M=>{E(M)},options:[{label:(0,z.__)("Low (Recommended for most sites, 10 post per run)","find-my-blocks"),value:10},{label:(0,z.__)("Standard (100 posts per run)","find-my-blocks"),value:100},{label:(0,z.__)("Ultra (500 posts per run)","find-my-blocks"),value:500}],selected:null!=L?L:10}),(0,t.createElement)(l.Button,{onClick:()=>g(),isPrimary:!0,disabled:s},(0,z.__)("Start Search","find-my-blocks"))),(0,t.createElement)("div",{className:"fmb-box"},(0,t.createElement)("h2",null,(0,z.__)("Block Tools & Resources","find-my-blocks")),(0,t.createElement)("p",null,(0,z.__)("Create faster & better WordPress sites with block tutorials from experts.","find-my-blocks")),(0,t.createElement)("ul",null,(0,t.createElement)("li",null,(0,t.createElement)(l.ExternalLink,{href:"https://findmyblocks.com?utm_source=wordpress_site&utm_medium=start&utm_campaign=find_my_blocks_active_install",target:"_blank"},"findmyblocks.com")),(0,t.createElement)("li",null,(0,t.createElement)(l.ExternalLink,{href:"https://conditionalblocks.com/?utm_source=wordpress_site&utm_medium=start&utm_campaign=find_my_blocks_active_install",target:"_blank"},"Conditional Blocks plugin")),(0,t.createElement)("li",null,(0,t.createElement)(l.ExternalLink,{href:"https://morganhvidt.com/?utm_source=wordpress_site&utm_medium=start&utm_campaign=find_my_blocks_active_install",target:"_blank"},"@MorganHvidt"),(0,z.__)("(Developer) ","find-my-blocks")))),(0,t.createElement)("div",{className:"fmb-box"},(0,t.createElement)("h2",null,(0,z.__)("Support Development","find-my-blocks")),(0,t.createElement)("p",null,(0,z.__)("I'm building Find My Blocks in my free time. If you find it useful, please consider donating, or contributing to the project.","find-my-blocks")," ",(0,t.createElement)("em",null,"- Morgan Hvidt")),(0,t.createElement)("div",{style:{marginTop:"30px"}},(0,t.createElement)(l.Button,{isSecondary:!0,target:"_blank",href:"https://github.com/morganhvidt/find-my-blocks/"},(0,z.__)("Contribute on Github","find-my-blocks"))," ",(0,t.createElement)(l.Button,{style:{marginLeft:"10px"},isSecondary:!0,target:"_blank",href:"https://morganhvidt.com/donate/"},(0,z.__)("Donate to development","find-my-blocks")))))))}},431:(M,e,N)=>{function t(M){return M.reduce(((M,e)=>{var N;const t=null!==(N=e.name.split("/")[0])&&void 0!==N&&N;return M.some((M=>M.value===t))||M.push({value:t,label:t}),M}),[])}N.d(e,{g:()=>t})}},e={};function N(t){var D=e[t];if(void 0!==D)return D.exports;var z=e[t]={exports:{}};return M[t](z,z.exports,N),z.exports}N.n=M=>{var e=M&&M.__esModule?()=>M.default:()=>M;return N.d(e,{a:e}),e},N.d=(M,e)=>{for(var t in e)N.o(e,t)&&!N.o(M,t)&&Object.defineProperty(M,t,{enumerable:!0,get:e[t]})},N.o=(M,e)=>Object.prototype.hasOwnProperty.call(M,e),(()=>{var M=N(609),e=N(87),t=(N(723),N(948)),D=N(818),z=N(136);function j(){return(0,M.createElement)(e.Fragment,null,(0,M.createElement)(D.z,null,(0,M.createElement)(z.A,null),(0,M.createElement)(t.A,null)))}document.addEventListener("DOMContentLoaded",(()=>{const N=document.getElementById("find-my-blocks-app");N&&(e.createRoot?(0,e.createRoot)(N).render((0,M.createElement)(j,null)):(0,e.render)((0,M.createElement)(j,null),N))}))})()})();1 (()=>{"use strict";var e={46:(e,M,t)=>{t.d(M,{A:()=>n}),t(609);const n="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzk0IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDM5NCAxMDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMDQuNTA3IDYyQzEwNC4wMjkgNjIgMTAzLjY1NyA2MS44NzAyIDEwMy4zOTQgNjEuNjEwNkMxMDMuMTMxIDYxLjM1MSAxMDMgNjAuOTg1MyAxMDMgNjAuNTEzM1YzOS40ODczQzEwMyAzOS4wMTU0IDEwMy4xMzEgMzguNjQ5NiAxMDMuMzk0IDM4LjM5QzEwMy42NTcgMzguMTMwNCAxMDQuMDI3IDM4LjAwMDYgMTA0LjUwNSAzOC4wMDA2SDExNy42OTVDMTE4LjE3MiAzOC4wMDA2IDExOC41NDMgMzguMTMwNCAxMTguODA2IDM4LjM5QzExOS4wNjggMzguNjQ5NiAxMTkuMiAzOS4wMTU0IDExOS4yIDM5LjQ4NzNDMTE5LjIgMzkuOTU5MyAxMTkuMDY4IDQwLjMyNTEgMTE4LjgwNiA0MC41ODQ2QzExOC41NDMgNDAuODQ0MiAxMTguMTcyIDQwLjk3NCAxMTcuNjk1IDQwLjk3NEgxMDYuMDExVjQ4LjQwNzRIMTEzLjIxNUMxMTMuNjkyIDQ4LjQwNzQgMTE0LjA2MyA0OC41MzcyIDExNC4zMjYgNDguNzk2OEMxMTQuNTg4IDQ5LjA1NjQgMTE0LjcyIDQ5LjQyMjIgMTE0LjcyIDQ5Ljg5NDFDMTE0LjcyIDUwLjM2NjEgMTE0LjU4OCA1MC43MzE5IDExNC4zMjYgNTAuOTkxNEMxMTQuMDYzIDUxLjI1MSAxMTMuNjkyIDUxLjM4MDggMTEzLjIxNSA1MS4zODA4SDEwNi4wMTFWNjAuNTEzM0MxMDYuMDExIDYwLjk4NTMgMTA1Ljg3OSA2MS4zNTEgMTA1LjYxNiA2MS42MTA2QzEwNS4zNTQgNjEuODcwMiAxMDQuOTgzIDYyIDEwNC41MDUgNjJIMTA0LjUwN1pNMTI0LjQyMSA2MkMxMjMuODk1IDYyIDEyMy41MTMgNjEuODgyIDEyMy4yNzQgNjEuNjQ2QzEyMy4wMzUgNjEuNDEgMTIyLjkxNSA2MS4wMzI1IDEyMi45MTUgNjAuNTEzM1YzOS41MjI3QzEyMi45MTUgMzkuMDAzNiAxMjMuMDM1IDM4LjYyNiAxMjMuMjc0IDM4LjM5QzEyMy41MTMgMzguMTU0IDEyMy44OTUgMzguMDM2IDEyNC40MjEgMzguMDM2QzEyNC45NDYgMzguMDM2IDEyNS4zMjkgMzguMTU0IDEyNS41NjcgMzguMzlDMTI1LjgwNiAzOC42MjYgMTI1LjkyNiAzOS4wMDM2IDEyNS45MjYgMzkuNTIyN1Y2MC41MTMzQzEyNS45MjYgNjEuMDMyNSAxMjUuODA2IDYxLjQxIDEyNS41NjcgNjEuNjQ2QzEyNS4zMjkgNjEuODgyIDEyNC45NDYgNjIgMTI0LjQyMSA2MlpNMTUxLjU1MiAzOC4wMDA2QzE1Mi4wMyAzOC4wMDA2IDE1Mi40IDM4LjEzMDQgMTUyLjY2MyAzOC4zOUMxNTIuOTI2IDM4LjY0OTYgMTUzLjA1NyAzOS4wMTU0IDE1My4wNTcgMzkuNDg3M1Y2MC41MTMzQzE1My4wNTcgNjAuOTg1MyAxNTIuOTI2IDYxLjM1MSAxNTIuNjYzIDYxLjYxMDZDMTUyLjQgNjEuODcwMiAxNTIuMDMgNjIgMTUxLjU1MiA2MkMxNTEuMjY1IDYyIDE1MS4wMDIgNjEuOTI5MiAxNTAuNzYzIDYxLjc4NzZDMTUwLjQ4NCA2MS42MDkxIDE1MC4yNDEgNjEuMzgxMSAxNTAuMDQ2IDYxLjExNTFMMTM2LjM5MSA0My43MzVWNjAuNTEzM0MxMzYuMzkxIDYwLjk4NTMgMTM2LjI2IDYxLjM1MSAxMzUuOTk3IDYxLjYxMDZDMTM1LjczNCA2MS44NzAyIDEzNS4zNjQgNjIgMTM0Ljg4NiA2MkMxMzQuNDA4IDYyIDEzNC4wMzggNjEuODcwMiAxMzMuNzc1IDYxLjYxMDZDMTMzLjUxMiA2MS4zNTEgMTMzLjM4MSA2MC45ODUzIDEzMy4zODEgNjAuNTEzM1YzOS40ODczQzEzMy4zODEgMzkuMDE1NCAxMzMuNTEyIDM4LjY0OTYgMTMzLjc3NSAzOC4zOUMxMzQuMDM4IDM4LjEzMDQgMTM0LjQwOCAzOC4wMDA2IDEzNC44ODYgMzguMDAwNkMxMzUuMTczIDM4LjAwMDYgMTM1LjQyNCAzOC4wNzE0IDEzNS42MzkgMzguMjEzQzEzNS44NzggMzguMzU0NiAxMzYuMTI4IDM4LjU3ODggMTM2LjM5MSAzOC44ODU2TDE1MC4wNDYgNTYuMjY1NlYzOS40ODczQzE1MC4wNDYgMzkuMDE1NCAxNTAuMTc4IDM4LjY0OTYgMTUwLjQ0MSAzOC4zOUMxNTAuNzA0IDM4LjEzMDQgMTUxLjA3NCAzOC4wMDA2IDE1MS41NTIgMzguMDAwNlpNMTYyLjAxMSA2MkMxNjEuNTMzIDYyIDE2MS4xNjMgNjEuODcwMiAxNjAuOSA2MS42MTA2QzE2MC42MzcgNjEuMzUxIDE2MC41MDYgNjAuOTg1MyAxNjAuNTA2IDYwLjUxMzNWMzkuNDg3M0MxNjAuNTA2IDM5LjAxNTQgMTYwLjYzNyAzOC42NDk2IDE2MC45IDM4LjM5QzE2MS4xNjMgMzguMTMwNCAxNjEuNTMzIDM4LjAwMDYgMTYyLjAxMSAzOC4wMDA2SDE3MC42NDlDMTczLjc3OSAzOC4wMDA2IDE3Ni4wNzMgMzguNzMyMiAxNzcuNTMgNDAuMTk1M0MxNzkuMDExIDQxLjYzNDggMTc5Ljc1MiA0My45MDAyIDE3OS43NTIgNDYuOTkxNVY1My4wMDkxQzE3OS43NTIgNTYuMTAwNCAxNzkuMDExIDU4LjM3NzcgMTc3LjUzIDU5Ljg0MDhDMTc2LjA3MyA2MS4yODAyIDE3My43NzkgNjIgMTcwLjY0OSA2MkgxNjIuMDExWk0xNzAuNjQ5IDU5LjAyNjZDMTcyLjIwMiA1OS4wMjY2IDE3My40MDggNTguODM3OCAxNzQuMjY5IDU4LjQ2MDNDMTc1LjEyIDU4LjExNDEgMTc1LjgwMiA1Ny40NTM5IDE3Ni4xNjggNTYuNjE5NkMxNzYuNTUgNTUuNzQ2NSAxNzYuNzQyIDU0LjU0MyAxNzYuNzQyIDUzLjAwOTFWNDYuOTkxNUMxNzYuNzQyIDQ1LjQ1NzcgMTc2LjU1IDQ0LjI2NiAxNzYuMTY4IDQzLjQxNjRDMTc1LjgxMSA0Mi41Njc5IDE3NS4xMjggNDEuODkzNSAxNzQuMjY5IDQxLjU0MDRDMTczLjQwOCA0MS4xNjI4IDE3Mi4yMDIgNDAuOTc0IDE3MC42NDkgNDAuOTc0SDE2My41MTZWNTkuMDI2NkgxNzAuNjQ5Wk0yMTguOTMyIDM4LjAwMDZDMjE5Ljc0NCAzOC4wMDA2IDIyMC4xNSAzOC40OTYyIDIyMC4xNSAzOS40ODczVjYwLjUxMzNDMjIwLjE1IDYwLjk4NTMgMjIwLjAxOSA2MS4zNTEgMjE5Ljc1NiA2MS42MTA2QzIxOS40OTMgNjEuODcwMiAyMTkuMTIzIDYyIDIxOC42NDUgNjJDMjE4LjE2NyA2MiAyMTcuNzk3IDYxLjg3MDIgMjE3LjUzNCA2MS42MTA2QzIxNy4yNzEgNjEuMzUxIDIxNy4xNCA2MC45ODUzIDIxNy4xNCA2MC41MTMzVjQ0LjEyNDRMMjEwLjU0NSA1My43MTdDMjEwLjMwNiA1NC4wNDc0IDIxMC4wNDMgNTQuMjk1MiAyMDkuNzU3IDU0LjQ2MDRDMjA5LjQzMiA1NC42MTAxIDIwOS4wNzYgNTQuNjgyOCAyMDguNzE3IDU0LjY3MjhDMjA4LjQzIDU0LjY3MjggMjA4LjE2OCA1NC42MDIgMjA3LjkyOSA1NC40NjA0QzIwNy42NjcgNTQuMjQ1NSAyMDcuNDM4IDUzLjk5NTIgMjA3LjI0OCA1My43MTdMMjAwLjYxNyA0NC4wODlWNjAuNTEzM0MyMDAuNjE3IDYwLjk4NTMgMjAwLjQ4NiA2MS4zNTEgMjAwLjIyMyA2MS42MTA2QzE5OS45NiA2MS44NzAyIDE5OS41OSA2MiAxOTkuMTEyIDYyQzE5OC42MzQgNjIgMTk4LjI2NCA2MS44NzAyIDE5OC4wMDEgNjEuNjEwNkMxOTcuNzM4IDYxLjM1MSAxOTcuNjA3IDYwLjk4NTMgMTk3LjYwNyA2MC41MTMzVjM5LjQ4NzNDMTk3LjYwNyAzOS4wMTU0IDE5Ny43MzggMzguNjQ5NiAxOTguMDAxIDM4LjM5QzE5OC4yNjQgMzguMTMwNCAxOTguNjM0IDM4LjAwMDYgMTk5LjExMiAzOC4wMDA2QzE5OS43ODEgMzguMDAwNiAyMDAuMzMxIDM4LjMxOTIgMjAwLjc2MSAzOC45NTY0TDIwOC45MzIgNTEuMDk3NkwyMTcuMTA0IDM4Ljk1NjRDMjE3LjUxIDM4LjMxOTIgMjE4LjExOSAzOC4wMDA2IDIxOC45MzIgMzguMDAwNlpNMjQ0LjMwNCAzOC4zNTQ2QzI0NC44MjkgMzguNjg1IDI0NS4wOTIgMzkuMDc0NCAyNDUuMDkyIDM5LjUyMjdDMjQ1LjA5MiAzOS44MDU5IDI0NC45ODUgNDAuMDg5MSAyNDQuNzcgNDAuMzcyM0wyMzYuMjQgNTMuMjkyM1Y2MC41MTMzQzIzNi4yNCA2MC45ODUzIDIzNi4xMDggNjEuMzUxIDIzNS44NDUgNjEuNjEwNkMyMzUuNTgzIDYxLjg3MDIgMjM1LjIxMiA2MiAyMzQuNzM0IDYyQzIzNC4yNTYgNjIgMjMzLjg4NiA2MS44NzAyIDIzMy42MjMgNjEuNjEwNkMyMzMuMzYgNjEuMzUxIDIzMy4yMjkgNjAuOTg1MyAyMzMuMjI5IDYwLjUxMzNWNTMuMjkyM0wyMjUuMDIyIDQwLjM3MjNDMjI0LjgzIDQwLjA0MTkgMjI0LjczNSAzOS43NDY5IDIyNC43MzUgMzkuNDg3M0MyMjQuNzM1IDM4Ljk5MTggMjI0Ljk4NiAzOC41OTA2IDIyNS40ODggMzguMjgzOEMyMjUuODIyIDM4LjA5NSAyMjYuMTIxIDM4LjAwMDYgMjI2LjM4NCAzOC4wMDA2QzIyNi44MzcgMzguMDAwNiAyMjcuMjMyIDM4LjI0ODQgMjI3LjU2NiAzOC43NDRMMjM0LjczNCA1MC4xMDY1TDI0Mi4yNjEgMzguNzQ0QzI0Mi41NDggMzguMjcyIDI0Mi45MyAzOC4wMzYgMjQzLjQwOCAzOC4wMzZDMjQzLjY5NCAzOC4wMzYgMjQzLjk5MyAzOC4xNDIyIDI0NC4zMDQgMzguMzU0NlpNMjc2LjE5IDQ4LjM3MkMyNzguMDc3IDQ5LjQ1NzYgMjc5LjAyMSA1MS4zODA4IDI3OS4wMjEgNTQuMTQxOFY1NS4zNDUzQzI3OS4wMjEgNTcuNTE2NCAyNzguNDM2IDU5LjE2ODIgMjc3LjI2NSA2MC4zMDA5QzI3Ni4xMTggNjEuNDMzNyAyNzQuNDQ1IDYyIDI3Mi4yNDcgNjJIMjYyLjQyN0MyNjEuOTQ5IDYyIDI2MS41NzkgNjEuODcwMiAyNjEuMzE2IDYxLjYxMDZDMjYxLjA1MyA2MS4zNTEgMjYwLjkyMiA2MC45ODUzIDI2MC45MjIgNjAuNTEzM1YzOS40ODczQzI2MC45MjIgMzkuMDE1NCAyNjEuMDUzIDM4LjY0OTYgMjYxLjMxNiAzOC4zOUMyNjEuNTc5IDM4LjEzMDQgMjYxLjk0OSAzOC4wMDA2IDI2Mi40MjcgMzguMDAwNkgyNzEuNzgxQzI3My42NjkgMzguMDAwNiAyNzUuMTI2IDM4LjQ5NjIgMjc2LjE1NCAzOS40ODczQzI3Ny4xODEgNDAuNDc4NCAyNzcuNjk1IDQxLjg5NDMgMjc3LjY5NSA0My43MzVWNDQuNjkwN0MyNzcuNjk1IDQ1LjQ0NTkgMjc3LjU2NCA0Ni4xNDIgMjc3LjMwMSA0Ni43NzkyQzI3Ny4wNTggNDcuMzg3IDI3Ni42NzggNDcuOTMxOSAyNzYuMTkgNDguMzcyWk0yNjMuOTMyIDQ3LjUyMjVIMjcyLjg5MkMyNzMuNTE0IDQ3LjQ1MTcgMjczLjk2OCA0Ny4xNjg1IDI3NC4yNTQgNDYuNjczQzI3NC41NDEgNDYuMTUzOCAyNzQuNjg0IDQ1LjQ5MzEgMjc0LjY4NCA0NC42OTA3VjQzLjczNUMyNzQuNjg0IDQyLjcyMDMgMjc0LjQ2OSA0Mi4wMTIzIDI3NC4wMzkgNDEuNjExMkMyNzMuNjA5IDQxLjE4NjQgMjcyLjg1NyA0MC45NzQgMjcxLjc4MSA0MC45NzRIMjYzLjkzMlY0Ny41MjI1Wk0yNzYuMDEgNTQuMTQxOEMyNzYuMDEgNTIuODIwMyAyNzUuNzI0IDUxLjg4ODIgMjc1LjE1IDUxLjM0NTRDMjc0LjU3NyA1MC43NzkxIDI3My42MDkgNTAuNDk1OSAyNzIuMjQ3IDUwLjQ5NTlIMjYzLjkzMlY1OS4wMjY2SDI3Mi4yNDdDMjczLjU4NSA1OS4wMjY2IDI3NC41NDEgNTguNzQzNSAyNzUuMTE0IDU4LjE3NzFDMjc1LjcxMiA1Ny42MTA3IDI3Ni4wMSA1Ni42NjY4IDI3Ni4wMSA1NS4zNDUzVjU0LjE0MThaTTI4Ni41NDMgNjJDMjg1LjU0IDYyIDI4NS4wMzggNjEuNTA0NCAyODUuMDM4IDYwLjUxMzNWMzkuNDg3M0MyODUuMDM4IDM4LjQ5NjIgMjg1LjU0IDM4LjAwMDYgMjg2LjU0MyAzOC4wMDA2QzI4Ny41NDcgMzguMDAwNiAyODguMDQ4IDM4LjQ5NjIgMjg4LjA0OCAzOS40ODczVjU5LjAyNjZIMjk3Ljk3NkMyOTguOTggNTkuMDI2NiAyOTkuNDgxIDU5LjUyMjIgMjk5LjQ4MSA2MC41MTMzQzI5OS40ODEgNjEuNTA0NCAyOTguOTggNjIgMjk3Ljk3NiA2MkgyODYuNTQzWk0zMTAuODk3IDYyQzMwOC4xNDkgNjIgMzA2LjExOCA2MS4zNjI4IDMwNC44MDQgNjAuMDg4NUMzMDMuNTEzIDU4Ljc5MDYgMzAyLjg2NyA1Ni43ODQ4IDMwMi44NjcgNTQuMDcxVjQ1Ljg5NDJDMzAyLjg2NyA0My4xODA0IDMwMy41MjUgNDEuMTg2NCAzMDQuODQgMzkuOTEyMUMzMDYuMTU0IDM4LjYxNDIgMzA4LjE3MyAzNy45NzcgMzEwLjg5NyAzOC4wMDA2SDMxNS4xOTZDMzE3Ljk0NCAzOC4wMDA2IDMxOS45NjMgMzguNjQ5NiAzMjEuMjUzIDM5Ljk0NzVDMzIyLjU2OSA0MS4yMjE4IDMyMy4yMjYgNDMuMjE1OCAzMjMuMjI2IDQ1LjkyOTZWNTQuMDcxQzMyMy4yMjYgNTYuNzg0OCAzMjIuNTY5IDU4Ljc5MDYgMzIxLjI1MyA2MC4wODg1QzMxOS45NjMgNjEuMzYyOCAzMTcuOTQ0IDYyIDMxNS4xOTYgNjJIMzEwLjg5N1pNMzE1LjE5NiA1OS4wMjY2QzMxNi41MTIgNTkuMDI2NiAzMTcuNTE0IDU4Ljg3MzIgMzE4LjIwOCA1OC41NjY1QzMxOC44OTcgNTguMjg2MyAzMTkuNDQ5IDU3Ljc1MzQgMzE5Ljc0OCA1Ny4wNzk4QzMyMC4wNiA1Ni4zNzE4IDMyMC4yMTQgNTUuMzY4OSAzMjAuMjE0IDU0LjA3MVY0NS45Mjk2QzMyMC4yMTQgNDQuNjU1MyAzMjAuMDYgNDMuNjY0MiAzMTkuNzQ4IDQyLjk1NjNDMzE5LjQ1OCA0Mi4yNjgyIDMxOC45MDQgNDEuNzIxMiAzMTguMjA4IDQxLjQzNDJDMzE3LjQ5MSA0MS4xMjc0IDMxNi40ODYgNDAuOTc0IDMxNS4xOTYgNDAuOTc0SDMxMC44OTdDMzA5LjYwNiA0MC45NTA0IDMwOC42MDEgNDEuMDkyIDMwNy44ODUgNDEuMzk4OEMzMDcuMTg4IDQxLjY4NTggMzA2LjYzNSA0Mi4yMzI4IDMwNi4zNDUgNDIuOTIwOUMzMDYuMDM0IDQzLjYyODggMzA1Ljg3OSA0NC42MTk5IDMwNS44NzkgNDUuODk0MlY1NC4wNzFDMzA1Ljg3OSA1NS4zNjg5IDMwNi4wMzQgNTYuMzcxOCAzMDYuMzQ1IDU3LjA3OThDMzA2LjY1NCA1Ny43NjQxIDMwNy4xNTYgNTguMjU5NyAzMDcuODQ5IDU4LjU2NjVDMzA4LjU2NSA1OC44NzMyIDMwOS41ODIgNTkuMDI2NiAzMTAuODk3IDU5LjAyNjZIMzE1LjE5NlpNMzM2Ljk3IDYyQzMzNC4yMjMgNjIgMzMyLjE5MiA2MS4zNjI4IDMzMC44NzggNjAuMDg4NUMzMjkuNTg3IDU4Ljc5MDYgMzI4Ljk0MiA1Ni43ODQ4IDMyOC45NDIgNTQuMDcxVjQ1LjkyOTZDMzI4Ljk0MiA0My4yMTU4IDMyOS41ODcgNDEuMjEgMzMwLjg3OCAzOS45MTIxQzMzMi4xOTIgMzguNjE0MiAzMzQuMjExIDM3Ljk3NyAzMzYuOTM1IDM4LjAwMDZIMzQxLjI3MUMzNDMuNTE3IDM4LjAwMDYgMzQ1LjIyNiAzOC40NjA4IDM0Ni4zOTcgMzkuMzgxMUMzNDcuNTkxIDQwLjMwMTUgMzQ4LjI4NCA0MS43NDEgMzQ4LjQ3NSA0My42OTk2QzM0OC41NDcgNDQuMTk1MiAzNDguNDUxIDQ0LjU3MjcgMzQ4LjE4OSA0NC44MzIzQzM0Ny45MjYgNDUuMDkxOSAzNDcuNTQzIDQ1LjIyMTcgMzQ3LjA0MiA0NS4yMjE3QzM0Ni41NjQgNDUuMjIxNyAzNDYuMTkzIDQ1LjEwMzcgMzQ1LjkzMSA0NC44Njc3QzM0NS42OTIgNDQuNjA4MSAzNDUuNTM2IDQ0LjIzMDYgMzQ1LjQ2NSA0My43MzVDMzQ1LjM0NSA0Mi42NzMxIDM0NC45NzUgNDEuOTUzMyAzNDQuMzU0IDQxLjU3NThDMzQzLjczMiA0MS4xNzQ2IDM0Mi43MDUgNDAuOTc0IDM0MS4yNzEgNDAuOTc0SDMzNi45MzVDMzM1LjY0NCA0MC45NTA0IDMzNC42NDEgNDEuMDkyIDMzMy45MjQgNDEuMzk4OEMzMzMuMjA3IDQxLjcwNTUgMzMyLjY5NCA0Mi4yMTI5IDMzMi4zODMgNDIuOTIwOUMzMzIuMDk2IDQzLjYyODggMzMxLjk1MyA0NC42MzE3IDMzMS45NTMgNDUuOTI5NlY1NC4wNzFDMzMxLjk1MyA1NS4zNjg5IDMzMi4xMDggNTYuMzcxOCAzMzIuNDE5IDU3LjA3OThDMzMyLjcyOSA1Ny43NjQxIDMzMy4yMzEgNTguMjU5NyAzMzMuOTI0IDU4LjU2NjVDMzM0LjY0MSA1OC44NzMyIDMzNS42NTYgNTkuMDI2NiAzMzYuOTcgNTkuMDI2NkgzNDEuMjcxQzM0Mi43MDUgNTkuMDI2NiAzNDMuNzMyIDU4LjgzNzggMzQ0LjM1NCA1OC40NjAzQzM0NC45NzUgNTguMDU5MSAzNDUuMzQ1IDU3LjMyNzYgMzQ1LjQ2NSA1Ni4yNjU2QzM0NS41MzYgNTUuNzcwMSAzNDUuNjkyIDU1LjQwNDMgMzQ1LjkzMSA1NS4xNjgzQzM0Ni4xOTMgNTQuOTA4NyAzNDYuNTY0IDU0Ljc3OSAzNDcuMDQyIDU0Ljc3OUMzNDcuNTQzIDU0Ljc3OSAzNDcuOTI2IDU0LjkwODcgMzQ4LjE4OSA1NS4xNjgzQzM0OC40NTEgNTUuNDI3OSAzNDguNTQ3IDU1LjgwNTUgMzQ4LjQ3NSA1Ni4zMDFDMzQ4LjI4NCA1OC4yNTk3IDM0Ny41OTEgNTkuNjk5MiAzNDYuMzk3IDYwLjYxOTVDMzQ1LjIyNiA2MS41Mzk4IDM0My41MTcgNjIgMzQxLjI3MSA2MkgzMzYuOTdaTTM3MC40MiA1OS40MTZDMzcwLjY4MyA1OS43NDY0IDM3MC44MTQgNjAuMDc2NyAzNzAuODE0IDYwLjQwNzFDMzcwLjgxNCA2MC44MzE5IDM3MC42MTEgNjEuMTk3NyAzNzAuMjA1IDYxLjUwNDRDMzY5LjkzNCA2MS43NTc5IDM2OS41NzQgNjEuODk3NSAzNjkuMjAxIDYxLjg5MzhDMzY4Ljc3MSA2MS44OTM4IDM2OC40MDEgNjEuNjkzMiAzNjguMDkgNjEuMjkyMUwzNTkuMzEgNTAuNTY2N0wzNTcuNzY4IDUyLjE1OTZWNjAuNTEzM0MzNTcuNzY4IDYwLjk4NTMgMzU3LjYzNyA2MS4zNTEgMzU3LjM3NCA2MS42MTA2QzM1Ny4xMTEgNjEuODcwMiAzNTYuNzQxIDYyIDM1Ni4yNjMgNjJDMzU1Ljc4NSA2MiAzNTUuNDE1IDYxLjg3MDIgMzU1LjE1MiA2MS42MTA2QzM1NC44ODkgNjEuMzUxIDM1NC43NTggNjAuOTg1MyAzNTQuNzU4IDYwLjUxMzNWMzkuNDg3M0MzNTQuNzU4IDM5LjAxNTQgMzU0Ljg4OSAzOC42NDk2IDM1NS4xNTIgMzguMzlDMzU1LjQxNSAzOC4xMzA0IDM1NS43ODUgMzguMDAwNiAzNTYuMjYzIDM4LjAwMDZDMzU2Ljc0MSAzOC4wMDA2IDM1Ny4xMTEgMzguMTMwNCAzNTcuMzc0IDM4LjM5QzM1Ny42MzcgMzguNjQ5NiAzNTcuNzY4IDM5LjAxNTQgMzU3Ljc2OCAzOS40ODczVjQ3LjkxMTlMMzY2LjkwOCAzOC41NjdDMzY3LjI2NiAzOC4yMTMgMzY3LjYyNCAzOC4wMzYgMzY3Ljk4MyAzOC4wMzZDMzY4LjM0MSAzOC4wMzYgMzY4LjY4OCAzOC4yMDEyIDM2OS4wMjIgMzguNTMxNkMzNjkuMzgxIDM4Ljg4NTYgMzY5LjU2IDM5LjIzOTUgMzY5LjU2IDM5LjU5MzVDMzY5LjU2IDM5Ljk0NzUgMzY5LjM5MyA0MC4yODk3IDM2OS4wNTggNDAuNjJMMzYxLjQ2IDQ4LjQwNzRMMzcwLjQyIDU5LjQxNlpNMzgxLjg1IDYyQzM3OS43OTUgNjIgMzc4LjE5NCA2MS41OTg4IDM3Ny4wNDggNjAuNzk2NUMzNzUuOTI1IDU5Ljk3MDYgMzc1LjIyIDU4LjcwOCAzNzQuOTMzIDU3LjAwOUMzNzQuODg1IDU2LjUxMzQgMzc0Ljk5MyA1Ni4xMzU5IDM3NS4yNTUgNTUuODc2M0MzNzUuNTE4IDU1LjU5MzEgMzc1LjkwMSA1NS40NTE1IDM3Ni40MDIgNTUuNDUxNUMzNzYuODggNTUuNDUxNSAzNzcuMjM5IDU1LjU2OTUgMzc3LjQ3OCA1NS44MDU1QzM3Ny43MTcgNTYuMDE3OSAzNzcuODg0IDU2LjM4MzYgMzc3Ljk3OSA1Ni45MDI4QzM3OC4xNDcgNTcuNzA1MSAzNzguNTE3IDU4LjI1OTcgMzc5LjA5IDU4LjU2NjVDMzc5LjY4OCA1OC44NzMyIDM4MC42MDggNTkuMDI2NiAzODEuODUgNTkuMDI2NkgzODcuMDExQzM4OC4wNjIgNTkuMDI2NiAzODguODYzIDU4LjkwODYgMzg5LjQxMiA1OC42NzI3QzM4OS42ODQgNTguNTY3NiAzODkuOTMyIDU4LjQxMDIgMzkwLjE0MSA1OC4yMDk3QzM5MC4zNSA1OC4wMDkxIDM5MC41MTcgNTcuNzY5NCAzOTAuNjMxIDU3LjUwNDVDMzkwLjg3IDU2LjkzODIgMzkwLjk4OSA1Ni4xNDc2IDM5MC45ODkgNTUuMTMyOUMzOTAuOTg5IDUzLjYyMjYgMzkwLjcwMyA1Mi41ODQzIDM5MC4xMjkgNTIuMDE4QzM4OS41NTYgNTEuNDUxNiAzODguNTE2IDUxLjE2ODQgMzg3LjAxMSA1MS4xNjg0SDM4Mi41NjdDMzgwLjMyMSA1MS4xNjg0IDM3OC42NDggNTAuNjI1NyAzNzcuNTQ5IDQ5LjU0MDJDMzc2LjQ1IDQ4LjQ1NDYgMzc1LjkwMSA0Ni43OTEgMzc1LjkwMSA0NC41NDkxQzM3NS45MDEgNDIuMzMwOSAzNzYuNDM4IDQwLjY5MDggMzc3LjUxMyAzOS42Mjg5QzM3OC42MTMgMzguNTQzNCAzODAuMjg1IDM4LjAwMDYgMzgyLjUzMSAzOC4wMDA2SDM4Ni43OTZDMzkwLjU3MSAzOC4wMDA2IDM5Mi43NDYgMzkuNTU4MSAzOTMuMzE5IDQyLjY3MzFDMzkzLjM5MSA0My4xNjg2IDM5My4yOTUgNDMuNTU4IDM5My4wMzIgNDMuODQxMkMzOTIuNzcgNDQuMTAwOCAzOTIuMzc1IDQ0LjIzMDYgMzkxLjg1IDQ0LjIzMDZDMzkxLjM3MiA0NC4yMzA2IDM5MS4wMTMgNDQuMTEyNiAzOTAuNzc0IDQzLjg3NjZDMzkwLjUzNSA0My42NDA2IDM5MC4zOCA0My4yNzQ4IDM5MC4zMDggNDIuNzc5M0MzOTAuMTE3IDQyLjA5NDkgMzg5Ljc1OSA0MS42MjMgMzg5LjIzMyA0MS4zNjM0QzM4OC43MDggNDEuMTAzOCAzODcuODk1IDQwLjk3NCAzODYuNzk2IDQwLjk3NEgzODIuNTMxQzM4MS41NTEgNDAuOTc0IDM4MC43OTkgNDEuMDgwMiAzODAuMjczIDQxLjI5MjZDMzgwLjAyOCA0MS4zOTQzIDM3OS44MDcgNDEuNTQzOSAzNzkuNjIyIDQxLjczMjVDMzc5LjQzNyA0MS45MjExIDM3OS4yOTMgNDIuMTQ0NyAzNzkuMTk4IDQyLjM4OTlDMzc5LjAwNyA0Mi44ODU1IDM3OC45MTEgNDMuNjA1MiAzNzguOTExIDQ0LjU0OTFDMzc4LjkxMSA0NS41MTY3IDM3OS4wMTkgNDYuMjYgMzc5LjIzNCA0Ni43NzkyQzM3OS40NDkgNDcuMjc0NyAzNzkuODA3IDQ3LjY0MDUgMzgwLjMwOSA0Ny44NzY1QzM4MC44MzUgNDguMDg4OSAzODEuNTg3IDQ4LjE5NTEgMzgyLjU2NyA0OC4xOTUxSDM4Ny4wMTFDMzg5LjM3NyA0OC4xOTUxIDM5MS4xMzMgNDguNzYxNCAzOTIuMjggNDkuODk0MUMzOTMuNDI3IDUxLjAyNjggMzk0IDUyLjc3MzEgMzk0IDU1LjEzMjlDMzk0IDU3LjQ2OTEgMzkzLjQyNyA1OS4yMDM2IDM5Mi4yOCA2MC4zMzYzQzM5MS4xMzMgNjEuNDQ1NCAzODkuMzc3IDYyIDM4Ny4wMTEgNjJIMzgxLjg1WiIgZmlsbD0iI0UyMkYyMiIvPgo8cGF0aCBkPSJNMzYuNzM2IDBMMCAxOS4yNThMMC40NzA5OTMgNjMuNTczTDIyLjg0MSA3Ni4zMzRMMzYuOTcyIDEwMEw1MC42MyA3Ni4zMzRMNzMgNjMuNjlWMTkuNDlMMzYuNzM2IDBaTTI5LjY3IDY0LjI3TDE0LjM2NCA1NS42ODVWMzUuNDk4TDI5LjY3IDQ0LjU0N1Y2NC4yNjhWNjQuMjdaTTIxLjkgMjMuNDMzTDM2LjczNSAxNS43NzZMNTEuMzM1IDIzLjQzM0wzNi43MzUgMzIuMDE4TDIxLjkgMjMuNDMzWk01OC44NzEgNTUuNjgzTDQzLjggNjQuMjdWNDQuNTQ4TDU4Ljg3MSAzNS43MzFWNTUuNjgzWiIgZmlsbD0iI0UyMkYyMiIvPgo8L3N2Zz4K"},9:(e,M,t)=>{t.d(M,{A:()=>n});const n={navigation:"kiMVxg7uvmObzH9y5Nf7",subtitle:"lh6Gp5uMZoFjdsD0piCQ",active:"IHgUS1orY8DkWO_fbRhQ"}},299:(e,M,t)=>{t.d(M,{A:()=>n});const n={wrapper:"Ub1Qwzm7eiO9i1pfS4JA",header:"MHfJiF9ZtWnpmRSznlsA",container:"bDqx83XSEFfGnp0RCn6r",logo:"s2jFJ3kbxHqVjcXOAa_e",headerNavigation:"O0TgIPrk1w9xxx2FS7rI"}},613:(e,M,t)=>{t.d(M,{A:()=>n});const n={tag:"BBrTfwaRpiXTsfXQotgf",help:"eiQPya4NGNSbJXhlQrFG",default:"Qrwn2ZFHSg4CzQ5B2Hju",info:"dK0gZ8H42AMHDmiT90gt",warning:"Iq2GVHFXIvyadiMTJhPA",error:"IAqnveipCAc7HoEDOSlg",label:"g0nlWBX7OmQcFqR6UoAB",icon:"wLv8qHa44_fOcOtj0hCA"}},20:(e,M,t)=>{var n=t(609),N=Symbol.for("react.element"),r=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),o=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};M.jsx=function(e,M,t){var n,l={},D=null,z=null;for(n in void 0!==t&&(D=""+t),void 0!==M.key&&(D=""+M.key),void 0!==M.ref&&(z=M.ref),M)r.call(M,n)&&!c.hasOwnProperty(n)&&(l[n]=M[n]);if(e&&e.defaultProps)for(n in M=e.defaultProps)void 0===l[n]&&(l[n]=M[n]);return{$$typeof:N,type:e,key:D,ref:z,props:l,_owner:o.current}}},848:(e,M,t)=>{e.exports=t(20)},609:e=>{e.exports=window.React},795:e=>{e.exports=window.ReactDOM},455:e=>{e.exports=window.wp.apiFetch},427:e=>{e.exports=window.wp.components},87:e=>{e.exports=window.wp.element},723:e=>{e.exports=window.wp.i18n},129:(e,M,t)=>{t.d(M,{A:()=>l});var n=t(609),N=t(87),r=t(818),o=t(9),c=t(723);const l=({})=>{const{finder:e,preferences:M}=(0,r.h)(),{setSelectedBlock:t}=M,{foundBlocks:l,withFilters:D}=e,[z,u]=(0,N.useState)(null),s=D(l);return(0,n.createElement)("nav",{className:o.A.navigation},(0,n.createElement)("ul",null,s.map((e=>(0,n.createElement)("li",{key:e.name,className:z===e.name?o.A.active:"",onClick:()=>{return M=e.name,t(M),void u(M);var M}},e.name," ",(0,n.createElement)("span",{className:o.A.subtitle},(0,c.__)("Found in","find-my-blocks")," ",e.posts.length," ",e.posts.length>1?(0,c.__)("locations","find-my-blocks"):(0,c.__)("location","find-my-blocks")))))))}},136:(e,M,t)=>{t.d(M,{A:()=>D});var n=t(609),N=t(427),r=t(299),o=t(723),c=t(46),l=t(818);const D=({children:e})=>{const{finder:M}=(0,l.h)(),{isLoading:t,reset:D,startSearch:z,foundBlocks:u}=M;return(0,n.createElement)("div",{className:r.A.wrapper},(0,n.createElement)("div",{className:r.A.header},(0,n.createElement)("div",{className:r.A.container},(0,n.createElement)("img",{className:r.A.logo,src:c.A,alt:"Find My Blocks Logo",onClick:()=>u.length>0&&D()}),(0,n.createElement)("div",{className:r.A.headerNavigation},(0,n.createElement)(N.ExternalLink,{href:"https://wordpress.org/support/plugin/find-my-blocks/reviews/",target:"_blank"},(0,o.__)("Submit Review","find-my-blocks")),(0,n.createElement)(N.Button,{onClick:()=>u.length>0?D():z(),icon:u.length>0?"update-alt":null,variant:"primary",disabled:t},u.length>0?(0,o.__)("Re-scan","find-my-blocks"):(0,o.__)("Search","find-my-blocks")),(0,n.createElement)(N.DropdownMenu,{icon:"menu",label:"Select a direction"},(({onClose:e})=>(0,n.createElement)(n.Fragment,null,(0,n.createElement)(N.MenuGroup,{label:(0,o.__)("Quick Links","find-my-blocks")},(0,n.createElement)(N.MenuItem,{href:fmbGlobal.admin_url+"/edit.php?post_type=wp_block"},(0,o.__)("Reusable Patterns","find-my-blocks"))),(0,n.createElement)(N.MenuGroup,{label:(0,o.__)("Support","find-my-blocks")},(0,n.createElement)(N.MenuItem,{icon:"star-filled",href:"https://wordpress.org/support/plugin/find-my-blocks/reviews/",target:"_blank"},(0,o.__)("Review on wp.org","find-my-blocks")),(0,n.createElement)(N.MenuItem,{icon:"sos",href:"https://wordpress.org/support/plugin/find-my-blocks/",target:"_blank"},(0,o.__)("Support forum","find-my-blocks")),(0,n.createElement)(N.MenuItem,{icon:"external",href:"https://findmyblocks.com/?utm_source=wordpress_site&utm_medium=navigation&utm_campaign=find_my_blocks_active_install",target:"_blank"},"findmyblocks.com")))))))),e)}},774:(e,M,t)=>{t.d(M,{p:()=>u});var n=t(609),N=t(427),r=t(723),o=t(87),c=t(564),l=t(78);const D=({post:e,blockName:M})=>{const t=(0,o.useMemo)((()=>function(e){const t=[];return e.hasConditionalBlocks&&t.push({label:(0,r.__)("Conditional","find-my-blocks"),help:(0,n.createElement)("span",null,(0,r.__)("via","find-my-blocks")," ",(0,n.createElement)(N.ExternalLink,{target:"_blank",href:"https://conditionalblocks.com/"},"Conditional Blocks")),icon:"randomize",variation:"info"}),e.isSyncedPattern&&t.push({label:(0,r.__)("Synced Pattern","find-my-blocks"),icon:"networking",variation:"warning"}),e.count>1&&t.push({label:`${e.count}x `+M,icon:"list-view",variation:"info"}),e.isNested&&t.push({label:(0,r.__)("Nested in: ","find-my-blocks")+e.nestedBlockType,icon:"align-center",variation:"info"}),t}(e)),[e,M]);return(0,n.createElement)(N.Card,{size:"small",className:"fmb-card"},(0,n.createElement)(N.CardHeader,{isBorderless:!0},(0,n.createElement)("div",null,(0,n.createElement)("span",{className:"fmb-card-title"},e.title),(0,n.createElement)("span",{className:"fmb-card-meta"},(0,n.createElement)("code",null,e?.postType)," ",e?.isThirdPartyTemplate&&(0,n.createElement)("code",null,e?.templateProvider)," ")),(0,n.createElement)("div",null,(0,n.createElement)(N.Button,{target:"_blank",variant:"tertiary",href:e.post_url,size:"small"},(0,r.__)("Preview","find-my-blocks")),(0,n.createElement)(N.Button,{target:"_blank",variant:"tertiary",href:e.edit_url,size:"small"},(0,r.__)("Edit","find-my-blocks")))),t.length>0&&(0,n.createElement)(n.Fragment,null,(0,n.createElement)(N.CardDivider,null),(0,n.createElement)(N.CardBody,null,t.map((e=>(0,n.createElement)(l.v,{key:e.label,...e}))))))},z=React.memo(D);function u({posts:e,blockName:M=""}){return!e||e.length<1?(0,n.createElement)("div",null,(0,n.createElement)("h2",null,(0,r.__)("No locations found","find-my-blocks")),(0,r.__)("Please select a block from the menu, or check the filters.","find-my-blocks")):e.length>=2e3?(0,n.createElement)("div",null,(0,n.createElement)("p",null,(0,n.createElement)(N.Icon,{icon:"warning"})," ",(0,r.__)("Performance virtualization applied to large list.","find-my-blocks")),(0,n.createElement)("div",{className:"fmb-cards-virtualized"},(0,n.createElement)(c.x8,{style:{display:"grid",height:"740px"}},e.map(((e,t)=>(0,n.createElement)("div",{className:"fmb-card-virtualized"},(0,n.createElement)(D,{key:M+e?.id,post:e,blockName:M}))))))):(0,n.createElement)("div",{className:"fmb-card-grid"},e.map(((e,t)=>(0,n.createElement)(z,{key:M+e?.id,post:e,blockName:M}))))}},78:(e,M,t)=>{t.d(M,{v:()=>o});var n=t(609),N=t(613),r=t(427);const o=({variation:e="default",icon:M,label:t,help:o})=>{const c=((...e)=>e.filter(Boolean).join(" "))(N.A.tag,N.A[e]);return(0,n.createElement)("div",{className:c},M&&(0,n.createElement)(r.Icon,{icon:M,className:N.A.Icon}),(0,n.createElement)("div",{className:N.A.label},t),o&&(0,n.createElement)("div",{className:N.A.help}," ",o))}},818:(e,M,t)=>{t.d(M,{h:()=>D,z:()=>l});var n=t(609),N=t(87),r=t(352),o=t(216);const c=(0,N.createContext)(),l=({children:e})=>{const M=(0,r.g)(),t={posts_per_page:M.postsPerRun},N={preferences:M,finder:(0,o.g)({searchArgs:t})};return(0,n.createElement)(c.Provider,{value:N},e)},D=()=>{const e=(0,N.useContext)(c);if(!e)throw new Error("useFindMyBlocks must be used within an FindMyBlocksProvider");return e}},216:(e,M,t)=>{t.d(M,{g:()=>c});var n=t(87),N=t(723),r=t(455),o=t(889);const c=({searchArgs:e={}})=>{const[M,t]=(0,o.A)("find_my_blocks","caches","found_blocks"),[c,D]=(0,o.A)("find_my_blocks","caches","version"),z={name:!1,blockProvider:!1,hasConditionalBlocks:!1},[u,s]=(0,n.useState)([]),[i,a]=(0,n.useState)(z),[j,g]=(0,n.useState)(!1),[I,A]=(0,n.useState)(null),[y,T]=(0,n.useState)({currentPage:0,totalPages:0,percentage:0,totalPosts:0,totalBlocks:0,totalScannedPosts:0}),[E,d]=(0,n.useState)("asc"),L=(0,n.useRef)(null),O=(e=!1)=>{L.current&&L.current.abort(),s([]),a(z),D(!1),t([]),g(!1),e||A(null),T({currentPage:0,totalPages:0,percentage:0,totalPosts:0,totalBlocks:0,totalScannedPosts:0}),d("asc")};let m=!0;(0,n.useEffect)((()=>{m&&M&&M.length>0&&c===fmbGlobal.version&&(m=!1,s(k(E,M)))}),[M,c]);const k=(e,M)=>{const t=[...M].sort(((M,t)=>"asc"===e?M.name.localeCompare(t.name):t.name.localeCompare(M.name)));return t.forEach((M=>{M.posts&&Array.isArray(M.posts)&&M.posts.sort(((M,t)=>"asc"===e?M.title.localeCompare(t.title):t.title.localeCompare(M.title)))})),t},x=e=>{const M=i.name?i.name.toLowerCase():"",t=i.blockProvider?i.blockProvider.toLowerCase():"";return e.reduce(((e,n)=>{const N=!M||n.name.toLowerCase().includes(M),r=!t||n.name.split("/")[0].toLowerCase().includes(t);if(!N||!r)return e;let o=n.posts;return i.hasConditionalBlocks&&(o=o.filter((e=>e.hasConditionalBlocks))),i.hasConditionalBlocks&&0===o.length||e.push({...n,posts:o}),e}),[])};return{reset:O,foundBlocks:u,withFilters:x,filters:i,setFilters:a,isLoading:j,searchError:I,startSearch:async()=>{O(),g(!0);const M=new AbortController;L.current=M;let n=1,o=0,c=0,z=0,u=[],i=0,a="in_process";try{for(;(n<=o||1===n)&&!L.current.signal.aborted&&"in_process"===a;){const t=setTimeout((()=>M.abort()),15e3),l=new URLSearchParams({...e,paged:n}).toString();try{const e=await r({path:`find-my-blocks/v1/search?${l}`,signal:M.signal});if(clearTimeout(t),await new Promise((e=>setTimeout(e,1e3))),!e?.data)throw new Error("No data returned from the server.");const{blocks:N,scanned_posts:D,total_posts:s,total_pages:j}=e.data;if(1===n&&(o=j,c=s),i+=N.reduce(((e,M)=>e+M.posts.length),0),z+=D,T({currentPage:n,totalPages:o,percentage:Math.round(n/o*100),totalBlocks:i,totalPosts:c,totalScannedPosts:z}),u=u.concat(N),n++,n>j){a="completed";break}}catch(e){if(clearTimeout(t),"AbortError"===e.name)console.error("Search aborted or timeout reached - Please try lower the amount of posts to search per request.",e),A((0,N.__)("Abort/timeout error. Try choosing a lower amount of posts to search per request.","find-my-blocks"));else{const M="object"==typeof e?JSON.stringify(e):e.toString();A((0,N.__)("Search Error, please submit on the support forum:","find-my-blocks")+" "+M)}a="failed";break}}}finally{if(L.current=null,"completed"===a&&u.length>0){const e=l(u),M=k(E,e);s(M),t(M),D(fmbGlobal.version)}else O(!0);await new Promise((e=>setTimeout(e,1e3))),g(!1)}},abortSearch:()=>{L.current&&(L.current.abort(),console.log("Search aborted by user."),A((0,N.__)("Search aborted by user","find-my-blocks")))},progress:y,postsWithBlock:e=>{const M=x(u).find((M=>M.name===e));return M?M.posts:[]}}},l=e=>{const M=new Map;return e.forEach((e=>{if(M.has(e.name)){const t=M.get(e.name);e.posts.forEach((e=>{const M=t.posts.findIndex((M=>M.id===e.id));-1!==M?t.posts[M].count+=e.count:t.posts.push(e)}))}else M.set(e.name,{...e,posts:[...e.posts]})})),Array.from(M.values())}},889:(e,M,t)=>{t.d(M,{A:()=>N});var n=t(609);const N=function(e,M,t){const[N,r]=(0,n.useState)(null);return(0,n.useEffect)((()=>{if(window.indexedDB)try{const n=window.indexedDB.open(e);n.onerror=function(e){console.error("Error opening IndexedDB database:",e.target.errorCode)},n.onupgradeneeded=function(e){e.target.result.createObjectStore(M)},n.onsuccess=function(e){const n=e.target.result.transaction(M,"readonly").objectStore(M).get(t);n.onerror=function(e){console.error("Error getting value from IndexedDB:",e.target.errorCode)},n.onsuccess=function(e){r(e.target.result)}}}catch(e){console.error("An unexpected error occurred with IndexedDB:",e)}else console.error("IndexedDB is not supported by this browser.")}),[e,M,t]),[N,function(n){if(window.indexedDB)try{const N=window.indexedDB.open(e);N.onerror=function(e){console.error("Error opening IndexedDB database:",e.target.errorCode)},N.onsuccess=function(e){const N=e.target.result.transaction(M,"readwrite").objectStore(M).put(n,t);N.onerror=function(e){console.error("Error saving value to IndexedDB:",e.target.errorCode)},N.onsuccess=function(e){r(n)}}}catch(e){console.error("An unexpected error occurred with IndexedDB:",e)}else console.error("IndexedDB is not supported by this browser.")}]}},864:(e,M,t)=>{t.d(M,{M:()=>r});var n=t(87);const N=new Map,r=(e,M)=>{const[t,r]=(0,n.useState)(M),[o,c]=(0,n.useState)(!0);return(0,n.useEffect)((()=>{if(o){c(!1);const t=JSON.parse(localStorage.getItem(e));r(null!=t?t:M)}}),[o,e,M]),(0,n.useEffect)((()=>{const M=e=>{r(e)};return((e,M)=>{N.has(e)||N.set(e,[]),N.get(e).push(M)})(e,M),()=>{((e,M)=>{const t=N.get(e)||[],n=t.indexOf(M);n>-1&&t.splice(n,1)})(e,M)}}),[e]),[t,(0,n.useCallback)((M=>{localStorage.setItem(e,JSON.stringify(M)),((e,M)=>{(N.get(e)||[]).forEach((e=>e(M)))})(e,M)}),[e])]}},352:(e,M,t)=>{t.d(M,{g:()=>N});var n=t(864);const N=()=>{const[e,M]=(0,n.M)("fmb_selected_block",""),[t,N]=(0,n.M)("fmb_posts_per_run",10),[r,o]=(0,n.M)("fmb_selected_provider",!1),[c,l]=(0,n.M)("fmb_conditional_blocks",!1);return{selectedBlock:e,setSelectedBlock:M,selectedProvider:r,setSelectedProvider:o,postsPerRun:parseInt(t),setPostsPerRun:N,conditionalBlocks:c,setConditionalBlocks:l}}},948:(e,M,t)=>{t.d(M,{A:()=>j});var n=t(609),N=t(87),r=t(723),o=t(774),c=t(129),l=t(818),D=t(431),z=t(427);const u=({error:e})=>e?(0,n.createElement)(z.Notice,{className:"fmb-error-notice",isDismissible:!1,status:"error"},e):null;function s({className:e}){const{finder:M,preferences:t}=(0,l.h)(),[r,o]=(0,N.useState)("");return(0,n.createElement)(z.SearchControl,{value:r,onChange:e=>{o(e),M.setFilters((M=>({...M,name:!!e.length&&e})))}})}function i(){var e;const{finder:M,preferences:t}=(0,l.h)(),[r,o]=(0,N.useState)(null!==(e=t?.selectedProvider)&&void 0!==e&&e),c=(0,D.g)(M.foundBlocks);return(0,n.createElement)(z.ComboboxControl,{allowReset:!0,label:"Block Provider",help:"Core or third-party block providers",value:r,onChange:e=>{o(e),t?.setSelectedProvider(e),M.setFilters((M=>({...M,blockProvider:null!=e&&e})))},options:c,onFilterValueChange:e=>o(c.filter((M=>M.label.toLowerCase().startsWith(e.toLowerCase()))))})}const a=()=>{const{finder:e}=(0,l.h)();return(0,n.createElement)(z.CheckboxControl,{label:"Conditional Blocks",help:(0,r.__)("Only blocks with visibility changed by the Conditional Blocks plugin","find-my-blocks"),checked:e?.filters?.hasConditionalBlocks,onChange:M=>{e.setFilters((e=>({...e,hasConditionalBlocks:!!M})))}})},j=function(){const{finder:e,preferences:M}=(0,l.h)(),{foundBlocks:t,startSearch:D,abortSearch:j,progress:g,isLoading:I,searchError:A,postsWithBlock:y}=e,{selectedBlock:T,postsPerRun:E,setPostsPerRun:d}=M;if(I)return(0,n.createElement)("div",{className:"fmb-bento-container"},(0,n.createElement)("div",{className:"fmb-bento-grid"},(0,n.createElement)("div",{className:"fmb-box fmb-box-full"},(0,n.createElement)("h2",null,(0,r.__)("Searching for your blocks...","find-my-blocks")),(0,n.createElement)("p",null,(0,r.__)("Progress:","find-my-blocks")," ",g.percentage,"%"),(0,n.createElement)("p",null,(0,r.__)("Scanning batch","find-my-blocks")," ",g.currentPage," ",(0,r.__)("out of","find-my-blocks")," ",g.totalPages),(0,n.createElement)("p",null,(0,r.__)("Total block instances detected:","find-my-blocks")," ",g.totalBlocks," "+(0,r.__)("in","find-my-blocks")," ",g.totalScannedPosts," "+(0,r.__)("locations.","find-my-blocks")),(0,n.createElement)(z.Button,{onClick:()=>j(),isDestructive:!0,variant:"primary",disabled:!I},(0,r.__)("Abort Search","find-my-blocks")))));const L=y(T);var O;return!A&&t.length>0?(0,n.createElement)(N.Fragment,null,(0,n.createElement)("div",{className:"fmb-container"},(0,n.createElement)("div",{className:"fmb-grid-results-page"},(0,n.createElement)("div",{className:"fmb-box"},(0,n.createElement)("h2",null,(0,r.__)("Filters","find-my-blocks")),(0,n.createElement)("div",{className:"fmb-search-filters"},(0,n.createElement)(s,null),(0,n.createElement)(i,null),fmbGlobal?.conditional_blocks_installed&&(0,n.createElement)(a,null)),(0,n.createElement)("h2",null,(0,r.__)("Found Blocks","find-my-blocks")),(0,n.createElement)("p",null,(0,r.__)("The below blocks have been detected during the scan.","find-my-blocks")),(0,n.createElement)("nav",{className:"fmb-side-navigation"},(0,n.createElement)(c.A,null))),(0,n.createElement)("div",null,T&&(0,n.createElement)(N.Fragment,null,(0,n.createElement)("h2",null,(0,n.createElement)("span",{className:"fmb-badge"},T)),L?.length>0&&(0,n.createElement)("p",null,(0,r.__)("Instances of the","find-my-blocks")," ",(0,n.createElement)("b",null,T)," ",(0,r.__)("block has been found in these","find-my-blocks")," ",null!==(O=L.length)&&void 0!==O?O:0," ",(0,r.__)("locations.","find-my-blocks"))),(0,n.createElement)(o.p,{blockName:T,posts:L}))))):(0,n.createElement)(N.Fragment,null,(0,n.createElement)(u,{error:A}),(0,n.createElement)("div",{className:"fmb-bento-container"},(0,n.createElement)("div",{className:"fmb-bento-grid"},(0,n.createElement)("div",{className:"fmb-box fmb-box-full"},(0,n.createElement)("h2",null,(0,r.__)("Get Started","find-my-blocks")),(0,n.createElement)("p",null,(0,r.__)("Find My Blocks will search through all your templates, posts and pages to find the WordPress blocks.","find-my-blocks")),(0,n.createElement)(z.RadioControl,{className:"fmb-performance-control",label:"Performance",help:(0,r.__)("Warning! Choose the performance level that matches your server. Fetching too may posts at once may temporarily crash your site.","find-my-blocks"),onChange:e=>{d(e)},options:[{label:(0,r.__)("Low (Recommended for most sites, 10 post per run)","find-my-blocks"),value:10},{label:(0,r.__)("Standard (100 posts per run)","find-my-blocks"),value:100},{label:(0,r.__)("Ultra (500 posts per run)","find-my-blocks"),value:500}],selected:null!=E?E:10}),(0,n.createElement)(z.Button,{onClick:()=>D(),variant:"primary",disabled:I},(0,r.__)("Start Search","find-my-blocks"))),(0,n.createElement)("div",{className:"fmb-box"},(0,n.createElement)("h2",null,(0,r.__)("Block Tools & Resources","find-my-blocks")),(0,n.createElement)("p",null,(0,r.__)("Create faster & better WordPress sites with block tutorials from experts.","find-my-blocks")),(0,n.createElement)("ul",null,(0,n.createElement)("li",null,(0,n.createElement)(z.ExternalLink,{href:"https://findmyblocks.com?utm_source=wordpress_site&utm_medium=start&utm_campaign=find_my_blocks_active_install",target:"_blank"},"findmyblocks.com")),(0,n.createElement)("li",null,(0,n.createElement)(z.ExternalLink,{href:"https://conditionalblocks.com/?utm_source=wordpress_site&utm_medium=start&utm_campaign=find_my_blocks_active_install",target:"_blank"},"Conditional Blocks plugin")),(0,n.createElement)("li",null,(0,n.createElement)(z.ExternalLink,{href:"https://morganhvidt.com/?utm_source=wordpress_site&utm_medium=start&utm_campaign=find_my_blocks_active_install",target:"_blank"},"@MorganHvidt"),(0,r.__)("(Developer) ","find-my-blocks")))),(0,n.createElement)("div",{className:"fmb-box"},(0,n.createElement)("h2",null,(0,r.__)("Support Development","find-my-blocks")),(0,n.createElement)("p",null,(0,r.__)("I'm building Find My Blocks in my free time. If you find it useful, please consider donating, or contributing to the project.","find-my-blocks")," ",(0,n.createElement)("em",null,"- Morgan Hvidt")),(0,n.createElement)("div",{style:{marginTop:"30px"}},(0,n.createElement)(z.Button,{isSecondary:!0,target:"_blank",href:"https://github.com/morganhvidt/find-my-blocks/"},(0,r.__)("Contribute on Github","find-my-blocks"))," ",(0,n.createElement)(z.Button,{style:{marginLeft:"10px"},isSecondary:!0,target:"_blank",href:"https://morganhvidt.com/donate/"},(0,r.__)("Donate to development","find-my-blocks")))))))}},431:(e,M,t)=>{function n(e){return e.reduce(((e,M)=>{var t;const n=null!==(t=M.name.split("/")[0])&&void 0!==t&&t;return e.some((e=>e.value===n))||e.push({value:n,label:n}),e}),[])}t.d(M,{g:()=>n})},564:(e,M,t)=>{t.d(M,{x8:()=>R});var n=t(848),N=t(609),r=t(795);const o=Math.min,c=Math.max,l=Math.abs,D=Array.isArray,z=setTimeout,u=(e,M,t)=>o(t,c(M,e)),s=e=>null!=e,i=e=>[...e].sort(((e,M)=>e-M)),a="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},j=e=>{let M,t;return(...n)=>(M||(M=!0,t=e(...n)),t)},g=-1,I=(e,M,t)=>{const n=t?"unshift":"push";for(let t=0;t<M;t++)e[n](g);return e},A=(e,M)=>{const t=e.t[M];return t===g?e.o:t},y=(e,M,t)=>{const n=e.t[M]===g;return e.t[M]=t,e.i=o(M,e.i),n},T=(e,M)=>{if(!e.l)return 0;if(e.i>=M)return e.u[M];e.i<0&&(e.u[0]=0,e.i=0);let t=e.i,n=e.u[t];for(;t<M;)n+=A(e,t),e.u[++t]=n;return e.i=M,n},E=(e,M,t)=>{for(;t>=0&&t<e.l;){const n=T(e,t);if(n<=M){if(n+A(e,t)>M)break;t++}else t--}return u(t,0,e.l-1)},d=(e,M,t)=>{const n=M-e.l;return e.i=t?-1:o(M-1,e.i),e.l=M,n>0?(I(e.u,n),I(e.t,n,t),e.o*n):(e.u.splice(n),(t?e.t.splice(0,-n):e.t.splice(n)).reduce(((M,t)=>M-(t===g?e.o:t)),0))},L="undefined"!=typeof window,O=()=>document.documentElement,m=j((()=>!!L&&"rtl"===getComputedStyle(O()).direction)),k=j((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),x=j((()=>"scrollBehavior"in O().style)),w=e=>c(e.h(),e._()),Q=(e,M,t,n,N)=>(1!==n&&(e-=c(0,t)),2!==n&&(M+=c(0,t)),[c(e,0),o(M,N-1)]),S=(e,M=40,t=0,n,N=!1,r=0)=>{let D=!!t,z=[],u=0,s=0,a=0,j=0,L=0,O=0,m=0,x=0,w=D?[0,c(t-1,0)]:null,Q=[0,0],S=0;const f=((e,M,t)=>({o:t?t[1]:M,t:t&&t[0]?I(t[0].slice(0,o(e,t[0].length)),c(0,e-t[0].length)):I([],e),l:e,i:-1,u:I([],e)}))(e,M,n),C=new Set,p=()=>s-r,Y=e=>((e,M,t,n)=>{const N=E(e,M,o(t,e.l-1));return[N,E(e,M+n,N)]})(f,e,Q[0],u),h=()=>(e=>e.l?T(e,e.l-1)+A(e,e.l-1):0)(f),U=e=>T(f,e)-L,b=e=>A(f,e),_=e=>{e&&(k()&&0!==m?L+=e:(j+=e,a++))};return{p:()=>z,v:()=>(e=>[[...e.t],e.o])(f),m:()=>O?Q:(Q=Y(c(0,p()+L+j)),w?[o(Q[0],w[0]),c(Q[1],w[1])]:Q),S:e=>f.t[e]===g,I:()=>!!w&&f.t.slice(c(0,w[0]-1),o(f.l-1,w[1]+1)+1).includes(g),k:U,R:b,C:()=>f.l,M:()=>s,T:()=>m,_:()=>u,H:()=>r,h,W:()=>a,J:()=>(O=j,j=0,[O,2===x]),B(e,M){const t=[e,M];return C.add(t),()=>{C.delete(t)}},O(e,M){let t,n,o=0;switch(e){case 1:{const e=O;O=0;const t=M-s,N=l(t);e&&N<l(e)+1||0!==x||(m=t<0?2:1),D&&(w=null,D=!1),s=M,o=4;const r=p();r>=-u&&r<=h()&&(o+=1,n=N>u);break}case 2:o=8,0!==m&&(t=!0,o+=1),m=0,x=0,w=null;break;case 3:{const e=M.filter((([e,M])=>f.t[e]!==M));if(!e.length)break;_(e.reduce(((e,[M,t])=>((2===x||(w?M<w[0]:U(M)+(0===m&&0===x?b(M):0)<p()))&&(e+=t-b(M)),e)),0));for(const[M,t]of e){const e=b(M),n=y(f,M,t);N&&(S+=t,n||(S-=e))}N&&u&&S>u&&(_(((e,M)=>{let t=0;const n=e.t.filter(((e,n)=>{const N=e!==g;return N&&n<M&&t++,N})),N=e.o;return e.i=-1,((e.o=(e=>{const M=i(e),t=e.length/2|0;return M.length%2==0?(M[t-1]+M[t])/2:M[t]})(n))-N)*c(M-t,0)})(f,Q[0])),N=!1),o=3,n=!0;break}case 4:u!==M&&(u=M,o=3);break;case 5:M[1]?(_(d(f,M[0],!0)),x=2,o=1):d(f,M[0]);break;case 6:r=M;break;case 7:x=1;break;case 8:w=Y(M),o=1}o&&(z=[],t&&L&&(j+=L,L=0,a++),C.forEach((([e,M])=>{o&e&&M(n)})))}}},f=L?N.useLayoutEffect:N.useEffect,C=(e,M)=>M&&m()?-e:e,p=(e,M)=>{let t,n,N;const r=M?"scrollLeft":"scrollTop",o=M?"overflowX":"overflowY",c=async(n,o)=>{if(!t)return void a((()=>c(n,o)));N&&N();const l=()=>{let M;return[new Promise(((e,t)=>{M=e,z(N=t,150)})),e.B(2,(()=>{M&&M()}))]};if(o&&x()){for(;e.O(8,n()),e.I();){const[e,M]=l();try{await e}catch(e){return}finally{M()}}t.scrollTo({[M?"left":"top"]:C(n(),M),behavior:"smooth"})}else for(;;){const[N,o]=l();try{t[r]=C(n(),M),e.O(7),await N}catch(e){return}finally{o()}}};return{D(c){t=c,n=((e,M,t,n,N,r)=>{const o=Date.now;let c=0,l=!1,D=!1,u=!1,i=!1;const a=(()=>{let M;const t=()=>{s(M)&&clearTimeout(M)},n=()=>{t(),M=z((()=>{M=null,(()=>{if(l||D)return l=!1,void a();u=!1,e.O(2)})()}),150)};return n.L=t,n})(),j=()=>{c=o(),u&&(i=!0),r&&e.O(6,r()),e.O(1,n()),a()},g=M=>{if(l||0===e.T()||M.ctrlKey)return;const n=o()-c;150>n&&50<n&&(t?M.deltaX:M.deltaY)&&(l=!0)},I=()=>{D=!0,u=i=!1},A=()=>{D=!1,k()&&(u=!0)};return M.addEventListener("scroll",j),M.addEventListener("wheel",g,{passive:!0}),M.addEventListener("touchstart",I,{passive:!0}),M.addEventListener("touchend",A,{passive:!0}),{$:()=>{M.removeEventListener("scroll",j),M.removeEventListener("wheel",g),M.removeEventListener("touchstart",I),M.removeEventListener("touchend",A),a.L()},A:()=>{const[M,r]=e.J();M&&(N(C(M,t),r,i),i=!1,r&&e._()>e.h()&&e.O(1,n()))}}})(e,c,M,(()=>C(c[r],M)),((M,t,n)=>{if(n){const e=c.style,M=e[o];e[o]="hidden",z((()=>{e[o]=M}))}t?(c[r]=e.M()+M,N&&N()):c[r]+=M}))},$(){n&&n.$()},P(e){c((()=>e))},V(M){M+=e.M(),c((()=>M))},X(M,{align:t,smooth:n,offset:N=0}={}){if(M=u(M,0,e.C()-1),"nearest"===t){const n=e.k(M),N=e.M();if(n<N)t="start";else{if(!(n+e.R(M)>N+e._()))return;t="end"}}c((()=>N+e.H()+e.k(M)+("end"===t?e.R(M)-e._():"center"===t?(e.R(M)-e._())/2:0)),n)},A:()=>{n&&n.A()}}},Y="current",h=(e,M)=>{if(D(e))for(const t of e)h(t,M);else s(e)&&"boolean"!=typeof e&&M.push(e)},U=(e,M)=>{const t=e.key;return s(t)?t:"_"+M},b=e=>{const M=(0,N.useRef)(e);return f((()=>{M[Y]=e}),[e]),M},_=(e,M)=>{let t;const n=M?"width":"height",N=new WeakMap,r=(e=>{let M;return{D(t){(M||(M=new((e=>e.defaultView)((e=>e.ownerDocument)(t)).ResizeObserver)(e))).observe(t)},Y(e){M.unobserve(e)},$(){M&&M.disconnect()}}})((M=>{const r=[];for(const{target:o,contentRect:c}of M)if(o.offsetParent)if(o===t)e.O(4,c[n]);else{const e=N.get(o);s(e)&&r.push([e,c[n]])}r.length&&e.O(3,r)}));return{j(e){r.D(t=e)},q:(e,M)=>(N.set(e,M),r.D(e),()=>{N.delete(e),r.Y(e)}),$:r.$}},v=(0,N.memo)((({U:e,F:M,G:t,K:r,N:o,Z:c,ee:l,te:D})=>{const z=(0,N.useRef)(null);f((()=>M(z[Y],t)),[t]);const u=(0,N.useMemo)((()=>{const e={margin:0,padding:0,position:o&&D?void 0:"absolute",[l?"height":"width"]:"100%",[l?"top":"left"]:0,[l?m()?"right":"left":"top"]:r,visibility:!o||D?"visible":"hidden"};return l&&(e.display="flex"),e}),[r,o,D]);return(0,n.jsx)(c,"string"==typeof c?{ref:z,style:u,children:e}:{ref:z,style:u,index:t,children:e})})),B=(e,M)=>(0,N.useMemo)((()=>{if("function"==typeof e)return[e,M||0];const t=(e=>{const M=[];return h(e,M),M})(e);return[e=>t[e],t.length]}),[e,M]),P=(0,N.forwardRef)((({children:e,count:M,overscan:t=4,keepMounted:o,itemSize:c,shift:l,horizontal:D,cache:z,startMargin:u,ssrCount:s,as:j="div",item:g="div",scrollRef:I,onScroll:A,onScrollEnd:y,onRangeChange:T},E)=>{const[d,L]=B(e,M),O=(0,N.useRef)(null),m=(0,N.useRef)(!!s),k=b(A),x=b(y),[C,h,P,R]=(e=>{const M=(0,N.useRef)();return M[Y]||(M[Y]=e())})((()=>{const e=!!D,M=S(L,c,s,z,!c,u);return[M,_(M,e),p(M,e),e]}));L!==C.C()&&C.O(5,[L,l]);const F=(K=C,(0,N.useReducer)(K.p,void 0,K.p)[1]),[W,Z]=C.m(),V=C.T(),J=C.W(),H=C.h(),G=[],[X,q]=Q(W,Z,t,V,L),$=e=>{const M=d(e);return(0,n.jsx)(v,{F:h.q,G:e,K:C.k(e),N:C.S(e),Z:g,U:M,ee:R,te:m[Y]},U(M,e))};var K;f((()=>{m[Y]=!1;const e=C.B(1,(e=>{e?(0,r.flushSync)(F):F()})),M=C.B(4,(()=>{k[Y]&&k[Y](C.M())})),t=C.B(8,(()=>{x[Y]&&x[Y]()})),n=e=>{h.j(e),P.D(e)};return I?a((()=>n(I[Y]))):n(O[Y].parentElement),()=>{e(),M(),t(),h.$(),P.$()}}),[]),f((()=>{P.A()}),[J]),(0,N.useEffect)((()=>{T&&T(W,Z)}),[W,Z]),(0,N.useImperativeHandle)(E,(()=>({get cache(){return C.v()},get scrollOffset(){return C.M()},get scrollSize(){return w(C)},get viewportSize(){return C._()},getItemOffset:C.k,scrollToIndex:P.X,scrollTo:P.P,scrollBy:P.V})),[]);for(let e=X,M=q;e<=M;e++)G.push($(e));if(o){const e=[],M=[];i(o).forEach((t=>{t<X&&e.push($(t)),t>q&&M.push($(t))})),G.unshift(...e),G.push(...M)}return(0,n.jsx)(j,{ref:O,style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:R?H:"100%",height:R?"100%":H,pointerEvents:0!==V?"none":"auto"},children:G})})),R=(0,N.forwardRef)((({children:e,count:M,overscan:t,keepMounted:r,itemSize:o,shift:c,horizontal:l,reverse:D,cache:z,ssrCount:u,item:s,onScroll:i,onScrollEnd:a,onRangeChange:j,style:g,...I},A)=>{const y=(0,N.useRef)(null),T=D&&!l;let E=(0,n.jsx)(P,{ref:A,scrollRef:T?y:void 0,count:M,overscan:t,keepMounted:r,itemSize:o,shift:c,horizontal:l,cache:z,ssrCount:u,item:s,onScroll:i,onScrollEnd:a,onRangeChange:j,children:e});return T&&(E=(0,n.jsx)("div",{style:{visibility:"hidden",display:"flex",flexDirection:"column",justifyContent:"flex-end",minHeight:"100%"},children:E})),(0,n.jsx)("div",{ref:y,...I,style:{display:l?"inline-block":"block",[l?"overflowX":"overflowY"]:"auto",contain:"strict",width:"100%",height:"100%",...g},children:E})}))}},M={};function t(n){var N=M[n];if(void 0!==N)return N.exports;var r=M[n]={exports:{}};return e[n](r,r.exports,t),r.exports}t.n=e=>{var M=e&&e.__esModule?()=>e.default:()=>e;return t.d(M,{a:M}),M},t.d=(e,M)=>{for(var n in M)t.o(M,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:M[n]})},t.o=(e,M)=>Object.prototype.hasOwnProperty.call(e,M),(()=>{var e=t(609),M=t(87),n=(t(723),t(948)),N=t(818),r=t(136);function o(){return(0,e.createElement)(M.Fragment,null,(0,e.createElement)(N.z,null,(0,e.createElement)(r.A,null),(0,e.createElement)(n.A,null)))}document.addEventListener("DOMContentLoaded",(()=>{const t=document.getElementById("find-my-blocks-app");t&&(M.createRoot?(0,M.createRoot)(t).render((0,e.createElement)(o,null)):(0,M.render)((0,e.createElement)(o,null),t))}))})()})(); 2 2 //# sourceMappingURL=find-my-blocks.js.map -
find-my-blocks/trunk/assets/js/find-my-blocks.js.map
r3078539 r3097668 1 {"version":3,"file":"find-my-blocks.js","mappings":"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","sources":["webpack://find-my-blocks/./src/assets/images/find-my-blocks-logo-full.svg","webpack://find-my-blocks/./src/assets/js/components/BlockNavigation/BlockNavigation.module.css?5aa6","webpack://find-my-blocks/./src/assets/js/components/PageHeader/PageHeader.module.css?b4c4","webpack://find-my-blocks/./src/assets/js/components/Tag/Tag.module.css?f54f","webpack://find-my-blocks/external window \"React\"","webpack://find-my-blocks/external window [\"wp\",\"apiFetch\"]","webpack://find-my-blocks/external window [\"wp\",\"components\"]","webpack://find-my-blocks/external window [\"wp\",\"element\"]","webpack://find-my-blocks/external window [\"wp\",\"i18n\"]","webpack://find-my-blocks/./src/assets/js/components/BlockNavigation/index.js","webpack://find-my-blocks/./src/assets/js/components/PageHeader/PageHeader.js","webpack://find-my-blocks/./src/assets/js/components/PostCards/PostCards.js","webpack://find-my-blocks/./src/assets/js/components/Tag/Tag.js","webpack://find-my-blocks/./src/assets/js/context/FindMyBlocksContext.js","webpack://find-my-blocks/./src/assets/js/hooks/useFinder.js","webpack://find-my-blocks/./src/assets/js/hooks/useLocalStorage.js","webpack://find-my-blocks/./src/assets/js/hooks/usePreferences.js","webpack://find-my-blocks/./src/assets/js/pages/SearchPage.js","webpack://find-my-blocks/./src/assets/js/utils/functions.js","webpack://find-my-blocks/webpack/bootstrap","webpack://find-my-blocks/webpack/runtime/compat get default export","webpack://find-my-blocks/webpack/runtime/define property getters","webpack://find-my-blocks/webpack/runtime/hasOwnProperty shorthand","webpack://find-my-blocks/./src/assets/js/find-my-blocks.js"],"sourcesContent":["var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgFindMyBlocksLogoFull = function SvgFindMyBlocksLogoFull(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 394,\n height: 100,\n fill: \"none\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#E22F22\",\n d: \"M104.507 62q-.718 0-1.113-.39-.394-.389-.394-1.097V39.487q0-.708.394-1.097.394-.39 1.111-.39h13.19q.716 0 1.111.39.394.39.394 1.097 0 .708-.394 1.098-.395.39-1.111.389h-11.684v7.433h7.204q.716 0 1.111.39.394.39.394 1.097 0 .708-.394 1.097-.395.39-1.111.39h-7.204v9.132q0 .708-.395 1.098-.393.39-1.111.389zm19.914 0q-.789 0-1.147-.354-.359-.354-.359-1.133v-20.99q0-.78.359-1.133.358-.354 1.147-.354.788 0 1.146.354.359.354.359 1.133v20.99q0 .78-.359 1.133-.358.354-1.146.354m27.131-24q.717 0 1.111.39t.394 1.097v21.026q0 .708-.394 1.098t-1.111.389q-.43 0-.789-.212a2.7 2.7 0 0 1-.717-.673l-13.655-17.38v16.778q0 .708-.394 1.098t-1.111.389-1.111-.39-.394-1.097V39.487q0-.708.394-1.097.394-.39 1.111-.39.43 0 .753.213.358.213.752.673l13.655 17.38V39.487q0-.708.395-1.097.394-.39 1.111-.39m10.459 24q-.717 0-1.111-.39-.394-.389-.394-1.097V39.487q0-.708.394-1.097.394-.39 1.111-.39h8.638q4.695 0 6.881 2.195 2.222 2.16 2.222 6.797v6.017q0 4.637-2.222 6.832Q175.344 62 170.649 62zm8.638-2.973q2.329 0 3.62-.567a3.52 3.52 0 0 0 1.899-1.84q.574-1.31.574-3.61v-6.018q0-2.301-.574-3.576a3.5 3.5 0 0 0-1.899-1.876q-1.291-.566-3.62-.566h-7.133v18.053zM218.932 38q1.218 0 1.218 1.486v21.026q0 .708-.394 1.098t-1.111.389-1.111-.39-.394-1.097V44.124l-6.595 9.593q-.359.495-.788.743a2.3 2.3 0 0 1-1.04.213q-.43 0-.788-.213a3.6 3.6 0 0 1-.681-.743l-6.631-9.628v16.424q0 .708-.394 1.098t-1.111.389-1.111-.39-.394-1.097V39.487q0-.708.394-1.097.394-.39 1.111-.39 1.004.001 1.649.956l8.171 12.142 8.172-12.142q.609-.955 1.828-.955m25.372.354q.788.495.788 1.168 0 .424-.322.85l-8.53 12.92v7.22q0 .708-.395 1.098-.394.39-1.111.389-.717 0-1.111-.39-.394-.389-.394-1.097v-7.22l-8.207-12.92q-.288-.496-.287-.886 0-.742.753-1.203.501-.283.896-.283.68 0 1.182.743l7.168 11.362 7.527-11.362q.43-.708 1.147-.708.43 0 .896.319m31.886 10.017q2.83 1.629 2.831 5.77v1.203q0 3.257-1.756 4.956-1.72 1.7-5.018 1.699h-9.82q-.717 0-1.111-.39-.394-.389-.394-1.097V39.487q0-.708.394-1.097.394-.39 1.111-.39h9.354q2.832 0 4.373 1.487 1.54 1.486 1.541 4.248v.956q0 1.133-.394 2.088a4.3 4.3 0 0 1-1.111 1.593m-12.258-.85h8.96q.933-.105 1.362-.849.43-.78.43-1.982v-.956q0-1.522-.645-2.124-.644-.637-2.258-.637h-7.849zm12.078 6.62q0-1.983-.86-2.797-.86-.85-2.903-.85h-8.315v8.532h8.315q2.007 0 2.867-.85.897-.849.896-2.832zM286.543 62q-1.505 0-1.505-1.487V39.487q0-1.486 1.505-1.486t1.505 1.486v19.54h9.928q1.505 0 1.505 1.486 0 1.487-1.505 1.487zm24.354 0q-4.122 0-6.093-1.911-1.937-1.947-1.937-6.018v-8.177q0-4.071 1.973-5.982 1.971-1.947 6.057-1.911h4.299q4.122 0 6.057 1.947 1.974 1.911 1.973 5.982v8.141q0 4.071-1.973 6.018Q319.318 62 315.196 62zm4.299-2.973q1.972 0 3.012-.46a2.86 2.86 0 0 0 1.54-1.487q.467-1.062.466-3.009V45.93q.001-1.912-.466-2.974a2.85 2.85 0 0 0-1.54-1.522q-1.076-.46-3.012-.46h-4.299q-1.937-.036-3.012.425a2.84 2.84 0 0 0-1.54 1.522q-.466 1.062-.466 2.973v8.177q0 1.946.466 3.009a2.87 2.87 0 0 0 1.504 1.486q1.075.46 3.048.46zM336.97 62q-4.12 0-6.092-1.911-1.936-1.947-1.936-6.018V45.93q0-4.071 1.936-6.018 1.971-1.947 6.057-1.911h4.336q3.37 0 5.126 1.38 1.791 1.38 2.078 4.319.107.743-.286 1.132-.395.39-1.147.39-.717 0-1.111-.354-.359-.39-.466-1.133-.18-1.593-1.111-2.16-.933-.6-3.083-.601h-4.336q-1.936-.036-3.011.425a2.85 2.85 0 0 0-1.541 1.522q-.43 1.061-.43 3.009v8.141q0 1.946.466 3.009.465 1.026 1.505 1.486 1.075.46 3.046.46h4.301q2.15 0 3.083-.566.931-.6 1.111-2.194.107-.744.466-1.098.394-.39 1.111-.389.752 0 1.147.39.393.389.286 1.132-.287 2.938-2.078 4.319Q344.64 62 341.271 62zm33.45-2.584q.394.495.394.991 0 .637-.609 1.097a1.45 1.45 0 0 1-1.004.39q-.645 0-1.111-.602l-8.78-10.725-1.542 1.593v8.353q0 .708-.394 1.098t-1.111.389-1.111-.39-.394-1.097V39.487q0-.708.394-1.097.394-.39 1.111-.39t1.111.39q.394.39.394 1.097v8.425l9.14-9.345q.537-.531 1.075-.531t1.039.496q.538.531.538 1.062 0 .53-.502 1.026l-7.598 7.787zM381.85 62q-3.083 0-4.802-1.203-1.684-1.24-2.115-3.788-.072-.743.322-1.133.395-.424 1.147-.424.717 0 1.076.354.358.318.501 1.097.252 1.204 1.111 1.663.897.46 2.76.46h5.161q1.577 0 2.401-.353a2.164 2.164 0 0 0 1.219-1.168q.358-.85.358-2.372 0-2.266-.86-3.115t-3.118-.85h-4.444q-3.37 0-5.018-1.628t-1.648-4.99q0-3.33 1.612-4.921Q379.163 38 382.531 38h4.265q5.663 0 6.523 4.672.108.744-.287 1.168-.394.39-1.182.39-.717 0-1.076-.354-.358-.354-.466-1.098-.286-1.026-1.075-1.416t-2.437-.389h-4.265q-1.47 0-2.258.319a1.97 1.97 0 0 0-1.075 1.097q-.287.743-.287 2.16 0 1.45.323 2.23.322.742 1.075 1.096.789.32 2.258.32h4.444q3.549 0 5.269 1.698 1.72 1.7 1.72 5.239 0 3.504-1.72 5.203Q390.56 62 387.011 62zM36.736 0 0 19.258l.471 44.315 22.37 12.761L36.972 100 50.63 76.334 73 63.69v-44.2zM29.67 64.27l-15.306-8.585V35.498l15.306 9.049V64.27M21.9 23.433l14.835-7.657 14.6 7.657-14.6 8.585zm36.971 32.25L43.8 64.27V44.548l15.071-8.817z\"\n })));\n};\nexport { SvgFindMyBlocksLogoFull as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzk0IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDM5NCAxMDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMDQuNTA3IDYyQzEwNC4wMjkgNjIgMTAzLjY1NyA2MS44NzAyIDEwMy4zOTQgNjEuNjEwNkMxMDMuMTMxIDYxLjM1MSAxMDMgNjAuOTg1MyAxMDMgNjAuNTEzM1YzOS40ODczQzEwMyAzOS4wMTU0IDEwMy4xMzEgMzguNjQ5NiAxMDMuMzk0IDM4LjM5QzEwMy42NTcgMzguMTMwNCAxMDQuMDI3IDM4LjAwMDYgMTA0LjUwNSAzOC4wMDA2SDExNy42OTVDMTE4LjE3MiAzOC4wMDA2IDExOC41NDMgMzguMTMwNCAxMTguODA2IDM4LjM5QzExOS4wNjggMzguNjQ5NiAxMTkuMiAzOS4wMTU0IDExOS4yIDM5LjQ4NzNDMTE5LjIgMzkuOTU5MyAxMTkuMDY4IDQwLjMyNTEgMTE4LjgwNiA0MC41ODQ2QzExOC41NDMgNDAuODQ0MiAxMTguMTcyIDQwLjk3NCAxMTcuNjk1IDQwLjk3NEgxMDYuMDExVjQ4LjQwNzRIMTEzLjIxNUMxMTMuNjkyIDQ4LjQwNzQgMTE0LjA2MyA0OC41MzcyIDExNC4zMjYgNDguNzk2OEMxMTQuNTg4IDQ5LjA1NjQgMTE0LjcyIDQ5LjQyMjIgMTE0LjcyIDQ5Ljg5NDFDMTE0LjcyIDUwLjM2NjEgMTE0LjU4OCA1MC43MzE5IDExNC4zMjYgNTAuOTkxNEMxMTQuMDYzIDUxLjI1MSAxMTMuNjkyIDUxLjM4MDggMTEzLjIxNSA1MS4zODA4SDEwNi4wMTFWNjAuNTEzM0MxMDYuMDExIDYwLjk4NTMgMTA1Ljg3OSA2MS4zNTEgMTA1LjYxNiA2MS42MTA2QzEwNS4zNTQgNjEuODcwMiAxMDQuOTgzIDYyIDEwNC41MDUgNjJIMTA0LjUwN1pNMTI0LjQyMSA2MkMxMjMuODk1IDYyIDEyMy41MTMgNjEuODgyIDEyMy4yNzQgNjEuNjQ2QzEyMy4wMzUgNjEuNDEgMTIyLjkxNSA2MS4wMzI1IDEyMi45MTUgNjAuNTEzM1YzOS41MjI3QzEyMi45MTUgMzkuMDAzNiAxMjMuMDM1IDM4LjYyNiAxMjMuMjc0IDM4LjM5QzEyMy41MTMgMzguMTU0IDEyMy44OTUgMzguMDM2IDEyNC40MjEgMzguMDM2QzEyNC45NDYgMzguMDM2IDEyNS4zMjkgMzguMTU0IDEyNS41NjcgMzguMzlDMTI1LjgwNiAzOC42MjYgMTI1LjkyNiAzOS4wMDM2IDEyNS45MjYgMzkuNTIyN1Y2MC41MTMzQzEyNS45MjYgNjEuMDMyNSAxMjUuODA2IDYxLjQxIDEyNS41NjcgNjEuNjQ2QzEyNS4zMjkgNjEuODgyIDEyNC45NDYgNjIgMTI0LjQyMSA2MlpNMTUxLjU1MiAzOC4wMDA2QzE1Mi4wMyAzOC4wMDA2IDE1Mi40IDM4LjEzMDQgMTUyLjY2MyAzOC4zOUMxNTIuOTI2IDM4LjY0OTYgMTUzLjA1NyAzOS4wMTU0IDE1My4wNTcgMzkuNDg3M1Y2MC41MTMzQzE1My4wNTcgNjAuOTg1MyAxNTIuOTI2IDYxLjM1MSAxNTIuNjYzIDYxLjYxMDZDMTUyLjQgNjEuODcwMiAxNTIuMDMgNjIgMTUxLjU1MiA2MkMxNTEuMjY1IDYyIDE1MS4wMDIgNjEuOTI5MiAxNTAuNzYzIDYxLjc4NzZDMTUwLjQ4NCA2MS42MDkxIDE1MC4yNDEgNjEuMzgxMSAxNTAuMDQ2IDYxLjExNTFMMTM2LjM5MSA0My43MzVWNjAuNTEzM0MxMzYuMzkxIDYwLjk4NTMgMTM2LjI2IDYxLjM1MSAxMzUuOTk3IDYxLjYxMDZDMTM1LjczNCA2MS44NzAyIDEzNS4zNjQgNjIgMTM0Ljg4NiA2MkMxMzQuNDA4IDYyIDEzNC4wMzggNjEuODcwMiAxMzMuNzc1IDYxLjYxMDZDMTMzLjUxMiA2MS4zNTEgMTMzLjM4MSA2MC45ODUzIDEzMy4zODEgNjAuNTEzM1YzOS40ODczQzEzMy4zODEgMzkuMDE1NCAxMzMuNTEyIDM4LjY0OTYgMTMzLjc3NSAzOC4zOUMxMzQuMDM4IDM4LjEzMDQgMTM0LjQwOCAzOC4wMDA2IDEzNC44ODYgMzguMDAwNkMxMzUuMTczIDM4LjAwMDYgMTM1LjQyNCAzOC4wNzE0IDEzNS42MzkgMzguMjEzQzEzNS44NzggMzguMzU0NiAxMzYuMTI4IDM4LjU3ODggMTM2LjM5MSAzOC44ODU2TDE1MC4wNDYgNTYuMjY1NlYzOS40ODczQzE1MC4wNDYgMzkuMDE1NCAxNTAuMTc4IDM4LjY0OTYgMTUwLjQ0MSAzOC4zOUMxNTAuNzA0IDM4LjEzMDQgMTUxLjA3NCAzOC4wMDA2IDE1MS41NTIgMzguMDAwNlpNMTYyLjAxMSA2MkMxNjEuNTMzIDYyIDE2MS4xNjMgNjEuODcwMiAxNjAuOSA2MS42MTA2QzE2MC42MzcgNjEuMzUxIDE2MC41MDYgNjAuOTg1MyAxNjAuNTA2IDYwLjUxMzNWMzkuNDg3M0MxNjAuNTA2IDM5LjAxNTQgMTYwLjYzNyAzOC42NDk2IDE2MC45IDM4LjM5QzE2MS4xNjMgMzguMTMwNCAxNjEuNTMzIDM4LjAwMDYgMTYyLjAxMSAzOC4wMDA2SDE3MC42NDlDMTczLjc3OSAzOC4wMDA2IDE3Ni4wNzMgMzguNzMyMiAxNzcuNTMgNDAuMTk1M0MxNzkuMDExIDQxLjYzNDggMTc5Ljc1MiA0My45MDAyIDE3OS43NTIgNDYuOTkxNVY1My4wMDkxQzE3OS43NTIgNTYuMTAwNCAxNzkuMDExIDU4LjM3NzcgMTc3LjUzIDU5Ljg0MDhDMTc2LjA3MyA2MS4yODAyIDE3My43NzkgNjIgMTcwLjY0OSA2MkgxNjIuMDExWk0xNzAuNjQ5IDU5LjAyNjZDMTcyLjIwMiA1OS4wMjY2IDE3My40MDggNTguODM3OCAxNzQuMjY5IDU4LjQ2MDNDMTc1LjEyIDU4LjExNDEgMTc1LjgwMiA1Ny40NTM5IDE3Ni4xNjggNTYuNjE5NkMxNzYuNTUgNTUuNzQ2NSAxNzYuNzQyIDU0LjU0MyAxNzYuNzQyIDUzLjAwOTFWNDYuOTkxNUMxNzYuNzQyIDQ1LjQ1NzcgMTc2LjU1IDQ0LjI2NiAxNzYuMTY4IDQzLjQxNjRDMTc1LjgxMSA0Mi41Njc5IDE3NS4xMjggNDEuODkzNSAxNzQuMjY5IDQxLjU0MDRDMTczLjQwOCA0MS4xNjI4IDE3Mi4yMDIgNDAuOTc0IDE3MC42NDkgNDAuOTc0SDE2My41MTZWNTkuMDI2NkgxNzAuNjQ5Wk0yMTguOTMyIDM4LjAwMDZDMjE5Ljc0NCAzOC4wMDA2IDIyMC4xNSAzOC40OTYyIDIyMC4xNSAzOS40ODczVjYwLjUxMzNDMjIwLjE1IDYwLjk4NTMgMjIwLjAxOSA2MS4zNTEgMjE5Ljc1NiA2MS42MTA2QzIxOS40OTMgNjEuODcwMiAyMTkuMTIzIDYyIDIxOC42NDUgNjJDMjE4LjE2NyA2MiAyMTcuNzk3IDYxLjg3MDIgMjE3LjUzNCA2MS42MTA2QzIxNy4yNzEgNjEuMzUxIDIxNy4xNCA2MC45ODUzIDIxNy4xNCA2MC41MTMzVjQ0LjEyNDRMMjEwLjU0NSA1My43MTdDMjEwLjMwNiA1NC4wNDc0IDIxMC4wNDMgNTQuMjk1MiAyMDkuNzU3IDU0LjQ2MDRDMjA5LjQzMiA1NC42MTAxIDIwOS4wNzYgNTQuNjgyOCAyMDguNzE3IDU0LjY3MjhDMjA4LjQzIDU0LjY3MjggMjA4LjE2OCA1NC42MDIgMjA3LjkyOSA1NC40NjA0QzIwNy42NjcgNTQuMjQ1NSAyMDcuNDM4IDUzLjk5NTIgMjA3LjI0OCA1My43MTdMMjAwLjYxNyA0NC4wODlWNjAuNTEzM0MyMDAuNjE3IDYwLjk4NTMgMjAwLjQ4NiA2MS4zNTEgMjAwLjIyMyA2MS42MTA2QzE5OS45NiA2MS44NzAyIDE5OS41OSA2MiAxOTkuMTEyIDYyQzE5OC42MzQgNjIgMTk4LjI2NCA2MS44NzAyIDE5OC4wMDEgNjEuNjEwNkMxOTcuNzM4IDYxLjM1MSAxOTcuNjA3IDYwLjk4NTMgMTk3LjYwNyA2MC41MTMzVjM5LjQ4NzNDMTk3LjYwNyAzOS4wMTU0IDE5Ny43MzggMzguNjQ5NiAxOTguMDAxIDM4LjM5QzE5OC4yNjQgMzguMTMwNCAxOTguNjM0IDM4LjAwMDYgMTk5LjExMiAzOC4wMDA2QzE5OS43ODEgMzguMDAwNiAyMDAuMzMxIDM4LjMxOTIgMjAwLjc2MSAzOC45NTY0TDIwOC45MzIgNTEuMDk3NkwyMTcuMTA0IDM4Ljk1NjRDMjE3LjUxIDM4LjMxOTIgMjE4LjExOSAzOC4wMDA2IDIxOC45MzIgMzguMDAwNlpNMjQ0LjMwNCAzOC4zNTQ2QzI0NC44MjkgMzguNjg1IDI0NS4wOTIgMzkuMDc0NCAyNDUuMDkyIDM5LjUyMjdDMjQ1LjA5MiAzOS44MDU5IDI0NC45ODUgNDAuMDg5MSAyNDQuNzcgNDAuMzcyM0wyMzYuMjQgNTMuMjkyM1Y2MC41MTMzQzIzNi4yNCA2MC45ODUzIDIzNi4xMDggNjEuMzUxIDIzNS44NDUgNjEuNjEwNkMyMzUuNTgzIDYxLjg3MDIgMjM1LjIxMiA2MiAyMzQuNzM0IDYyQzIzNC4yNTYgNjIgMjMzLjg4NiA2MS44NzAyIDIzMy42MjMgNjEuNjEwNkMyMzMuMzYgNjEuMzUxIDIzMy4yMjkgNjAuOTg1MyAyMzMuMjI5IDYwLjUxMzNWNTMuMjkyM0wyMjUuMDIyIDQwLjM3MjNDMjI0LjgzIDQwLjA0MTkgMjI0LjczNSAzOS43NDY5IDIyNC43MzUgMzkuNDg3M0MyMjQuNzM1IDM4Ljk5MTggMjI0Ljk4NiAzOC41OTA2IDIyNS40ODggMzguMjgzOEMyMjUuODIyIDM4LjA5NSAyMjYuMTIxIDM4LjAwMDYgMjI2LjM4NCAzOC4wMDA2QzIyNi44MzcgMzguMDAwNiAyMjcuMjMyIDM4LjI0ODQgMjI3LjU2NiAzOC43NDRMMjM0LjczNCA1MC4xMDY1TDI0Mi4yNjEgMzguNzQ0QzI0Mi41NDggMzguMjcyIDI0Mi45MyAzOC4wMzYgMjQzLjQwOCAzOC4wMzZDMjQzLjY5NCAzOC4wMzYgMjQzLjk5MyAzOC4xNDIyIDI0NC4zMDQgMzguMzU0NlpNMjc2LjE5IDQ4LjM3MkMyNzguMDc3IDQ5LjQ1NzYgMjc5LjAyMSA1MS4zODA4IDI3OS4wMjEgNTQuMTQxOFY1NS4zNDUzQzI3OS4wMjEgNTcuNTE2NCAyNzguNDM2IDU5LjE2ODIgMjc3LjI2NSA2MC4zMDA5QzI3Ni4xMTggNjEuNDMzNyAyNzQuNDQ1IDYyIDI3Mi4yNDcgNjJIMjYyLjQyN0MyNjEuOTQ5IDYyIDI2MS41NzkgNjEuODcwMiAyNjEuMzE2IDYxLjYxMDZDMjYxLjA1MyA2MS4zNTEgMjYwLjkyMiA2MC45ODUzIDI2MC45MjIgNjAuNTEzM1YzOS40ODczQzI2MC45MjIgMzkuMDE1NCAyNjEuMDUzIDM4LjY0OTYgMjYxLjMxNiAzOC4zOUMyNjEuNTc5IDM4LjEzMDQgMjYxLjk0OSAzOC4wMDA2IDI2Mi40MjcgMzguMDAwNkgyNzEuNzgxQzI3My42NjkgMzguMDAwNiAyNzUuMTI2IDM4LjQ5NjIgMjc2LjE1NCAzOS40ODczQzI3Ny4xODEgNDAuNDc4NCAyNzcuNjk1IDQxLjg5NDMgMjc3LjY5NSA0My43MzVWNDQuNjkwN0MyNzcuNjk1IDQ1LjQ0NTkgMjc3LjU2NCA0Ni4xNDIgMjc3LjMwMSA0Ni43NzkyQzI3Ny4wNTggNDcuMzg3IDI3Ni42NzggNDcuOTMxOSAyNzYuMTkgNDguMzcyWk0yNjMuOTMyIDQ3LjUyMjVIMjcyLjg5MkMyNzMuNTE0IDQ3LjQ1MTcgMjczLjk2OCA0Ny4xNjg1IDI3NC4yNTQgNDYuNjczQzI3NC41NDEgNDYuMTUzOCAyNzQuNjg0IDQ1LjQ5MzEgMjc0LjY4NCA0NC42OTA3VjQzLjczNUMyNzQuNjg0IDQyLjcyMDMgMjc0LjQ2OSA0Mi4wMTIzIDI3NC4wMzkgNDEuNjExMkMyNzMuNjA5IDQxLjE4NjQgMjcyLjg1NyA0MC45NzQgMjcxLjc4MSA0MC45NzRIMjYzLjkzMlY0Ny41MjI1Wk0yNzYuMDEgNTQuMTQxOEMyNzYuMDEgNTIuODIwMyAyNzUuNzI0IDUxLjg4ODIgMjc1LjE1IDUxLjM0NTRDMjc0LjU3NyA1MC43NzkxIDI3My42MDkgNTAuNDk1OSAyNzIuMjQ3IDUwLjQ5NTlIMjYzLjkzMlY1OS4wMjY2SDI3Mi4yNDdDMjczLjU4NSA1OS4wMjY2IDI3NC41NDEgNTguNzQzNSAyNzUuMTE0IDU4LjE3NzFDMjc1LjcxMiA1Ny42MTA3IDI3Ni4wMSA1Ni42NjY4IDI3Ni4wMSA1NS4zNDUzVjU0LjE0MThaTTI4Ni41NDMgNjJDMjg1LjU0IDYyIDI4NS4wMzggNjEuNTA0NCAyODUuMDM4IDYwLjUxMzNWMzkuNDg3M0MyODUuMDM4IDM4LjQ5NjIgMjg1LjU0IDM4LjAwMDYgMjg2LjU0MyAzOC4wMDA2QzI4Ny41NDcgMzguMDAwNiAyODguMDQ4IDM4LjQ5NjIgMjg4LjA0OCAzOS40ODczVjU5LjAyNjZIMjk3Ljk3NkMyOTguOTggNTkuMDI2NiAyOTkuNDgxIDU5LjUyMjIgMjk5LjQ4MSA2MC41MTMzQzI5OS40ODEgNjEuNTA0NCAyOTguOTggNjIgMjk3Ljk3NiA2MkgyODYuNTQzWk0zMTAuODk3IDYyQzMwOC4xNDkgNjIgMzA2LjExOCA2MS4zNjI4IDMwNC44MDQgNjAuMDg4NUMzMDMuNTEzIDU4Ljc5MDYgMzAyLjg2NyA1Ni43ODQ4IDMwMi44NjcgNTQuMDcxVjQ1Ljg5NDJDMzAyLjg2NyA0My4xODA0IDMwMy41MjUgNDEuMTg2NCAzMDQuODQgMzkuOTEyMUMzMDYuMTU0IDM4LjYxNDIgMzA4LjE3MyAzNy45NzcgMzEwLjg5NyAzOC4wMDA2SDMxNS4xOTZDMzE3Ljk0NCAzOC4wMDA2IDMxOS45NjMgMzguNjQ5NiAzMjEuMjUzIDM5Ljk0NzVDMzIyLjU2OSA0MS4yMjE4IDMyMy4yMjYgNDMuMjE1OCAzMjMuMjI2IDQ1LjkyOTZWNTQuMDcxQzMyMy4yMjYgNTYuNzg0OCAzMjIuNTY5IDU4Ljc5MDYgMzIxLjI1MyA2MC4wODg1QzMxOS45NjMgNjEuMzYyOCAzMTcuOTQ0IDYyIDMxNS4xOTYgNjJIMzEwLjg5N1pNMzE1LjE5NiA1OS4wMjY2QzMxNi41MTIgNTkuMDI2NiAzMTcuNTE0IDU4Ljg3MzIgMzE4LjIwOCA1OC41NjY1QzMxOC44OTcgNTguMjg2MyAzMTkuNDQ5IDU3Ljc1MzQgMzE5Ljc0OCA1Ny4wNzk4QzMyMC4wNiA1Ni4zNzE4IDMyMC4yMTQgNTUuMzY4OSAzMjAuMjE0IDU0LjA3MVY0NS45Mjk2QzMyMC4yMTQgNDQuNjU1MyAzMjAuMDYgNDMuNjY0MiAzMTkuNzQ4IDQyLjk1NjNDMzE5LjQ1OCA0Mi4yNjgyIDMxOC45MDQgNDEuNzIxMiAzMTguMjA4IDQxLjQzNDJDMzE3LjQ5MSA0MS4xMjc0IDMxNi40ODYgNDAuOTc0IDMxNS4xOTYgNDAuOTc0SDMxMC44OTdDMzA5LjYwNiA0MC45NTA0IDMwOC42MDEgNDEuMDkyIDMwNy44ODUgNDEuMzk4OEMzMDcuMTg4IDQxLjY4NTggMzA2LjYzNSA0Mi4yMzI4IDMwNi4zNDUgNDIuOTIwOUMzMDYuMDM0IDQzLjYyODggMzA1Ljg3OSA0NC42MTk5IDMwNS44NzkgNDUuODk0MlY1NC4wNzFDMzA1Ljg3OSA1NS4zNjg5IDMwNi4wMzQgNTYuMzcxOCAzMDYuMzQ1IDU3LjA3OThDMzA2LjY1NCA1Ny43NjQxIDMwNy4xNTYgNTguMjU5NyAzMDcuODQ5IDU4LjU2NjVDMzA4LjU2NSA1OC44NzMyIDMwOS41ODIgNTkuMDI2NiAzMTAuODk3IDU5LjAyNjZIMzE1LjE5NlpNMzM2Ljk3IDYyQzMzNC4yMjMgNjIgMzMyLjE5MiA2MS4zNjI4IDMzMC44NzggNjAuMDg4NUMzMjkuNTg3IDU4Ljc5MDYgMzI4Ljk0MiA1Ni43ODQ4IDMyOC45NDIgNTQuMDcxVjQ1LjkyOTZDMzI4Ljk0MiA0My4yMTU4IDMyOS41ODcgNDEuMjEgMzMwLjg3OCAzOS45MTIxQzMzMi4xOTIgMzguNjE0MiAzMzQuMjExIDM3Ljk3NyAzMzYuOTM1IDM4LjAwMDZIMzQxLjI3MUMzNDMuNTE3IDM4LjAwMDYgMzQ1LjIyNiAzOC40NjA4IDM0Ni4zOTcgMzkuMzgxMUMzNDcuNTkxIDQwLjMwMTUgMzQ4LjI4NCA0MS43NDEgMzQ4LjQ3NSA0My42OTk2QzM0OC41NDcgNDQuMTk1MiAzNDguNDUxIDQ0LjU3MjcgMzQ4LjE4OSA0NC44MzIzQzM0Ny45MjYgNDUuMDkxOSAzNDcuNTQzIDQ1LjIyMTcgMzQ3LjA0MiA0NS4yMjE3QzM0Ni41NjQgNDUuMjIxNyAzNDYuMTkzIDQ1LjEwMzcgMzQ1LjkzMSA0NC44Njc3QzM0NS42OTIgNDQuNjA4MSAzNDUuNTM2IDQ0LjIzMDYgMzQ1LjQ2NSA0My43MzVDMzQ1LjM0NSA0Mi42NzMxIDM0NC45NzUgNDEuOTUzMyAzNDQuMzU0IDQxLjU3NThDMzQzLjczMiA0MS4xNzQ2IDM0Mi43MDUgNDAuOTc0IDM0MS4yNzEgNDAuOTc0SDMzNi45MzVDMzM1LjY0NCA0MC45NTA0IDMzNC42NDEgNDEuMDkyIDMzMy45MjQgNDEuMzk4OEMzMzMuMjA3IDQxLjcwNTUgMzMyLjY5NCA0Mi4yMTI5IDMzMi4zODMgNDIuOTIwOUMzMzIuMDk2IDQzLjYyODggMzMxLjk1MyA0NC42MzE3IDMzMS45NTMgNDUuOTI5NlY1NC4wNzFDMzMxLjk1MyA1NS4zNjg5IDMzMi4xMDggNTYuMzcxOCAzMzIuNDE5IDU3LjA3OThDMzMyLjcyOSA1Ny43NjQxIDMzMy4yMzEgNTguMjU5NyAzMzMuOTI0IDU4LjU2NjVDMzM0LjY0MSA1OC44NzMyIDMzNS42NTYgNTkuMDI2NiAzMzYuOTcgNTkuMDI2NkgzNDEuMjcxQzM0Mi43MDUgNTkuMDI2NiAzNDMuNzMyIDU4LjgzNzggMzQ0LjM1NCA1OC40NjAzQzM0NC45NzUgNTguMDU5MSAzNDUuMzQ1IDU3LjMyNzYgMzQ1LjQ2NSA1Ni4yNjU2QzM0NS41MzYgNTUuNzcwMSAzNDUuNjkyIDU1LjQwNDMgMzQ1LjkzMSA1NS4xNjgzQzM0Ni4xOTMgNTQuOTA4NyAzNDYuNTY0IDU0Ljc3OSAzNDcuMDQyIDU0Ljc3OUMzNDcuNTQzIDU0Ljc3OSAzNDcuOTI2IDU0LjkwODcgMzQ4LjE4OSA1NS4xNjgzQzM0OC40NTEgNTUuNDI3OSAzNDguNTQ3IDU1LjgwNTUgMzQ4LjQ3NSA1Ni4zMDFDMzQ4LjI4NCA1OC4yNTk3IDM0Ny41OTEgNTkuNjk5MiAzNDYuMzk3IDYwLjYxOTVDMzQ1LjIyNiA2MS41Mzk4IDM0My41MTcgNjIgMzQxLjI3MSA2MkgzMzYuOTdaTTM3MC40MiA1OS40MTZDMzcwLjY4MyA1OS43NDY0IDM3MC44MTQgNjAuMDc2NyAzNzAuODE0IDYwLjQwNzFDMzcwLjgxNCA2MC44MzE5IDM3MC42MTEgNjEuMTk3NyAzNzAuMjA1IDYxLjUwNDRDMzY5LjkzNCA2MS43NTc5IDM2OS41NzQgNjEuODk3NSAzNjkuMjAxIDYxLjg5MzhDMzY4Ljc3MSA2MS44OTM4IDM2OC40MDEgNjEuNjkzMiAzNjguMDkgNjEuMjkyMUwzNTkuMzEgNTAuNTY2N0wzNTcuNzY4IDUyLjE1OTZWNjAuNTEzM0MzNTcuNzY4IDYwLjk4NTMgMzU3LjYzNyA2MS4zNTEgMzU3LjM3NCA2MS42MTA2QzM1Ny4xMTEgNjEuODcwMiAzNTYuNzQxIDYyIDM1Ni4yNjMgNjJDMzU1Ljc4NSA2MiAzNTUuNDE1IDYxLjg3MDIgMzU1LjE1MiA2MS42MTA2QzM1NC44ODkgNjEuMzUxIDM1NC43NTggNjAuOTg1MyAzNTQuNzU4IDYwLjUxMzNWMzkuNDg3M0MzNTQuNzU4IDM5LjAxNTQgMzU0Ljg4OSAzOC42NDk2IDM1NS4xNTIgMzguMzlDMzU1LjQxNSAzOC4xMzA0IDM1NS43ODUgMzguMDAwNiAzNTYuMjYzIDM4LjAwMDZDMzU2Ljc0MSAzOC4wMDA2IDM1Ny4xMTEgMzguMTMwNCAzNTcuMzc0IDM4LjM5QzM1Ny42MzcgMzguNjQ5NiAzNTcuNzY4IDM5LjAxNTQgMzU3Ljc2OCAzOS40ODczVjQ3LjkxMTlMMzY2LjkwOCAzOC41NjdDMzY3LjI2NiAzOC4yMTMgMzY3LjYyNCAzOC4wMzYgMzY3Ljk4MyAzOC4wMzZDMzY4LjM0MSAzOC4wMzYgMzY4LjY4OCAzOC4yMDEyIDM2OS4wMjIgMzguNTMxNkMzNjkuMzgxIDM4Ljg4NTYgMzY5LjU2IDM5LjIzOTUgMzY5LjU2IDM5LjU5MzVDMzY5LjU2IDM5Ljk0NzUgMzY5LjM5MyA0MC4yODk3IDM2OS4wNTggNDAuNjJMMzYxLjQ2IDQ4LjQwNzRMMzcwLjQyIDU5LjQxNlpNMzgxLjg1IDYyQzM3OS43OTUgNjIgMzc4LjE5NCA2MS41OTg4IDM3Ny4wNDggNjAuNzk2NUMzNzUuOTI1IDU5Ljk3MDYgMzc1LjIyIDU4LjcwOCAzNzQuOTMzIDU3LjAwOUMzNzQuODg1IDU2LjUxMzQgMzc0Ljk5MyA1Ni4xMzU5IDM3NS4yNTUgNTUuODc2M0MzNzUuNTE4IDU1LjU5MzEgMzc1LjkwMSA1NS40NTE1IDM3Ni40MDIgNTUuNDUxNUMzNzYuODggNTUuNDUxNSAzNzcuMjM5IDU1LjU2OTUgMzc3LjQ3OCA1NS44MDU1QzM3Ny43MTcgNTYuMDE3OSAzNzcuODg0IDU2LjM4MzYgMzc3Ljk3OSA1Ni45MDI4QzM3OC4xNDcgNTcuNzA1MSAzNzguNTE3IDU4LjI1OTcgMzc5LjA5IDU4LjU2NjVDMzc5LjY4OCA1OC44NzMyIDM4MC42MDggNTkuMDI2NiAzODEuODUgNTkuMDI2NkgzODcuMDExQzM4OC4wNjIgNTkuMDI2NiAzODguODYzIDU4LjkwODYgMzg5LjQxMiA1OC42NzI3QzM4OS42ODQgNTguNTY3NiAzODkuOTMyIDU4LjQxMDIgMzkwLjE0MSA1OC4yMDk3QzM5MC4zNSA1OC4wMDkxIDM5MC41MTcgNTcuNzY5NCAzOTAuNjMxIDU3LjUwNDVDMzkwLjg3IDU2LjkzODIgMzkwLjk4OSA1Ni4xNDc2IDM5MC45ODkgNTUuMTMyOUMzOTAuOTg5IDUzLjYyMjYgMzkwLjcwMyA1Mi41ODQzIDM5MC4xMjkgNTIuMDE4QzM4OS41NTYgNTEuNDUxNiAzODguNTE2IDUxLjE2ODQgMzg3LjAxMSA1MS4xNjg0SDM4Mi41NjdDMzgwLjMyMSA1MS4xNjg0IDM3OC42NDggNTAuNjI1NyAzNzcuNTQ5IDQ5LjU0MDJDMzc2LjQ1IDQ4LjQ1NDYgMzc1LjkwMSA0Ni43OTEgMzc1LjkwMSA0NC41NDkxQzM3NS45MDEgNDIuMzMwOSAzNzYuNDM4IDQwLjY5MDggMzc3LjUxMyAzOS42Mjg5QzM3OC42MTMgMzguNTQzNCAzODAuMjg1IDM4LjAwMDYgMzgyLjUzMSAzOC4wMDA2SDM4Ni43OTZDMzkwLjU3MSAzOC4wMDA2IDM5Mi43NDYgMzkuNTU4MSAzOTMuMzE5IDQyLjY3MzFDMzkzLjM5MSA0My4xNjg2IDM5My4yOTUgNDMuNTU4IDM5My4wMzIgNDMuODQxMkMzOTIuNzcgNDQuMTAwOCAzOTIuMzc1IDQ0LjIzMDYgMzkxLjg1IDQ0LjIzMDZDMzkxLjM3MiA0NC4yMzA2IDM5MS4wMTMgNDQuMTEyNiAzOTAuNzc0IDQzLjg3NjZDMzkwLjUzNSA0My42NDA2IDM5MC4zOCA0My4yNzQ4IDM5MC4zMDggNDIuNzc5M0MzOTAuMTE3IDQyLjA5NDkgMzg5Ljc1OSA0MS42MjMgMzg5LjIzMyA0MS4zNjM0QzM4OC43MDggNDEuMTAzOCAzODcuODk1IDQwLjk3NCAzODYuNzk2IDQwLjk3NEgzODIuNTMxQzM4MS41NTEgNDAuOTc0IDM4MC43OTkgNDEuMDgwMiAzODAuMjczIDQxLjI5MjZDMzgwLjAyOCA0MS4zOTQzIDM3OS44MDcgNDEuNTQzOSAzNzkuNjIyIDQxLjczMjVDMzc5LjQzNyA0MS45MjExIDM3OS4yOTMgNDIuMTQ0NyAzNzkuMTk4IDQyLjM4OTlDMzc5LjAwNyA0Mi44ODU1IDM3OC45MTEgNDMuNjA1MiAzNzguOTExIDQ0LjU0OTFDMzc4LjkxMSA0NS41MTY3IDM3OS4wMTkgNDYuMjYgMzc5LjIzNCA0Ni43NzkyQzM3OS40NDkgNDcuMjc0NyAzNzkuODA3IDQ3LjY0MDUgMzgwLjMwOSA0Ny44NzY1QzM4MC44MzUgNDguMDg4OSAzODEuNTg3IDQ4LjE5NTEgMzgyLjU2NyA0OC4xOTUxSDM4Ny4wMTFDMzg5LjM3NyA0OC4xOTUxIDM5MS4xMzMgNDguNzYxNCAzOTIuMjggNDkuODk0MUMzOTMuNDI3IDUxLjAyNjggMzk0IDUyLjc3MzEgMzk0IDU1LjEzMjlDMzk0IDU3LjQ2OTEgMzkzLjQyNyA1OS4yMDM2IDM5Mi4yOCA2MC4zMzYzQzM5MS4xMzMgNjEuNDQ1NCAzODkuMzc3IDYyIDM4Ny4wMTEgNjJIMzgxLjg1WiIgZmlsbD0iI0UyMkYyMiIvPgo8cGF0aCBkPSJNMzYuNzM2IDBMMCAxOS4yNThMMC40NzA5OTMgNjMuNTczTDIyLjg0MSA3Ni4zMzRMMzYuOTcyIDEwMEw1MC42MyA3Ni4zMzRMNzMgNjMuNjlWMTkuNDlMMzYuNzM2IDBaTTI5LjY3IDY0LjI3TDE0LjM2NCA1NS42ODVWMzUuNDk4TDI5LjY3IDQ0LjU0N1Y2NC4yNjhWNjQuMjdaTTIxLjkgMjMuNDMzTDM2LjczNSAxNS43NzZMNTEuMzM1IDIzLjQzM0wzNi43MzUgMzIuMDE4TDIxLjkgMjMuNDMzWk01OC44NzEgNTUuNjgzTDQzLjggNjQuMjdWNDQuNTQ4TDU4Ljg3MSAzNS43MzFWNTUuNjgzWiIgZmlsbD0iI0UyMkYyMiIvPgo8L3N2Zz4K\";","// extracted by mini-css-extract-plugin\nexport default {\"navigation\":\"kiMVxg7uvmObzH9y5Nf7\",\"subtitle\":\"lh6Gp5uMZoFjdsD0piCQ\",\"active\":\"IHgUS1orY8DkWO_fbRhQ\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"Ub1Qwzm7eiO9i1pfS4JA\",\"header\":\"MHfJiF9ZtWnpmRSznlsA\",\"container\":\"bDqx83XSEFfGnp0RCn6r\",\"logo\":\"s2jFJ3kbxHqVjcXOAa_e\",\"headerNavigation\":\"O0TgIPrk1w9xxx2FS7rI\"};","// extracted by mini-css-extract-plugin\nexport default {\"tag\":\"BBrTfwaRpiXTsfXQotgf\",\"help\":\"eiQPya4NGNSbJXhlQrFG\",\"default\":\"Qrwn2ZFHSg4CzQ5B2Hju\",\"info\":\"dK0gZ8H42AMHDmiT90gt\",\"warning\":\"Iq2GVHFXIvyadiMTJhPA\",\"error\":\"IAqnveipCAc7HoEDOSlg\",\"label\":\"g0nlWBX7OmQcFqR6UoAB\",\"icon\":\"wLv8qHa44_fOcOtj0hCA\"};","module.exports = window[\"React\"];","module.exports = window[\"wp\"][\"apiFetch\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","import { useState } from \"@wordpress/element\";\nimport { useFindMyBlocks } from \"../../context/FindMyBlocksContext.js\";\nimport style from \"./BlockNavigation.module.css\";\nimport { __ } from \"@wordpress/i18n\";\n\nconst BlockNavigation = ({}) => {\n const { finder, preferences } = useFindMyBlocks();\n const { setSelectedBlock } = preferences;\n const { foundBlocks, withFilters } = finder;\n const [currentActive, setCurrentActive] = useState(null);\n\n const filteredBlocks = withFilters(foundBlocks);\n\n const handleLinkClick = (blockName) => {\n setSelectedBlock(blockName);\n setCurrentActive(blockName);\n };\n\n return (\n <nav className={style.navigation}>\n <ul>\n {filteredBlocks.map((block) => (\n <li\n key={block.name}\n className={currentActive === block.name ? style.active : \"\"}\n onClick={() => handleLinkClick(block.name)}\n >\n {block.name}{\" \"}\n <span className={style.subtitle}>\n {__(\"Found in\", \"find-my-blocks\")} {block.posts.length}{\" \"}\n {block.posts.length > 1\n ? __(\"locations\", \"find-my-blocks\")\n : __(\"location\", \"find-my-blocks\")}\n </span>\n </li>\n ))}\n </ul>\n </nav>\n );\n};\n\nexport default BlockNavigation;\n","import {\n Button,\n DropdownMenu,\n MenuGroup,\n MenuItem,\n} from \"@wordpress/components\";\nimport style from \"./PageHeader.module.css\";\nimport { __ } from \"@wordpress/i18n\";\nimport Logo from \"../../../images/find-my-blocks-logo-full.svg\";\nimport { useFindMyBlocks } from \"../../context/FindMyBlocksContext.js\";\n\nconst PageHeader = ({ children }) => {\n const { finder } = useFindMyBlocks();\n const { isLoading, reset, startSearch, foundBlocks } = finder;\n\n return (\n <div className={style.wrapper}>\n <div className={style.header}>\n <div className={style.container}>\n <img\n className={style.logo}\n src={Logo}\n alt=\"Find My Blocks Logo\"\n onClick={() => (foundBlocks.length > 0 ? reset() : false)}\n />\n <div className={style.headerNavigation}>\n <Button\n onClick={() => (foundBlocks.length > 0 ? reset() : startSearch())}\n icon={foundBlocks.length > 0 ? \"update-alt\" : null}\n isPrimary\n disabled={isLoading}\n >\n {foundBlocks.length > 0 // If there are found blocks, show \"Search Again\"\n ? __(\"Re-scan\", \"find-my-blocks\")\n : __(\"Search\", \"find-my-blocks\")}\n </Button>\n <DropdownMenu icon=\"menu\" label=\"Select a direction\">\n {({ onClose }) => (\n <>\n <MenuGroup label={__(\"Quick Links\", \"find-my-blocks\")}>\n <MenuItem\n href={\n fmbGlobal.admin_url + \"/edit.php?post_type=wp_block\"\n }\n >\n {__(\"Reusable Patterns\", \"find-my-blocks\")}\n </MenuItem>\n </MenuGroup>\n <MenuGroup label={__(\"Support\", \"find-my-blocks\")}>\n <MenuItem\n icon=\"star-filled\"\n href=\"https://wordpress.org/support/plugin/find-my-blocks/reviews/\"\n target=\"_blank\"\n >\n {__(\"Review on wp.org\", \"find-my-blocks\")}\n </MenuItem>\n <MenuItem\n icon=\"sos\"\n href=\"https://wordpress.org/support/plugin/find-my-blocks/\"\n target=\"_blank\"\n >\n {__(\"Support forum\", \"find-my-blocks\")}\n </MenuItem>\n <MenuItem\n icon=\"external\"\n href=\"https://findmyblocks.com/?utm_source=wordpress_site&utm_medium=navigation&utm_campaign=find_my_blocks_active_install\"\n target=\"_blank\"\n >\n findmyblocks.com\n </MenuItem>\n </MenuGroup>\n </>\n )}\n </DropdownMenu>\n </div>\n </div>\n </div>\n {children}\n </div>\n );\n};\n\nexport default PageHeader;\n","import {\n Card as WPCard,\n CardBody,\n CardDivider,\n CardHeader,\n Button,\n ExternalLink,\n} from \"@wordpress/components\";\nimport { __ } from \"@wordpress/i18n\";\n\nimport { Tag } from \"../Tag/Tag.js\";\n\nexport const Card = ({ post, blockName }) => {\n const tags = getTags(post);\n\n return (\n <WPCard size=\"small\" className=\"fmb-card\">\n <CardHeader isBorderless>\n <div>\n <span className=\"fmb-card-title\">{post.title}</span>\n <span className=\"fmb-card-meta\">\n <code>{post?.postType}</code>{\" \"}\n {post?.isThirdPartyTemplate && (\n <code>{post?.templateProvider}</code>\n )}{\" \"}\n </span>\n </div>\n <div>\n <Button\n target=\"_blank\"\n isTertiary\n href={post.post_url}\n size={\"small\"}\n >\n {__(\"Preview\", \"find-my-blocks\")}\n </Button>\n <Button\n target=\"_blank\"\n isTertiary\n href={post.edit_url}\n size={\"small\"}\n >\n {__(\"Edit\", \"find-my-blocks\")}\n </Button>\n </div>\n </CardHeader>\n {tags.length > 0 && (\n <>\n <CardDivider />\n <CardBody>\n {tags.map((tag) => {\n return <Tag key={tag.label} {...tag} />;\n })}\n </CardBody>\n </>\n )}\n </WPCard>\n );\n\n function getTags(post) {\n const tags = [];\n\n if (post.hasConditionalBlocks) {\n tags.push({\n label: __(\"Conditional\", \"find-my-blocks\"),\n help: (\n <span>\n {__(\"via\", \"find-my-blocks\")}{\" \"}\n <ExternalLink target=\"_blank\" href=\"https://conditionalblocks.com/\">\n Conditional Blocks\n </ExternalLink>\n </span>\n ),\n icon: \"randomize\",\n variation: \"info\",\n });\n }\n\n if (post.isSyncedPattern) {\n tags.push({\n label: __(\"Synced Pattern\", \"find-my-blocks\"),\n icon: \"networking\",\n variation: \"warning\",\n });\n }\n\n if (post.count > 1) {\n tags.push({\n label: `${post.count}x ` + blockName,\n icon: \"list-view\",\n variation: \"info\",\n });\n }\n\n if (post.isNested) {\n tags.push({\n label: __(\"Nested in: \", \"find-my-blocks\") + post.nestedBlockType,\n icon: \"align-center\",\n variation: \"info\",\n });\n }\n\n return tags;\n }\n};\n\nexport function CardGrid({ posts, blockName = \"\" }) {\n if (!posts || posts.length < 1) {\n return (\n <div>\n <h2>{__(\"No locations found\", \"find-my-blocks\")}</h2>\n {__(\n \"Please select a block from the menu, or check the filters.\",\n \"find-my-blocks\"\n )}\n </div>\n );\n }\n\n return (\n <div className=\"fmb-card-grid\">\n {posts.map((post, index) => {\n return (\n <Card key={blockName + post?.id} post={post} blockName={blockName} />\n );\n })}\n </div>\n );\n}\n","import classes from \"./Tag.module.css\";\nimport { Icon } from \"@wordpress/components\";\n\nconst classNames = (...classes) => classes.filter(Boolean).join(\" \");\n\n/**\n * Tag\n * @param {string} variations - \"info\" | \"warning\" | \"error\" | \"default\";\n * @returns\n */\nexport const Tag = ({ variation = \"default\", icon, label, help }) => {\n const tagClass = classNames(classes.tag, classes[variation]);\n\n return (\n <div className={tagClass}>\n {icon && <Icon icon={icon} className={classes.Icon} />}\n <div className={classes.label}>{label}</div>\n {help && <div className={classes.help}> {help}</div>}\n </div>\n );\n};\n","import React, { createContext, useContext } from \"@wordpress/element\";\n\nimport { usePreferences } from \"../hooks/usePreferences.js\";\nimport { useFinder } from \"../hooks/useFinder.js\";\n\n// Create a context for the app state.\nconst FindMyBlocksContext = createContext();\n\n// Create a provider component.\nexport const FindMyBlocksProvider = ({ children }) => {\n const preferences = usePreferences();\n\n const searchArgs = {\n posts_per_page: preferences.postsPerRun,\n };\n\n const finder = useFinder({\n searchArgs,\n cachedFoundBlocks: preferences?.cachedFoundBlocks ?? [],\n setCachedFoundBlocks: preferences.setCachedFoundBlocks,\n });\n\n const contextValue = {\n preferences: preferences,\n finder: finder,\n };\n\n return (\n <FindMyBlocksContext.Provider value={contextValue}>\n {children}\n </FindMyBlocksContext.Provider>\n );\n};\n\n// Create a custom hook to use the app state context.\nexport const useFindMyBlocks = () => {\n const context = useContext(FindMyBlocksContext);\n if (!context) {\n throw new Error(\n \"useFindMyBlocks must be used within an FindMyBlocksProvider\"\n );\n }\n return context;\n};\n","/**\n * Global fmbGlobal\n */\nimport { useState, useEffect, useRef } from \"@wordpress/element\";\nimport { __ } from \"@wordpress/i18n\";\nimport apiFetch from \"@wordpress/api-fetch\";\n/**\n * Fetch the blocks from the server.\n * the blocks contain the following fields.\n *\n * count, edit_url, id, isNested, isReusable, nestedBlockType, postType, post_url, status, title\n */\nexport const useFinder = ({\n searchArgs = {},\n cachedFoundBlocks = [],\n setCachedFoundBlocks,\n}) => {\n const filtersDefault = {\n name: false,\n blockProvider: false,\n hasConditionalBlocks: false,\n };\n\n const [foundBlocks, setFoundBlocks] = useState([]);\n const [filters, setFilters] = useState(filtersDefault);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [progress, setProgress] = useState({\n currentPage: 0,\n totalPages: 0,\n percentage: 0,\n totalPosts: 0,\n totalBlocks: 0,\n totalScannedPosts: 0,\n });\n\n const [sortOrder, setSortOrder] = useState(\"asc\"); // 'asc' for ascending, 'desc' for descending.\n\n const abortControllerRef = useRef(null);\n\n /**\n * Abort the search.\n */\n const abortSearch = () => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n console.log(\"Search aborted by user.\");\n setError(new Error(__(\"Search aborted by user\", \"find-my-blocks\"))); // Set an error state indicating the search was aborted\n }\n };\n\n /**\n * Get the posts with a specific block.\n * @param {string} blockName - The name of the block.\n * @returns {Array} The posts with the block.\n */\n const postsWithBlock = (blockName) => {\n const block = withFilters(foundBlocks).find(\n (block) => block.name === blockName\n );\n\n return block ? block.posts : [];\n };\n\n /**\n * Start the search.\n */\n const startSearch = async () => {\n reset();\n setIsLoading(true);\n // Create a new instance of AbortController for the entire batch search\n const controller = new AbortController();\n abortControllerRef.current = controller; // Keep a reference to the controller\n\n let currentPage = 1;\n let totalPages = 0;\n let totalPosts = 0;\n let totalScannedPosts = 0;\n let localBatchResults = []; // Local variable to keep track of batch results.\n let totalBlockInstances = 0; // Keep track of total block instances detected.\n let searchStatus = \"in_process\"; // Track the search status\n\n try {\n while (\n (currentPage <= totalPages || currentPage === 1) &&\n !abortControllerRef.current.signal.aborted &&\n searchStatus === \"in_process\" // Check if the search is still in process\n ) {\n const timeoutId = setTimeout(() => controller.abort(), 15000); // Abort the search after 15 seconds of inactivity.\n\n const queryString = new URLSearchParams({\n ...searchArgs,\n paged: currentPage,\n }).toString();\n\n try {\n const searchResponse = await apiFetch({\n path: `find-my-blocks/v1/search?${queryString}`,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n // Add a 1 second delay between requests to avoid server overload.\n await new Promise((resolve) => setTimeout(resolve, 1000));\n\n // Exit early if no data is returned.\n if (!searchResponse?.data) {\n throw new Error(\"No data returned from the server.\");\n }\n\n const { blocks, scanned_posts, total_posts, total_pages } =\n searchResponse.data;\n\n if (currentPage === 1) {\n totalPages = total_pages;\n totalPosts = total_posts;\n }\n\n totalBlockInstances += blocks.reduce(\n (sum, block) => sum + block.posts.length,\n 0\n );\n\n totalScannedPosts += scanned_posts;\n\n setProgress({\n currentPage,\n totalPages: totalPages,\n percentage: Math.round((currentPage / totalPages) * 100),\n totalBlocks: totalBlockInstances,\n totalPosts: totalPosts,\n totalScannedPosts: totalScannedPosts, // Some might have been skipped server side.\n });\n\n localBatchResults = localBatchResults.concat(blocks);\n\n currentPage++;\n\n if (currentPage > total_pages) {\n searchStatus = \"completed\"; // All pages of the WP_Query has been scanned.\n break;\n }\n } catch (error) {\n clearTimeout(timeoutId);\n\n if (error.name === \"AbortError\") {\n console.error(\n \"Search aborted or timeout reached - Please try lower the amount of posts to search per request.\",\n error\n );\n setError(\n new Error(\n \"Abort/timeout error. Try choosing a lower amount of posts to search per request.\"\n )\n );\n } else {\n console.error(\"Error fetching blocks:\", error);\n setError(error);\n }\n\n searchStatus = \"failed\"; // Update the search status to failed\n break;\n }\n }\n } finally {\n abortControllerRef.current = null;\n\n if (searchStatus === \"completed\" && localBatchResults.length > 0) {\n const mergedBlocks = mergeBlocks(localBatchResults);\n const sortedBlocks = changeBlockSorting(sortOrder, mergedBlocks);\n\n setFilters(filtersDefault);\n setFoundBlocks(sortedBlocks);\n setCachedFoundBlocks(sortedBlocks);\n } else {\n setError(\n new Error(\"Search completed with no results or an error occurred.\")\n );\n\n reset();\n }\n\n // Add a 1 second delay to view the finished search stats.\n await new Promise((resolve) => setTimeout(resolve, 1000));\n\n setIsLoading(false);\n }\n };\n\n /**\n * Reset the search state to its initial values.\n */\n const reset = () => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n setFoundBlocks([]);\n setCachedFoundBlocks([]);\n setIsLoading(false);\n setError(null);\n setProgress({\n currentPage: 0,\n totalPages: 0,\n percentage: 0,\n totalPosts: 0,\n totalBlocks: 0,\n totalScannedPosts: 0,\n });\n setSortOrder(\"asc\");\n };\n\n let firstLoad = true;\n\n useEffect(() => {\n if (firstLoad && cachedFoundBlocks && cachedFoundBlocks.length > 0) {\n firstLoad = false;\n setFoundBlocks(changeBlockSorting(sortOrder, cachedFoundBlocks));\n }\n }, [cachedFoundBlocks]);\n\n const changeBlockSorting = (order, foundBlocks) => {\n // First, sort the blocks\n const sortedBlocks = [...foundBlocks].sort((a, b) => {\n if (order === \"asc\") {\n return a.name.localeCompare(b.name);\n } else {\n return b.name.localeCompare(a.name);\n }\n });\n\n // Then, sort the posts within each block\n sortedBlocks.forEach((block) => {\n if (block.posts && Array.isArray(block.posts)) {\n block.posts.sort((a, b) => {\n if (order === \"asc\") {\n return a.title.localeCompare(b.title);\n } else {\n return b.title.localeCompare(a.title);\n }\n });\n }\n });\n\n return sortedBlocks;\n };\n\n const withFilters = (blocks) => {\n if (filters.name) {\n blocks = blocks.filter((block) =>\n block.name.toLowerCase().includes(filters.name.toLowerCase())\n );\n }\n\n if (filters.blockProvider) {\n blocks = blocks.filter((block) =>\n block.name\n .split(\"/\")[0]\n .toLowerCase()\n .includes(filters.blockProvider.toLowerCase())\n );\n }\n\n /**\n * Conditional Blocks Integration.\n */\n if (filters.hasConditionalBlocks) {\n blocks = blocks\n .map((block) => {\n // Filter out posts that do not have hasConditionalBlocks\n const filteredPosts = block.posts.filter(\n (post) => post.hasConditionalBlocks\n );\n // Return the block with the filtered posts, or null if no posts left\n return filteredPosts.length > 0\n ? { ...block, posts: filteredPosts }\n : null;\n })\n .filter((block) => block !== null); // Remove blocks that have no posts left\n }\n\n return blocks;\n };\n\n return {\n reset,\n foundBlocks,\n withFilters,\n setFilters,\n isLoading,\n error,\n startSearch,\n abortSearch,\n progress,\n postsWithBlock,\n };\n};\n\n/**\n * Merge blocks from different requests.\n * @param {Array} blocks - The blocks to merge.\n * @returns {Array} The merged blocks.\n */\nconst mergeBlocks = (blocks) => {\n const blockMap = new Map();\n\n blocks.forEach((newBlock) => {\n if (blockMap.has(newBlock.name)) {\n // Merge posts if the block already exists\n const existingBlock = blockMap.get(newBlock.name);\n newBlock.posts.forEach((newPost) => {\n const existingPostIndex = existingBlock.posts.findIndex(\n (post) => post.id === newPost.id\n );\n if (existingPostIndex !== -1) {\n // Combine the count if the post already exists\n existingBlock.posts[existingPostIndex].count += newPost.count;\n } else {\n // Add the new post if it doesn't exist\n existingBlock.posts.push(newPost);\n }\n });\n } else {\n // Add the new block if it doesn't exist\n blockMap.set(newBlock.name, {\n ...newBlock,\n posts: [...newBlock.posts],\n });\n }\n });\n\n // Convert the map back to an array\n return Array.from(blockMap.values());\n};\n","import { useState, useEffect, useCallback } from \"@wordpress/element\";\n/**\n * Helper for setting local storage. useEffect to prevent hydration errors.\n * @param {*} key\n * @returns\n */\n// A simple pub-sub mechanism for preferences\nconst preferenceSubscribers = new Map();\n\nconst notifyPreferenceSubscribers = (key, value) => {\n const callbacks = preferenceSubscribers.get(key) || [];\n callbacks.forEach((callback) => callback(value));\n};\n\nconst subscribeToPreference = (key, callback) => {\n if (!preferenceSubscribers.has(key)) {\n preferenceSubscribers.set(key, []);\n }\n preferenceSubscribers.get(key).push(callback);\n};\n\nconst unsubscribeFromPreference = (key, callback) => {\n const callbacks = preferenceSubscribers.get(key) || [];\n const index = callbacks.indexOf(callback);\n if (index > -1) {\n callbacks.splice(index, 1);\n }\n};\n\n/**\n * Helper for setting local storage. useEffect to prevent hydration errors.\n * @param {*} key\n * @returns\n */\nexport const useLocalStorage = (key, defaultValue) => {\n const [data, setData] = useState(defaultValue);\n const [initialLoad, setInitialLoad] = useState(true);\n\n useEffect(() => {\n if (initialLoad) {\n setInitialLoad(false);\n const existingData = JSON.parse(localStorage.getItem(key));\n setData(existingData ?? defaultValue);\n }\n }, [initialLoad, key, defaultValue]);\n\n useEffect(() => {\n const handleDataChange = (newData) => {\n setData(newData);\n };\n\n subscribeToPreference(key, handleDataChange);\n\n return () => {\n unsubscribeFromPreference(key, handleDataChange);\n };\n }, [key]);\n\n const saveDataToLocalStorage = useCallback(\n (newData) => {\n localStorage.setItem(key, JSON.stringify(newData));\n notifyPreferenceSubscribers(key, newData);\n },\n [key]\n );\n\n return [data, saveDataToLocalStorage];\n};\n","/**\n * Global fmbGlobal\n */\nimport { useLocalStorage } from \"./useLocalStorage.js\";\n/**\n * Store preferences & settings in local storage.\n */\nexport const usePreferences = () => {\n const [selectedBlock, setSelectedBlock] = useLocalStorage(\n \"fmb_selected_block\",\n \"\"\n );\n const [postsPerRun, setPostsPerRun] = useLocalStorage(\n \"fmb_posts_per_run\",\n 10\n );\n const [cachedFoundBlocks, setCachedFoundBlocks] = useLocalStorage(\n \"fmb_found_blocks\",\n false\n );\n const [selectedProvider, setSelectedProvider] = useLocalStorage(\n \"fmb_selected_provider\",\n false\n );\n const [versionCache, setVersionCache] = useLocalStorage(\n \"fmb_version_cache\",\n false\n );\n const [conditionalBlocks, setConditionalBlocks] = useLocalStorage(\n \"fmb_conditional_blocks\",\n false\n );\n\n return {\n cachedFoundBlocks:\n fmbGlobal.version === versionCache ? cachedFoundBlocks : false,\n setCachedFoundBlocks: (value) => {\n setVersionCache(fmbGlobal.version);\n setSelectedProvider(false);\n setSelectedBlock(false);\n setConditionalBlocks(false);\n setCachedFoundBlocks(value);\n },\n selectedBlock,\n setSelectedBlock,\n selectedProvider,\n setSelectedProvider,\n postsPerRun: parseInt(postsPerRun),\n setPostsPerRun,\n conditionalBlocks,\n setConditionalBlocks,\n };\n};\n","/**\n * global fmbGlobal\n */\nimport { Fragment, useState } from \"@wordpress/element\";\nimport { __ } from \"@wordpress/i18n\";\nimport { CardGrid } from \"../components/PostCards/PostCards.js\";\nimport BlockNavigation from \"../components/BlockNavigation/index.js\";\nimport { useFindMyBlocks } from \"../context/FindMyBlocksContext.js\";\nimport { getUniqueProviders } from \"../utils/functions.js\";\nimport {\n Button,\n ExternalLink,\n RadioControl,\n Notice,\n ComboboxControl,\n SearchControl,\n CheckboxControl,\n} from \"@wordpress/components\";\n\n/**\n * Overview Page.\n */\nfunction SearchPage() {\n const { finder, preferences } = useFindMyBlocks();\n\n const {\n foundBlocks,\n startSearch,\n abortSearch,\n progress,\n isLoading,\n error,\n postsWithBlock,\n } = finder;\n\n const { selectedBlock, postsPerRun, setPostsPerRun } = preferences;\n\n if (isLoading)\n return (\n <div className=\"fmb-bento-container\">\n <div className=\"fmb-bento-grid\">\n <div className=\"fmb-box fmb-box-full\">\n <h2>{__(\"Searching for your blocks...\", \"find-my-blocks\")}</h2>\n <p>\n {__(\"Progress:\", \"find-my-blocks\")} {progress.percentage}%\n </p>\n <p>\n {__(\"Scanning batch\", \"find-my-blocks\")} {progress.currentPage}{\" \"}\n {__(\"out of\", \"find-my-blocks\")} {progress.totalPages}\n </p>\n <p>\n {__(\"Total block instances detected:\", \"find-my-blocks\")}{\" \"}\n {progress.totalBlocks}\n {\" \" + __(\"in\", \"find-my-blocks\")} {progress.totalScannedPosts}\n {\" \" + __(\"locations.\", \"find-my-blocks\")}\n </p>\n <Button\n onClick={() => abortSearch()}\n isDestructive\n isPrimary\n disabled={!isLoading}\n >\n {__(\"Abort Search\", \"find-my-blocks\")}\n </Button>\n </div>\n </div>\n </div>\n );\n\n const posts = postsWithBlock(selectedBlock);\n\n if (!error && foundBlocks.length > 0) {\n return (\n <Fragment>\n <div className=\"fmb-container\">\n <div className=\"fmb-grid-results-page\">\n <div className=\"fmb-box\">\n <h2>{__(\"Filters\", \"find-my-blocks\")}</h2>\n <div className=\"fmb-search-filters\">\n <SearchFilter />\n <BlockProviderFilter />\n {fmbGlobal?.conditional_blocks_installed && (\n <ConditionalBlocksFilter />\n )}\n </div>\n <h2>{__(\"Found Blocks\", \"find-my-blocks\")}</h2>\n <p>\n {__(\n \"The below blocks have been detected during the scan.\",\n \"find-my-blocks\"\n )}\n </p>\n <nav className=\"fmb-side-navigation\">\n <BlockNavigation />\n </nav>\n </div>\n\n <div>\n {selectedBlock && (\n <Fragment>\n <h2>\n <span className=\"fmb-badge\">{selectedBlock}</span>\n </h2>\n {posts?.length > 0 && (\n <p>\n {__(\"Instances of the\", \"find-my-blocks\")}{\" \"}\n <b>{selectedBlock}</b>{\" \"}\n {__(\"block has been found in these\", \"find-my-blocks\")}{\" \"}\n {posts.length ?? 0} {__(\"locations.\", \"find-my-blocks\")}\n </p>\n )}\n </Fragment>\n )}\n <CardGrid blockName={selectedBlock} posts={posts}></CardGrid>\n </div>\n </div>\n </div>\n </Fragment>\n );\n }\n\n return (\n <Fragment>\n <ErrorNotice error={error} />\n <div className=\"fmb-bento-container\">\n <div className=\"fmb-bento-grid\">\n <div className=\"fmb-box fmb-box-full\">\n <h2>{__(\"Get Started\", \"find-my-blocks\")}</h2>\n <p>\n {__(\n \"Find My Blocks will search through all your templates, posts and pages to find the WordPress blocks.\",\n \"find-my-blocks\"\n )}\n </p>\n\n <RadioControl\n className=\"fmb-performance-control\"\n label=\"Performance\"\n help={__(\n \"Warning! Choose the performance level that matches your server. Fetching too may posts at once may temporarily crash your site.\",\n \"find-my-blocks\"\n )}\n onChange={(val) => {\n setPostsPerRun(val);\n }}\n options={[\n {\n label: __(\n \"Low (Recommended for most sites, 10 post per run)\",\n \"find-my-blocks\"\n ),\n value: 10,\n },\n {\n label: __(\"Standard (100 posts per run)\", \"find-my-blocks\"),\n value: 100,\n },\n {\n label: __(\"Ultra (500 posts per run)\", \"find-my-blocks\"),\n value: 500,\n },\n ]}\n selected={postsPerRun ?? 10}\n />\n\n <Button\n onClick={() => startSearch()}\n isPrimary\n disabled={isLoading}\n >\n {__(\"Start Search\", \"find-my-blocks\")}\n </Button>\n </div>\n <div className=\"fmb-box\">\n <h2>{__(\"Block Tools & Resources\", \"find-my-blocks\")}</h2>\n <p>\n {__(\n \"Create faster & better WordPress sites with block tutorials from experts.\",\n \"find-my-blocks\"\n )}\n </p>\n <ul>\n <li>\n <ExternalLink\n href=\"https://findmyblocks.com?utm_source=wordpress_site&utm_medium=start&utm_campaign=find_my_blocks_active_install\"\n target=\"_blank\"\n >\n findmyblocks.com\n </ExternalLink>\n </li>\n <li>\n <ExternalLink\n href=\"https://conditionalblocks.com/?utm_source=wordpress_site&utm_medium=start&utm_campaign=find_my_blocks_active_install\"\n target=\"_blank\"\n >\n Conditional Blocks plugin\n </ExternalLink>\n </li>\n <li>\n <ExternalLink\n href=\"https://morganhvidt.com/?utm_source=wordpress_site&utm_medium=start&utm_campaign=find_my_blocks_active_install\"\n target=\"_blank\"\n >\n @MorganHvidt\n </ExternalLink>\n {__(\"(Developer) \", \"find-my-blocks\")}\n </li>\n </ul>\n </div>\n <div className=\"fmb-box\">\n <h2>{__(\"Support Development\", \"find-my-blocks\")}</h2>\n <p>\n {__(\n \"I'm building Find My Blocks in my free time. If you find it useful, please consider donating, or contributing to the project.\",\n \"find-my-blocks\"\n )}{\" \"}\n <em>- Morgan Hvidt</em>\n </p>\n <div style={{ marginTop: \"30px\" }}>\n <Button\n isSecondary\n target=\"_blank\"\n href=\"https://github.com/morganhvidt/find-my-blocks/\"\n >\n {__(\"Contribute on Github\", \"find-my-blocks\")}\n </Button>{\" \"}\n <Button\n style={{ marginLeft: \"10px\" }}\n isSecondary\n target=\"_blank\"\n href=\"https://morganhvidt.com/donate/\"\n >\n {__(\"Donate to development\", \"find-my-blocks\")}\n </Button>\n </div>\n </div>\n </div>\n </div>\n </Fragment>\n );\n}\n\nconst ErrorNotice = ({ error }) => {\n if (error) {\n return <Notice status=\"error\">{error.message}</Notice>;\n }\n\n return null;\n};\n\nfunction SearchFilter({ className }) {\n const { finder, preferences } = useFindMyBlocks();\n\n const [searchInput, setSearchInput] = useState(\"\");\n\n const handleSearch = (value) => {\n setSearchInput(value);\n finder.setFilters((prev) => ({\n ...prev,\n name: value.length ? value : false,\n }));\n };\n\n return <SearchControl value={searchInput} onChange={handleSearch} />;\n}\n\n/**\n * Component for filtering block providers.\n */\nfunction BlockProviderFilter() {\n const { finder, preferences } = useFindMyBlocks();\n\n const [blockProvider, setBlockProvider] = useState(\n preferences?.selectedProvider ?? false\n );\n\n const handleChange = (value) => {\n setBlockProvider(value);\n preferences?.setSelectedProvider(value);\n finder.setFilters((prev) => ({\n ...prev,\n blockProvider: value ?? false,\n }));\n };\n\n const providers = getUniqueProviders(finder.foundBlocks);\n\n return (\n <ComboboxControl\n allowReset\n label=\"Block Provider\"\n help=\"Core or third-party block providers\"\n value={blockProvider}\n onChange={handleChange}\n options={providers}\n onFilterValueChange={(inputValue) =>\n setBlockProvider(\n providers.filter((option) =>\n option.label.toLowerCase().startsWith(inputValue.toLowerCase())\n )\n )\n }\n />\n );\n}\n/**\n * Conditional Blocks Integration.\n */\nconst ConditionalBlocksFilter = () => {\n const { finder, preferences } = useFindMyBlocks();\n\n const [isChecked, setChecked] = useState(\n preferences?.conditionalBlocks ? true : false\n );\n\n const handleChange = (value) => {\n setChecked(value ? true : false);\n preferences?.setConditionalBlocks(value ? true : false);\n finder.setFilters((prev) => ({\n ...prev,\n hasConditionalBlocks: value ? true : false,\n }));\n };\n\n return (\n <CheckboxControl\n label=\"Conditional Blocks\"\n help={__(\n \"Only blocks with visibility changed by the Conditional Blocks plugin\",\n \"find-my-blocks\"\n )}\n checked={isChecked}\n onChange={handleChange}\n />\n );\n};\n\nexport default SearchPage;\n","/**\n * Get unique providers from a list of blocks.\n * @param {Array} blocks - The list of blocks.\n * @returns {Array} The unique providers.\n */\nexport function getUniqueProviders(blocks) {\n return blocks.reduce((uniqueProviders, block) => {\n const provider = block.name.split(\"/\")[0] ?? false;\n if (!uniqueProviders.some((prov) => prov.value === provider)) {\n uniqueProviders.push({ value: provider, label: provider });\n }\n return uniqueProviders;\n }, []);\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/**\n * global fmbGlobal\n */\nimport { Fragment, render, createRoot } from \"@wordpress/element\";\nimport { __ } from \"@wordpress/i18n\";\nimport SearchPage from \"./pages/SearchPage.js\";\nimport { FindMyBlocksProvider } from \"./context/FindMyBlocksContext.js\";\nimport PageHeader from \"./components/PageHeader/PageHeader.js\";\n\n/**\n * Embed our App to the HTML.\n */\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n const target = document.getElementById(\"find-my-blocks-app\");\n\n if (target) {\n if (createRoot) {\n createRoot(target).render(<App />);\n } else {\n render(<App />, target);\n }\n }\n});\n\n/**\n * Render Our App.\n */\nexport function App() {\n return (\n <Fragment>\n <FindMyBlocksProvider>\n <PageHeader />\n <SearchPage />\n </FindMyBlocksProvider>\n </Fragment>\n );\n}\n"],"names":["module","exports","window","BlockNavigation","finder","preferences","useFindMyBlocks","setSelectedBlock","foundBlocks","withFilters","currentActive","setCurrentActive","useState","filteredBlocks","createElement","className","style","navigation","map","block","key","name","active","onClick","handleLinkClick","blockName","subtitle","__","posts","length","PageHeader","children","isLoading","reset","startSearch","wrapper","header","container","logo","src","Logo","alt","headerNavigation","Button","icon","isPrimary","disabled","DropdownMenu","label","onClose","Fragment","MenuGroup","MenuItem","href","fmbGlobal","admin_url","target","Card","post","tags","hasConditionalBlocks","push","help","ExternalLink","variation","isSyncedPattern","count","isNested","nestedBlockType","getTags","WPCard","size","CardHeader","isBorderless","title","postType","isThirdPartyTemplate","templateProvider","isTertiary","post_url","edit_url","CardDivider","CardBody","tag","Tag","CardGrid","index","id","tagClass","classNames","classes","filter","Boolean","join","Icon","FindMyBlocksContext","createContext","FindMyBlocksProvider","_preferences$cachedFo","usePreferences","searchArgs","posts_per_page","postsPerRun","contextValue","useFinder","cachedFoundBlocks","setCachedFoundBlocks","Provider","value","context","useContext","Error","filtersDefault","blockProvider","setFoundBlocks","filters","setFilters","setIsLoading","error","setError","progress","setProgress","currentPage","totalPages","percentage","totalPosts","totalBlocks","totalScannedPosts","sortOrder","setSortOrder","abortControllerRef","useRef","current","abort","firstLoad","useEffect","changeBlockSorting","order","sortedBlocks","sort","a","b","localeCompare","forEach","Array","isArray","blocks","toLowerCase","includes","split","filteredPosts","async","controller","AbortController","localBatchResults","totalBlockInstances","searchStatus","signal","aborted","timeoutId","setTimeout","queryString","URLSearchParams","paged","toString","searchResponse","apiFetch","path","clearTimeout","Promise","resolve","data","scanned_posts","total_posts","total_pages","reduce","sum","Math","round","concat","console","mergedBlocks","mergeBlocks","abortSearch","log","postsWithBlock","find","blockMap","Map","newBlock","has","existingBlock","get","newPost","existingPostIndex","findIndex","set","from","values","preferenceSubscribers","useLocalStorage","defaultValue","setData","initialLoad","setInitialLoad","existingData","JSON","parse","localStorage","getItem","handleDataChange","newData","subscribeToPreference","callback","unsubscribeFromPreference","callbacks","indexOf","splice","useCallback","setItem","stringify","notifyPreferenceSubscribers","selectedBlock","setPostsPerRun","selectedProvider","setSelectedProvider","versionCache","setVersionCache","conditionalBlocks","setConditionalBlocks","version","parseInt","ErrorNotice","Notice","status","message","SearchFilter","searchInput","setSearchInput","SearchControl","onChange","prev","BlockProviderFilter","_preferences$selected","setBlockProvider","providers","getUniqueProviders","ComboboxControl","allowReset","options","onFilterValueChange","inputValue","option","startsWith","ConditionalBlocksFilter","isChecked","setChecked","CheckboxControl","checked","isDestructive","_posts$length","conditional_blocks_installed","RadioControl","val","selected","marginTop","isSecondary","marginLeft","uniqueProviders","_block$name$split$","provider","some","prov","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","definition","o","Object","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","call","App","SearchPage","document","addEventListener","getElementById","createRoot","render"],"sourceRoot":""}1 {"version":3,"file":"find-my-blocks.js","mappings":"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","sources":["webpack://find-my-blocks/./src/assets/images/find-my-blocks-logo-full.svg","webpack://find-my-blocks/./src/assets/js/components/BlockNavigation/BlockNavigation.module.css?5aa6","webpack://find-my-blocks/./src/assets/js/components/PageHeader/PageHeader.module.css?b4c4","webpack://find-my-blocks/./src/assets/js/components/Tag/Tag.module.css?f54f","webpack://find-my-blocks/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://find-my-blocks/./node_modules/react/jsx-runtime.js","webpack://find-my-blocks/external window \"React\"","webpack://find-my-blocks/external window \"ReactDOM\"","webpack://find-my-blocks/external window [\"wp\",\"apiFetch\"]","webpack://find-my-blocks/external window [\"wp\",\"components\"]","webpack://find-my-blocks/external window [\"wp\",\"element\"]","webpack://find-my-blocks/external window [\"wp\",\"i18n\"]","webpack://find-my-blocks/./src/assets/js/components/BlockNavigation/index.js","webpack://find-my-blocks/./src/assets/js/components/PageHeader/PageHeader.js","webpack://find-my-blocks/./src/assets/js/components/PostCards/PostCards.js","webpack://find-my-blocks/./src/assets/js/components/Tag/Tag.js","webpack://find-my-blocks/./src/assets/js/context/FindMyBlocksContext.js","webpack://find-my-blocks/./src/assets/js/hooks/useFinder.js","webpack://find-my-blocks/./src/assets/js/hooks/useIndexedDB.js","webpack://find-my-blocks/./src/assets/js/hooks/useLocalStorage.js","webpack://find-my-blocks/./src/assets/js/hooks/usePreferences.js","webpack://find-my-blocks/./src/assets/js/pages/SearchPage.js","webpack://find-my-blocks/./src/assets/js/utils/functions.js","webpack://find-my-blocks/./node_modules/virtua/lib/index.mjs","webpack://find-my-blocks/webpack/bootstrap","webpack://find-my-blocks/webpack/runtime/compat get default export","webpack://find-my-blocks/webpack/runtime/define property getters","webpack://find-my-blocks/webpack/runtime/hasOwnProperty shorthand","webpack://find-my-blocks/./src/assets/js/find-my-blocks.js"],"sourcesContent":["var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgFindMyBlocksLogoFull = function SvgFindMyBlocksLogoFull(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 394,\n height: 100,\n fill: \"none\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#E22F22\",\n d: \"M104.507 62q-.718 0-1.113-.39-.394-.389-.394-1.097V39.487q0-.708.394-1.097.394-.39 1.111-.39h13.19q.716 0 1.111.39.394.39.394 1.097 0 .708-.394 1.098-.395.39-1.111.389h-11.684v7.433h7.204q.716 0 1.111.39.394.39.394 1.097 0 .708-.394 1.097-.395.39-1.111.39h-7.204v9.132q0 .708-.395 1.098-.393.39-1.111.389zm19.914 0q-.789 0-1.147-.354-.359-.354-.359-1.133v-20.99q0-.78.359-1.133.358-.354 1.147-.354.788 0 1.146.354.359.354.359 1.133v20.99q0 .78-.359 1.133-.358.354-1.146.354m27.131-24q.717 0 1.111.39t.394 1.097v21.026q0 .708-.394 1.098t-1.111.389q-.43 0-.789-.212a2.7 2.7 0 0 1-.717-.673l-13.655-17.38v16.778q0 .708-.394 1.098t-1.111.389-1.111-.39-.394-1.097V39.487q0-.708.394-1.097.394-.39 1.111-.39.43 0 .753.213.358.213.752.673l13.655 17.38V39.487q0-.708.395-1.097.394-.39 1.111-.39m10.459 24q-.717 0-1.111-.39-.394-.389-.394-1.097V39.487q0-.708.394-1.097.394-.39 1.111-.39h8.638q4.695 0 6.881 2.195 2.222 2.16 2.222 6.797v6.017q0 4.637-2.222 6.832Q175.344 62 170.649 62zm8.638-2.973q2.329 0 3.62-.567a3.52 3.52 0 0 0 1.899-1.84q.574-1.31.574-3.61v-6.018q0-2.301-.574-3.576a3.5 3.5 0 0 0-1.899-1.876q-1.291-.566-3.62-.566h-7.133v18.053zM218.932 38q1.218 0 1.218 1.486v21.026q0 .708-.394 1.098t-1.111.389-1.111-.39-.394-1.097V44.124l-6.595 9.593q-.359.495-.788.743a2.3 2.3 0 0 1-1.04.213q-.43 0-.788-.213a3.6 3.6 0 0 1-.681-.743l-6.631-9.628v16.424q0 .708-.394 1.098t-1.111.389-1.111-.39-.394-1.097V39.487q0-.708.394-1.097.394-.39 1.111-.39 1.004.001 1.649.956l8.171 12.142 8.172-12.142q.609-.955 1.828-.955m25.372.354q.788.495.788 1.168 0 .424-.322.85l-8.53 12.92v7.22q0 .708-.395 1.098-.394.39-1.111.389-.717 0-1.111-.39-.394-.389-.394-1.097v-7.22l-8.207-12.92q-.288-.496-.287-.886 0-.742.753-1.203.501-.283.896-.283.68 0 1.182.743l7.168 11.362 7.527-11.362q.43-.708 1.147-.708.43 0 .896.319m31.886 10.017q2.83 1.629 2.831 5.77v1.203q0 3.257-1.756 4.956-1.72 1.7-5.018 1.699h-9.82q-.717 0-1.111-.39-.394-.389-.394-1.097V39.487q0-.708.394-1.097.394-.39 1.111-.39h9.354q2.832 0 4.373 1.487 1.54 1.486 1.541 4.248v.956q0 1.133-.394 2.088a4.3 4.3 0 0 1-1.111 1.593m-12.258-.85h8.96q.933-.105 1.362-.849.43-.78.43-1.982v-.956q0-1.522-.645-2.124-.644-.637-2.258-.637h-7.849zm12.078 6.62q0-1.983-.86-2.797-.86-.85-2.903-.85h-8.315v8.532h8.315q2.007 0 2.867-.85.897-.849.896-2.832zM286.543 62q-1.505 0-1.505-1.487V39.487q0-1.486 1.505-1.486t1.505 1.486v19.54h9.928q1.505 0 1.505 1.486 0 1.487-1.505 1.487zm24.354 0q-4.122 0-6.093-1.911-1.937-1.947-1.937-6.018v-8.177q0-4.071 1.973-5.982 1.971-1.947 6.057-1.911h4.299q4.122 0 6.057 1.947 1.974 1.911 1.973 5.982v8.141q0 4.071-1.973 6.018Q319.318 62 315.196 62zm4.299-2.973q1.972 0 3.012-.46a2.86 2.86 0 0 0 1.54-1.487q.467-1.062.466-3.009V45.93q.001-1.912-.466-2.974a2.85 2.85 0 0 0-1.54-1.522q-1.076-.46-3.012-.46h-4.299q-1.937-.036-3.012.425a2.84 2.84 0 0 0-1.54 1.522q-.466 1.062-.466 2.973v8.177q0 1.946.466 3.009a2.87 2.87 0 0 0 1.504 1.486q1.075.46 3.048.46zM336.97 62q-4.12 0-6.092-1.911-1.936-1.947-1.936-6.018V45.93q0-4.071 1.936-6.018 1.971-1.947 6.057-1.911h4.336q3.37 0 5.126 1.38 1.791 1.38 2.078 4.319.107.743-.286 1.132-.395.39-1.147.39-.717 0-1.111-.354-.359-.39-.466-1.133-.18-1.593-1.111-2.16-.933-.6-3.083-.601h-4.336q-1.936-.036-3.011.425a2.85 2.85 0 0 0-1.541 1.522q-.43 1.061-.43 3.009v8.141q0 1.946.466 3.009.465 1.026 1.505 1.486 1.075.46 3.046.46h4.301q2.15 0 3.083-.566.931-.6 1.111-2.194.107-.744.466-1.098.394-.39 1.111-.389.752 0 1.147.39.393.389.286 1.132-.287 2.938-2.078 4.319Q344.64 62 341.271 62zm33.45-2.584q.394.495.394.991 0 .637-.609 1.097a1.45 1.45 0 0 1-1.004.39q-.645 0-1.111-.602l-8.78-10.725-1.542 1.593v8.353q0 .708-.394 1.098t-1.111.389-1.111-.39-.394-1.097V39.487q0-.708.394-1.097.394-.39 1.111-.39t1.111.39q.394.39.394 1.097v8.425l9.14-9.345q.537-.531 1.075-.531t1.039.496q.538.531.538 1.062 0 .53-.502 1.026l-7.598 7.787zM381.85 62q-3.083 0-4.802-1.203-1.684-1.24-2.115-3.788-.072-.743.322-1.133.395-.424 1.147-.424.717 0 1.076.354.358.318.501 1.097.252 1.204 1.111 1.663.897.46 2.76.46h5.161q1.577 0 2.401-.353a2.164 2.164 0 0 0 1.219-1.168q.358-.85.358-2.372 0-2.266-.86-3.115t-3.118-.85h-4.444q-3.37 0-5.018-1.628t-1.648-4.99q0-3.33 1.612-4.921Q379.163 38 382.531 38h4.265q5.663 0 6.523 4.672.108.744-.287 1.168-.394.39-1.182.39-.717 0-1.076-.354-.358-.354-.466-1.098-.286-1.026-1.075-1.416t-2.437-.389h-4.265q-1.47 0-2.258.319a1.97 1.97 0 0 0-1.075 1.097q-.287.743-.287 2.16 0 1.45.323 2.23.322.742 1.075 1.096.789.32 2.258.32h4.444q3.549 0 5.269 1.698 1.72 1.7 1.72 5.239 0 3.504-1.72 5.203Q390.56 62 387.011 62zM36.736 0 0 19.258l.471 44.315 22.37 12.761L36.972 100 50.63 76.334 73 63.69v-44.2zM29.67 64.27l-15.306-8.585V35.498l15.306 9.049V64.27M21.9 23.433l14.835-7.657 14.6 7.657-14.6 8.585zm36.971 32.25L43.8 64.27V44.548l15.071-8.817z\"\n })));\n};\nexport { SvgFindMyBlocksLogoFull as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzk0IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDM5NCAxMDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMDQuNTA3IDYyQzEwNC4wMjkgNjIgMTAzLjY1NyA2MS44NzAyIDEwMy4zOTQgNjEuNjEwNkMxMDMuMTMxIDYxLjM1MSAxMDMgNjAuOTg1MyAxMDMgNjAuNTEzM1YzOS40ODczQzEwMyAzOS4wMTU0IDEwMy4xMzEgMzguNjQ5NiAxMDMuMzk0IDM4LjM5QzEwMy42NTcgMzguMTMwNCAxMDQuMDI3IDM4LjAwMDYgMTA0LjUwNSAzOC4wMDA2SDExNy42OTVDMTE4LjE3MiAzOC4wMDA2IDExOC41NDMgMzguMTMwNCAxMTguODA2IDM4LjM5QzExOS4wNjggMzguNjQ5NiAxMTkuMiAzOS4wMTU0IDExOS4yIDM5LjQ4NzNDMTE5LjIgMzkuOTU5MyAxMTkuMDY4IDQwLjMyNTEgMTE4LjgwNiA0MC41ODQ2QzExOC41NDMgNDAuODQ0MiAxMTguMTcyIDQwLjk3NCAxMTcuNjk1IDQwLjk3NEgxMDYuMDExVjQ4LjQwNzRIMTEzLjIxNUMxMTMuNjkyIDQ4LjQwNzQgMTE0LjA2MyA0OC41MzcyIDExNC4zMjYgNDguNzk2OEMxMTQuNTg4IDQ5LjA1NjQgMTE0LjcyIDQ5LjQyMjIgMTE0LjcyIDQ5Ljg5NDFDMTE0LjcyIDUwLjM2NjEgMTE0LjU4OCA1MC43MzE5IDExNC4zMjYgNTAuOTkxNEMxMTQuMDYzIDUxLjI1MSAxMTMuNjkyIDUxLjM4MDggMTEzLjIxNSA1MS4zODA4SDEwNi4wMTFWNjAuNTEzM0MxMDYuMDExIDYwLjk4NTMgMTA1Ljg3OSA2MS4zNTEgMTA1LjYxNiA2MS42MTA2QzEwNS4zNTQgNjEuODcwMiAxMDQuOTgzIDYyIDEwNC41MDUgNjJIMTA0LjUwN1pNMTI0LjQyMSA2MkMxMjMuODk1IDYyIDEyMy41MTMgNjEuODgyIDEyMy4yNzQgNjEuNjQ2QzEyMy4wMzUgNjEuNDEgMTIyLjkxNSA2MS4wMzI1IDEyMi45MTUgNjAuNTEzM1YzOS41MjI3QzEyMi45MTUgMzkuMDAzNiAxMjMuMDM1IDM4LjYyNiAxMjMuMjc0IDM4LjM5QzEyMy41MTMgMzguMTU0IDEyMy44OTUgMzguMDM2IDEyNC40MjEgMzguMDM2QzEyNC45NDYgMzguMDM2IDEyNS4zMjkgMzguMTU0IDEyNS41NjcgMzguMzlDMTI1LjgwNiAzOC42MjYgMTI1LjkyNiAzOS4wMDM2IDEyNS45MjYgMzkuNTIyN1Y2MC41MTMzQzEyNS45MjYgNjEuMDMyNSAxMjUuODA2IDYxLjQxIDEyNS41NjcgNjEuNjQ2QzEyNS4zMjkgNjEuODgyIDEyNC45NDYgNjIgMTI0LjQyMSA2MlpNMTUxLjU1MiAzOC4wMDA2QzE1Mi4wMyAzOC4wMDA2IDE1Mi40IDM4LjEzMDQgMTUyLjY2MyAzOC4zOUMxNTIuOTI2IDM4LjY0OTYgMTUzLjA1NyAzOS4wMTU0IDE1My4wNTcgMzkuNDg3M1Y2MC41MTMzQzE1My4wNTcgNjAuOTg1MyAxNTIuOTI2IDYxLjM1MSAxNTIuNjYzIDYxLjYxMDZDMTUyLjQgNjEuODcwMiAxNTIuMDMgNjIgMTUxLjU1MiA2MkMxNTEuMjY1IDYyIDE1MS4wMDIgNjEuOTI5MiAxNTAuNzYzIDYxLjc4NzZDMTUwLjQ4NCA2MS42MDkxIDE1MC4yNDEgNjEuMzgxMSAxNTAuMDQ2IDYxLjExNTFMMTM2LjM5MSA0My43MzVWNjAuNTEzM0MxMzYuMzkxIDYwLjk4NTMgMTM2LjI2IDYxLjM1MSAxMzUuOTk3IDYxLjYxMDZDMTM1LjczNCA2MS44NzAyIDEzNS4zNjQgNjIgMTM0Ljg4NiA2MkMxMzQuNDA4IDYyIDEzNC4wMzggNjEuODcwMiAxMzMuNzc1IDYxLjYxMDZDMTMzLjUxMiA2MS4zNTEgMTMzLjM4MSA2MC45ODUzIDEzMy4zODEgNjAuNTEzM1YzOS40ODczQzEzMy4zODEgMzkuMDE1NCAxMzMuNTEyIDM4LjY0OTYgMTMzLjc3NSAzOC4zOUMxMzQuMDM4IDM4LjEzMDQgMTM0LjQwOCAzOC4wMDA2IDEzNC44ODYgMzguMDAwNkMxMzUuMTczIDM4LjAwMDYgMTM1LjQyNCAzOC4wNzE0IDEzNS42MzkgMzguMjEzQzEzNS44NzggMzguMzU0NiAxMzYuMTI4IDM4LjU3ODggMTM2LjM5MSAzOC44ODU2TDE1MC4wNDYgNTYuMjY1NlYzOS40ODczQzE1MC4wNDYgMzkuMDE1NCAxNTAuMTc4IDM4LjY0OTYgMTUwLjQ0MSAzOC4zOUMxNTAuNzA0IDM4LjEzMDQgMTUxLjA3NCAzOC4wMDA2IDE1MS41NTIgMzguMDAwNlpNMTYyLjAxMSA2MkMxNjEuNTMzIDYyIDE2MS4xNjMgNjEuODcwMiAxNjAuOSA2MS42MTA2QzE2MC42MzcgNjEuMzUxIDE2MC41MDYgNjAuOTg1MyAxNjAuNTA2IDYwLjUxMzNWMzkuNDg3M0MxNjAuNTA2IDM5LjAxNTQgMTYwLjYzNyAzOC42NDk2IDE2MC45IDM4LjM5QzE2MS4xNjMgMzguMTMwNCAxNjEuNTMzIDM4LjAwMDYgMTYyLjAxMSAzOC4wMDA2SDE3MC42NDlDMTczLjc3OSAzOC4wMDA2IDE3Ni4wNzMgMzguNzMyMiAxNzcuNTMgNDAuMTk1M0MxNzkuMDExIDQxLjYzNDggMTc5Ljc1MiA0My45MDAyIDE3OS43NTIgNDYuOTkxNVY1My4wMDkxQzE3OS43NTIgNTYuMTAwNCAxNzkuMDExIDU4LjM3NzcgMTc3LjUzIDU5Ljg0MDhDMTc2LjA3MyA2MS4yODAyIDE3My43NzkgNjIgMTcwLjY0OSA2MkgxNjIuMDExWk0xNzAuNjQ5IDU5LjAyNjZDMTcyLjIwMiA1OS4wMjY2IDE3My40MDggNTguODM3OCAxNzQuMjY5IDU4LjQ2MDNDMTc1LjEyIDU4LjExNDEgMTc1LjgwMiA1Ny40NTM5IDE3Ni4xNjggNTYuNjE5NkMxNzYuNTUgNTUuNzQ2NSAxNzYuNzQyIDU0LjU0MyAxNzYuNzQyIDUzLjAwOTFWNDYuOTkxNUMxNzYuNzQyIDQ1LjQ1NzcgMTc2LjU1IDQ0LjI2NiAxNzYuMTY4IDQzLjQxNjRDMTc1LjgxMSA0Mi41Njc5IDE3NS4xMjggNDEuODkzNSAxNzQuMjY5IDQxLjU0MDRDMTczLjQwOCA0MS4xNjI4IDE3Mi4yMDIgNDAuOTc0IDE3MC42NDkgNDAuOTc0SDE2My41MTZWNTkuMDI2NkgxNzAuNjQ5Wk0yMTguOTMyIDM4LjAwMDZDMjE5Ljc0NCAzOC4wMDA2IDIyMC4xNSAzOC40OTYyIDIyMC4xNSAzOS40ODczVjYwLjUxMzNDMjIwLjE1IDYwLjk4NTMgMjIwLjAxOSA2MS4zNTEgMjE5Ljc1NiA2MS42MTA2QzIxOS40OTMgNjEuODcwMiAyMTkuMTIzIDYyIDIxOC42NDUgNjJDMjE4LjE2NyA2MiAyMTcuNzk3IDYxLjg3MDIgMjE3LjUzNCA2MS42MTA2QzIxNy4yNzEgNjEuMzUxIDIxNy4xNCA2MC45ODUzIDIxNy4xNCA2MC41MTMzVjQ0LjEyNDRMMjEwLjU0NSA1My43MTdDMjEwLjMwNiA1NC4wNDc0IDIxMC4wNDMgNTQuMjk1MiAyMDkuNzU3IDU0LjQ2MDRDMjA5LjQzMiA1NC42MTAxIDIwOS4wNzYgNTQuNjgyOCAyMDguNzE3IDU0LjY3MjhDMjA4LjQzIDU0LjY3MjggMjA4LjE2OCA1NC42MDIgMjA3LjkyOSA1NC40NjA0QzIwNy42NjcgNTQuMjQ1NSAyMDcuNDM4IDUzLjk5NTIgMjA3LjI0OCA1My43MTdMMjAwLjYxNyA0NC4wODlWNjAuNTEzM0MyMDAuNjE3IDYwLjk4NTMgMjAwLjQ4NiA2MS4zNTEgMjAwLjIyMyA2MS42MTA2QzE5OS45NiA2MS44NzAyIDE5OS41OSA2MiAxOTkuMTEyIDYyQzE5OC42MzQgNjIgMTk4LjI2NCA2MS44NzAyIDE5OC4wMDEgNjEuNjEwNkMxOTcuNzM4IDYxLjM1MSAxOTcuNjA3IDYwLjk4NTMgMTk3LjYwNyA2MC41MTMzVjM5LjQ4NzNDMTk3LjYwNyAzOS4wMTU0IDE5Ny43MzggMzguNjQ5NiAxOTguMDAxIDM4LjM5QzE5OC4yNjQgMzguMTMwNCAxOTguNjM0IDM4LjAwMDYgMTk5LjExMiAzOC4wMDA2QzE5OS43ODEgMzguMDAwNiAyMDAuMzMxIDM4LjMxOTIgMjAwLjc2MSAzOC45NTY0TDIwOC45MzIgNTEuMDk3NkwyMTcuMTA0IDM4Ljk1NjRDMjE3LjUxIDM4LjMxOTIgMjE4LjExOSAzOC4wMDA2IDIxOC45MzIgMzguMDAwNlpNMjQ0LjMwNCAzOC4zNTQ2QzI0NC44MjkgMzguNjg1IDI0NS4wOTIgMzkuMDc0NCAyNDUuMDkyIDM5LjUyMjdDMjQ1LjA5MiAzOS44MDU5IDI0NC45ODUgNDAuMDg5MSAyNDQuNzcgNDAuMzcyM0wyMzYuMjQgNTMuMjkyM1Y2MC41MTMzQzIzNi4yNCA2MC45ODUzIDIzNi4xMDggNjEuMzUxIDIzNS44NDUgNjEuNjEwNkMyMzUuNTgzIDYxLjg3MDIgMjM1LjIxMiA2MiAyMzQuNzM0IDYyQzIzNC4yNTYgNjIgMjMzLjg4NiA2MS44NzAyIDIzMy42MjMgNjEuNjEwNkMyMzMuMzYgNjEuMzUxIDIzMy4yMjkgNjAuOTg1MyAyMzMuMjI5IDYwLjUxMzNWNTMuMjkyM0wyMjUuMDIyIDQwLjM3MjNDMjI0LjgzIDQwLjA0MTkgMjI0LjczNSAzOS43NDY5IDIyNC43MzUgMzkuNDg3M0MyMjQuNzM1IDM4Ljk5MTggMjI0Ljk4NiAzOC41OTA2IDIyNS40ODggMzguMjgzOEMyMjUuODIyIDM4LjA5NSAyMjYuMTIxIDM4LjAwMDYgMjI2LjM4NCAzOC4wMDA2QzIyNi44MzcgMzguMDAwNiAyMjcuMjMyIDM4LjI0ODQgMjI3LjU2NiAzOC43NDRMMjM0LjczNCA1MC4xMDY1TDI0Mi4yNjEgMzguNzQ0QzI0Mi41NDggMzguMjcyIDI0Mi45MyAzOC4wMzYgMjQzLjQwOCAzOC4wMzZDMjQzLjY5NCAzOC4wMzYgMjQzLjk5MyAzOC4xNDIyIDI0NC4zMDQgMzguMzU0NlpNMjc2LjE5IDQ4LjM3MkMyNzguMDc3IDQ5LjQ1NzYgMjc5LjAyMSA1MS4zODA4IDI3OS4wMjEgNTQuMTQxOFY1NS4zNDUzQzI3OS4wMjEgNTcuNTE2NCAyNzguNDM2IDU5LjE2ODIgMjc3LjI2NSA2MC4zMDA5QzI3Ni4xMTggNjEuNDMzNyAyNzQuNDQ1IDYyIDI3Mi4yNDcgNjJIMjYyLjQyN0MyNjEuOTQ5IDYyIDI2MS41NzkgNjEuODcwMiAyNjEuMzE2IDYxLjYxMDZDMjYxLjA1MyA2MS4zNTEgMjYwLjkyMiA2MC45ODUzIDI2MC45MjIgNjAuNTEzM1YzOS40ODczQzI2MC45MjIgMzkuMDE1NCAyNjEuMDUzIDM4LjY0OTYgMjYxLjMxNiAzOC4zOUMyNjEuNTc5IDM4LjEzMDQgMjYxLjk0OSAzOC4wMDA2IDI2Mi40MjcgMzguMDAwNkgyNzEuNzgxQzI3My42NjkgMzguMDAwNiAyNzUuMTI2IDM4LjQ5NjIgMjc2LjE1NCAzOS40ODczQzI3Ny4xODEgNDAuNDc4NCAyNzcuNjk1IDQxLjg5NDMgMjc3LjY5NSA0My43MzVWNDQuNjkwN0MyNzcuNjk1IDQ1LjQ0NTkgMjc3LjU2NCA0Ni4xNDIgMjc3LjMwMSA0Ni43NzkyQzI3Ny4wNTggNDcuMzg3IDI3Ni42NzggNDcuOTMxOSAyNzYuMTkgNDguMzcyWk0yNjMuOTMyIDQ3LjUyMjVIMjcyLjg5MkMyNzMuNTE0IDQ3LjQ1MTcgMjczLjk2OCA0Ny4xNjg1IDI3NC4yNTQgNDYuNjczQzI3NC41NDEgNDYuMTUzOCAyNzQuNjg0IDQ1LjQ5MzEgMjc0LjY4NCA0NC42OTA3VjQzLjczNUMyNzQuNjg0IDQyLjcyMDMgMjc0LjQ2OSA0Mi4wMTIzIDI3NC4wMzkgNDEuNjExMkMyNzMuNjA5IDQxLjE4NjQgMjcyLjg1NyA0MC45NzQgMjcxLjc4MSA0MC45NzRIMjYzLjkzMlY0Ny41MjI1Wk0yNzYuMDEgNTQuMTQxOEMyNzYuMDEgNTIuODIwMyAyNzUuNzI0IDUxLjg4ODIgMjc1LjE1IDUxLjM0NTRDMjc0LjU3NyA1MC43NzkxIDI3My42MDkgNTAuNDk1OSAyNzIuMjQ3IDUwLjQ5NTlIMjYzLjkzMlY1OS4wMjY2SDI3Mi4yNDdDMjczLjU4NSA1OS4wMjY2IDI3NC41NDEgNTguNzQzNSAyNzUuMTE0IDU4LjE3NzFDMjc1LjcxMiA1Ny42MTA3IDI3Ni4wMSA1Ni42NjY4IDI3Ni4wMSA1NS4zNDUzVjU0LjE0MThaTTI4Ni41NDMgNjJDMjg1LjU0IDYyIDI4NS4wMzggNjEuNTA0NCAyODUuMDM4IDYwLjUxMzNWMzkuNDg3M0MyODUuMDM4IDM4LjQ5NjIgMjg1LjU0IDM4LjAwMDYgMjg2LjU0MyAzOC4wMDA2QzI4Ny41NDcgMzguMDAwNiAyODguMDQ4IDM4LjQ5NjIgMjg4LjA0OCAzOS40ODczVjU5LjAyNjZIMjk3Ljk3NkMyOTguOTggNTkuMDI2NiAyOTkuNDgxIDU5LjUyMjIgMjk5LjQ4MSA2MC41MTMzQzI5OS40ODEgNjEuNTA0NCAyOTguOTggNjIgMjk3Ljk3NiA2MkgyODYuNTQzWk0zMTAuODk3IDYyQzMwOC4xNDkgNjIgMzA2LjExOCA2MS4zNjI4IDMwNC44MDQgNjAuMDg4NUMzMDMuNTEzIDU4Ljc5MDYgMzAyLjg2NyA1Ni43ODQ4IDMwMi44NjcgNTQuMDcxVjQ1Ljg5NDJDMzAyLjg2NyA0My4xODA0IDMwMy41MjUgNDEuMTg2NCAzMDQuODQgMzkuOTEyMUMzMDYuMTU0IDM4LjYxNDIgMzA4LjE3MyAzNy45NzcgMzEwLjg5NyAzOC4wMDA2SDMxNS4xOTZDMzE3Ljk0NCAzOC4wMDA2IDMxOS45NjMgMzguNjQ5NiAzMjEuMjUzIDM5Ljk0NzVDMzIyLjU2OSA0MS4yMjE4IDMyMy4yMjYgNDMuMjE1OCAzMjMuMjI2IDQ1LjkyOTZWNTQuMDcxQzMyMy4yMjYgNTYuNzg0OCAzMjIuNTY5IDU4Ljc5MDYgMzIxLjI1MyA2MC4wODg1QzMxOS45NjMgNjEuMzYyOCAzMTcuOTQ0IDYyIDMxNS4xOTYgNjJIMzEwLjg5N1pNMzE1LjE5NiA1OS4wMjY2QzMxNi41MTIgNTkuMDI2NiAzMTcuNTE0IDU4Ljg3MzIgMzE4LjIwOCA1OC41NjY1QzMxOC44OTcgNTguMjg2MyAzMTkuNDQ5IDU3Ljc1MzQgMzE5Ljc0OCA1Ny4wNzk4QzMyMC4wNiA1Ni4zNzE4IDMyMC4yMTQgNTUuMzY4OSAzMjAuMjE0IDU0LjA3MVY0NS45Mjk2QzMyMC4yMTQgNDQuNjU1MyAzMjAuMDYgNDMuNjY0MiAzMTkuNzQ4IDQyLjk1NjNDMzE5LjQ1OCA0Mi4yNjgyIDMxOC45MDQgNDEuNzIxMiAzMTguMjA4IDQxLjQzNDJDMzE3LjQ5MSA0MS4xMjc0IDMxNi40ODYgNDAuOTc0IDMxNS4xOTYgNDAuOTc0SDMxMC44OTdDMzA5LjYwNiA0MC45NTA0IDMwOC42MDEgNDEuMDkyIDMwNy44ODUgNDEuMzk4OEMzMDcuMTg4IDQxLjY4NTggMzA2LjYzNSA0Mi4yMzI4IDMwNi4zNDUgNDIuOTIwOUMzMDYuMDM0IDQzLjYyODggMzA1Ljg3OSA0NC42MTk5IDMwNS44NzkgNDUuODk0MlY1NC4wNzFDMzA1Ljg3OSA1NS4zNjg5IDMwNi4wMzQgNTYuMzcxOCAzMDYuMzQ1IDU3LjA3OThDMzA2LjY1NCA1Ny43NjQxIDMwNy4xNTYgNTguMjU5NyAzMDcuODQ5IDU4LjU2NjVDMzA4LjU2NSA1OC44NzMyIDMwOS41ODIgNTkuMDI2NiAzMTAuODk3IDU5LjAyNjZIMzE1LjE5NlpNMzM2Ljk3IDYyQzMzNC4yMjMgNjIgMzMyLjE5MiA2MS4zNjI4IDMzMC44NzggNjAuMDg4NUMzMjkuNTg3IDU4Ljc5MDYgMzI4Ljk0MiA1Ni43ODQ4IDMyOC45NDIgNTQuMDcxVjQ1LjkyOTZDMzI4Ljk0MiA0My4yMTU4IDMyOS41ODcgNDEuMjEgMzMwLjg3OCAzOS45MTIxQzMzMi4xOTIgMzguNjE0MiAzMzQuMjExIDM3Ljk3NyAzMzYuOTM1IDM4LjAwMDZIMzQxLjI3MUMzNDMuNTE3IDM4LjAwMDYgMzQ1LjIyNiAzOC40NjA4IDM0Ni4zOTcgMzkuMzgxMUMzNDcuNTkxIDQwLjMwMTUgMzQ4LjI4NCA0MS43NDEgMzQ4LjQ3NSA0My42OTk2QzM0OC41NDcgNDQuMTk1MiAzNDguNDUxIDQ0LjU3MjcgMzQ4LjE4OSA0NC44MzIzQzM0Ny45MjYgNDUuMDkxOSAzNDcuNTQzIDQ1LjIyMTcgMzQ3LjA0MiA0NS4yMjE3QzM0Ni41NjQgNDUuMjIxNyAzNDYuMTkzIDQ1LjEwMzcgMzQ1LjkzMSA0NC44Njc3QzM0NS42OTIgNDQuNjA4MSAzNDUuNTM2IDQ0LjIzMDYgMzQ1LjQ2NSA0My43MzVDMzQ1LjM0NSA0Mi42NzMxIDM0NC45NzUgNDEuOTUzMyAzNDQuMzU0IDQxLjU3NThDMzQzLjczMiA0MS4xNzQ2IDM0Mi43MDUgNDAuOTc0IDM0MS4yNzEgNDAuOTc0SDMzNi45MzVDMzM1LjY0NCA0MC45NTA0IDMzNC42NDEgNDEuMDkyIDMzMy45MjQgNDEuMzk4OEMzMzMuMjA3IDQxLjcwNTUgMzMyLjY5NCA0Mi4yMTI5IDMzMi4zODMgNDIuOTIwOUMzMzIuMDk2IDQzLjYyODggMzMxLjk1MyA0NC42MzE3IDMzMS45NTMgNDUuOTI5NlY1NC4wNzFDMzMxLjk1MyA1NS4zNjg5IDMzMi4xMDggNTYuMzcxOCAzMzIuNDE5IDU3LjA3OThDMzMyLjcyOSA1Ny43NjQxIDMzMy4yMzEgNTguMjU5NyAzMzMuOTI0IDU4LjU2NjVDMzM0LjY0MSA1OC44NzMyIDMzNS42NTYgNTkuMDI2NiAzMzYuOTcgNTkuMDI2NkgzNDEuMjcxQzM0Mi43MDUgNTkuMDI2NiAzNDMuNzMyIDU4LjgzNzggMzQ0LjM1NCA1OC40NjAzQzM0NC45NzUgNTguMDU5MSAzNDUuMzQ1IDU3LjMyNzYgMzQ1LjQ2NSA1Ni4yNjU2QzM0NS41MzYgNTUuNzcwMSAzNDUuNjkyIDU1LjQwNDMgMzQ1LjkzMSA1NS4xNjgzQzM0Ni4xOTMgNTQuOTA4NyAzNDYuNTY0IDU0Ljc3OSAzNDcuMDQyIDU0Ljc3OUMzNDcuNTQzIDU0Ljc3OSAzNDcuOTI2IDU0LjkwODcgMzQ4LjE4OSA1NS4xNjgzQzM0OC40NTEgNTUuNDI3OSAzNDguNTQ3IDU1LjgwNTUgMzQ4LjQ3NSA1Ni4zMDFDMzQ4LjI4NCA1OC4yNTk3IDM0Ny41OTEgNTkuNjk5MiAzNDYuMzk3IDYwLjYxOTVDMzQ1LjIyNiA2MS41Mzk4IDM0My41MTcgNjIgMzQxLjI3MSA2MkgzMzYuOTdaTTM3MC40MiA1OS40MTZDMzcwLjY4MyA1OS43NDY0IDM3MC44MTQgNjAuMDc2NyAzNzAuODE0IDYwLjQwNzFDMzcwLjgxNCA2MC44MzE5IDM3MC42MTEgNjEuMTk3NyAzNzAuMjA1IDYxLjUwNDRDMzY5LjkzNCA2MS43NTc5IDM2OS41NzQgNjEuODk3NSAzNjkuMjAxIDYxLjg5MzhDMzY4Ljc3MSA2MS44OTM4IDM2OC40MDEgNjEuNjkzMiAzNjguMDkgNjEuMjkyMUwzNTkuMzEgNTAuNTY2N0wzNTcuNzY4IDUyLjE1OTZWNjAuNTEzM0MzNTcuNzY4IDYwLjk4NTMgMzU3LjYzNyA2MS4zNTEgMzU3LjM3NCA2MS42MTA2QzM1Ny4xMTEgNjEuODcwMiAzNTYuNzQxIDYyIDM1Ni4yNjMgNjJDMzU1Ljc4NSA2MiAzNTUuNDE1IDYxLjg3MDIgMzU1LjE1MiA2MS42MTA2QzM1NC44ODkgNjEuMzUxIDM1NC43NTggNjAuOTg1MyAzNTQuNzU4IDYwLjUxMzNWMzkuNDg3M0MzNTQuNzU4IDM5LjAxNTQgMzU0Ljg4OSAzOC42NDk2IDM1NS4xNTIgMzguMzlDMzU1LjQxNSAzOC4xMzA0IDM1NS43ODUgMzguMDAwNiAzNTYuMjYzIDM4LjAwMDZDMzU2Ljc0MSAzOC4wMDA2IDM1Ny4xMTEgMzguMTMwNCAzNTcuMzc0IDM4LjM5QzM1Ny42MzcgMzguNjQ5NiAzNTcuNzY4IDM5LjAxNTQgMzU3Ljc2OCAzOS40ODczVjQ3LjkxMTlMMzY2LjkwOCAzOC41NjdDMzY3LjI2NiAzOC4yMTMgMzY3LjYyNCAzOC4wMzYgMzY3Ljk4MyAzOC4wMzZDMzY4LjM0MSAzOC4wMzYgMzY4LjY4OCAzOC4yMDEyIDM2OS4wMjIgMzguNTMxNkMzNjkuMzgxIDM4Ljg4NTYgMzY5LjU2IDM5LjIzOTUgMzY5LjU2IDM5LjU5MzVDMzY5LjU2IDM5Ljk0NzUgMzY5LjM5MyA0MC4yODk3IDM2OS4wNTggNDAuNjJMMzYxLjQ2IDQ4LjQwNzRMMzcwLjQyIDU5LjQxNlpNMzgxLjg1IDYyQzM3OS43OTUgNjIgMzc4LjE5NCA2MS41OTg4IDM3Ny4wNDggNjAuNzk2NUMzNzUuOTI1IDU5Ljk3MDYgMzc1LjIyIDU4LjcwOCAzNzQuOTMzIDU3LjAwOUMzNzQuODg1IDU2LjUxMzQgMzc0Ljk5MyA1Ni4xMzU5IDM3NS4yNTUgNTUuODc2M0MzNzUuNTE4IDU1LjU5MzEgMzc1LjkwMSA1NS40NTE1IDM3Ni40MDIgNTUuNDUxNUMzNzYuODggNTUuNDUxNSAzNzcuMjM5IDU1LjU2OTUgMzc3LjQ3OCA1NS44MDU1QzM3Ny43MTcgNTYuMDE3OSAzNzcuODg0IDU2LjM4MzYgMzc3Ljk3OSA1Ni45MDI4QzM3OC4xNDcgNTcuNzA1MSAzNzguNTE3IDU4LjI1OTcgMzc5LjA5IDU4LjU2NjVDMzc5LjY4OCA1OC44NzMyIDM4MC42MDggNTkuMDI2NiAzODEuODUgNTkuMDI2NkgzODcuMDExQzM4OC4wNjIgNTkuMDI2NiAzODguODYzIDU4LjkwODYgMzg5LjQxMiA1OC42NzI3QzM4OS42ODQgNTguNTY3NiAzODkuOTMyIDU4LjQxMDIgMzkwLjE0MSA1OC4yMDk3QzM5MC4zNSA1OC4wMDkxIDM5MC41MTcgNTcuNzY5NCAzOTAuNjMxIDU3LjUwNDVDMzkwLjg3IDU2LjkzODIgMzkwLjk4OSA1Ni4xNDc2IDM5MC45ODkgNTUuMTMyOUMzOTAuOTg5IDUzLjYyMjYgMzkwLjcwMyA1Mi41ODQzIDM5MC4xMjkgNTIuMDE4QzM4OS41NTYgNTEuNDUxNiAzODguNTE2IDUxLjE2ODQgMzg3LjAxMSA1MS4xNjg0SDM4Mi41NjdDMzgwLjMyMSA1MS4xNjg0IDM3OC42NDggNTAuNjI1NyAzNzcuNTQ5IDQ5LjU0MDJDMzc2LjQ1IDQ4LjQ1NDYgMzc1LjkwMSA0Ni43OTEgMzc1LjkwMSA0NC41NDkxQzM3NS45MDEgNDIuMzMwOSAzNzYuNDM4IDQwLjY5MDggMzc3LjUxMyAzOS42Mjg5QzM3OC42MTMgMzguNTQzNCAzODAuMjg1IDM4LjAwMDYgMzgyLjUzMSAzOC4wMDA2SDM4Ni43OTZDMzkwLjU3MSAzOC4wMDA2IDM5Mi43NDYgMzkuNTU4MSAzOTMuMzE5IDQyLjY3MzFDMzkzLjM5MSA0My4xNjg2IDM5My4yOTUgNDMuNTU4IDM5My4wMzIgNDMuODQxMkMzOTIuNzcgNDQuMTAwOCAzOTIuMzc1IDQ0LjIzMDYgMzkxLjg1IDQ0LjIzMDZDMzkxLjM3MiA0NC4yMzA2IDM5MS4wMTMgNDQuMTEyNiAzOTAuNzc0IDQzLjg3NjZDMzkwLjUzNSA0My42NDA2IDM5MC4zOCA0My4yNzQ4IDM5MC4zMDggNDIuNzc5M0MzOTAuMTE3IDQyLjA5NDkgMzg5Ljc1OSA0MS42MjMgMzg5LjIzMyA0MS4zNjM0QzM4OC43MDggNDEuMTAzOCAzODcuODk1IDQwLjk3NCAzODYuNzk2IDQwLjk3NEgzODIuNTMxQzM4MS41NTEgNDAuOTc0IDM4MC43OTkgNDEuMDgwMiAzODAuMjczIDQxLjI5MjZDMzgwLjAyOCA0MS4zOTQzIDM3OS44MDcgNDEuNTQzOSAzNzkuNjIyIDQxLjczMjVDMzc5LjQzNyA0MS45MjExIDM3OS4yOTMgNDIuMTQ0NyAzNzkuMTk4IDQyLjM4OTlDMzc5LjAwNyA0Mi44ODU1IDM3OC45MTEgNDMuNjA1MiAzNzguOTExIDQ0LjU0OTFDMzc4LjkxMSA0NS41MTY3IDM3OS4wMTkgNDYuMjYgMzc5LjIzNCA0Ni43NzkyQzM3OS40NDkgNDcuMjc0NyAzNzkuODA3IDQ3LjY0MDUgMzgwLjMwOSA0Ny44NzY1QzM4MC44MzUgNDguMDg4OSAzODEuNTg3IDQ4LjE5NTEgMzgyLjU2NyA0OC4xOTUxSDM4Ny4wMTFDMzg5LjM3NyA0OC4xOTUxIDM5MS4xMzMgNDguNzYxNCAzOTIuMjggNDkuODk0MUMzOTMuNDI3IDUxLjAyNjggMzk0IDUyLjc3MzEgMzk0IDU1LjEzMjlDMzk0IDU3LjQ2OTEgMzkzLjQyNyA1OS4yMDM2IDM5Mi4yOCA2MC4zMzYzQzM5MS4xMzMgNjEuNDQ1NCAzODkuMzc3IDYyIDM4Ny4wMTEgNjJIMzgxLjg1WiIgZmlsbD0iI0UyMkYyMiIvPgo8cGF0aCBkPSJNMzYuNzM2IDBMMCAxOS4yNThMMC40NzA5OTMgNjMuNTczTDIyLjg0MSA3Ni4zMzRMMzYuOTcyIDEwMEw1MC42MyA3Ni4zMzRMNzMgNjMuNjlWMTkuNDlMMzYuNzM2IDBaTTI5LjY3IDY0LjI3TDE0LjM2NCA1NS42ODVWMzUuNDk4TDI5LjY3IDQ0LjU0N1Y2NC4yNjhWNjQuMjdaTTIxLjkgMjMuNDMzTDM2LjczNSAxNS43NzZMNTEuMzM1IDIzLjQzM0wzNi43MzUgMzIuMDE4TDIxLjkgMjMuNDMzWk01OC44NzEgNTUuNjgzTDQzLjggNjQuMjdWNDQuNTQ4TDU4Ljg3MSAzNS43MzFWNTUuNjgzWiIgZmlsbD0iI0UyMkYyMiIvPgo8L3N2Zz4K\";","// extracted by mini-css-extract-plugin\nexport default {\"navigation\":\"kiMVxg7uvmObzH9y5Nf7\",\"subtitle\":\"lh6Gp5uMZoFjdsD0piCQ\",\"active\":\"IHgUS1orY8DkWO_fbRhQ\"};","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"Ub1Qwzm7eiO9i1pfS4JA\",\"header\":\"MHfJiF9ZtWnpmRSznlsA\",\"container\":\"bDqx83XSEFfGnp0RCn6r\",\"logo\":\"s2jFJ3kbxHqVjcXOAa_e\",\"headerNavigation\":\"O0TgIPrk1w9xxx2FS7rI\"};","// extracted by mini-css-extract-plugin\nexport default {\"tag\":\"BBrTfwaRpiXTsfXQotgf\",\"help\":\"eiQPya4NGNSbJXhlQrFG\",\"default\":\"Qrwn2ZFHSg4CzQ5B2Hju\",\"info\":\"dK0gZ8H42AMHDmiT90gt\",\"warning\":\"Iq2GVHFXIvyadiMTJhPA\",\"error\":\"IAqnveipCAc7HoEDOSlg\",\"label\":\"g0nlWBX7OmQcFqR6UoAB\",\"icon\":\"wLv8qHa44_fOcOtj0hCA\"};","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","module.exports = window[\"React\"];","module.exports = window[\"ReactDOM\"];","module.exports = window[\"wp\"][\"apiFetch\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","import { useState } from \"@wordpress/element\";\nimport { useFindMyBlocks } from \"../../context/FindMyBlocksContext.js\";\nimport style from \"./BlockNavigation.module.css\";\nimport { __ } from \"@wordpress/i18n\";\n\nconst BlockNavigation = ({}) => {\n const { finder, preferences } = useFindMyBlocks();\n const { setSelectedBlock } = preferences;\n const { foundBlocks, withFilters } = finder;\n const [currentActive, setCurrentActive] = useState(null);\n\n const filteredBlocks = withFilters(foundBlocks);\n\n const handleLinkClick = (blockName) => {\n setSelectedBlock(blockName);\n setCurrentActive(blockName);\n };\n\n return (\n <nav className={style.navigation}>\n <ul>\n {filteredBlocks.map((block) => (\n <li\n key={block.name}\n className={currentActive === block.name ? style.active : \"\"}\n onClick={() => handleLinkClick(block.name)}\n >\n {block.name}{\" \"}\n <span className={style.subtitle}>\n {__(\"Found in\", \"find-my-blocks\")} {block.posts.length}{\" \"}\n {block.posts.length > 1\n ? __(\"locations\", \"find-my-blocks\")\n : __(\"location\", \"find-my-blocks\")}\n </span>\n </li>\n ))}\n </ul>\n </nav>\n );\n};\n\nexport default BlockNavigation;\n","import {\n Button,\n DropdownMenu,\n MenuGroup,\n MenuItem,\n ExternalLink,\n} from \"@wordpress/components\";\nimport style from \"./PageHeader.module.css\";\nimport { __ } from \"@wordpress/i18n\";\nimport Logo from \"../../../images/find-my-blocks-logo-full.svg\";\nimport { useFindMyBlocks } from \"../../context/FindMyBlocksContext.js\";\n\nconst PageHeader = ({ children }) => {\n const { finder } = useFindMyBlocks();\n const { isLoading, reset, startSearch, foundBlocks } = finder;\n\n return (\n <div className={style.wrapper}>\n <div className={style.header}>\n <div className={style.container}>\n <img\n className={style.logo}\n src={Logo}\n alt=\"Find My Blocks Logo\"\n onClick={() => (foundBlocks.length > 0 ? reset() : false)}\n />\n <div className={style.headerNavigation}>\n <ExternalLink\n href=\"https://wordpress.org/support/plugin/find-my-blocks/reviews/\"\n target=\"_blank\"\n >\n {__(\"Submit Review\", \"find-my-blocks\")}\n </ExternalLink>\n <Button\n onClick={() => (foundBlocks.length > 0 ? reset() : startSearch())}\n icon={foundBlocks.length > 0 ? \"update-alt\" : null}\n variant=\"primary\"\n disabled={isLoading}\n >\n {foundBlocks.length > 0 // If there are found blocks, show \"Search Again\"\n ? __(\"Re-scan\", \"find-my-blocks\")\n : __(\"Search\", \"find-my-blocks\")}\n </Button>\n <DropdownMenu icon=\"menu\" label=\"Select a direction\">\n {({ onClose }) => (\n <>\n <MenuGroup label={__(\"Quick Links\", \"find-my-blocks\")}>\n <MenuItem\n href={\n fmbGlobal.admin_url + \"/edit.php?post_type=wp_block\"\n }\n >\n {__(\"Reusable Patterns\", \"find-my-blocks\")}\n </MenuItem>\n </MenuGroup>\n <MenuGroup label={__(\"Support\", \"find-my-blocks\")}>\n <MenuItem\n icon=\"star-filled\"\n href=\"https://wordpress.org/support/plugin/find-my-blocks/reviews/\"\n target=\"_blank\"\n >\n {__(\"Review on wp.org\", \"find-my-blocks\")}\n </MenuItem>\n <MenuItem\n icon=\"sos\"\n href=\"https://wordpress.org/support/plugin/find-my-blocks/\"\n target=\"_blank\"\n >\n {__(\"Support forum\", \"find-my-blocks\")}\n </MenuItem>\n <MenuItem\n icon=\"external\"\n href=\"https://findmyblocks.com/?utm_source=wordpress_site&utm_medium=navigation&utm_campaign=find_my_blocks_active_install\"\n target=\"_blank\"\n >\n findmyblocks.com\n </MenuItem>\n </MenuGroup>\n </>\n )}\n </DropdownMenu>\n </div>\n </div>\n </div>\n {children}\n </div>\n );\n};\n\nexport default PageHeader;\n","import {\n Card as WPCard,\n CardBody,\n CardDivider,\n CardHeader,\n Button,\n ExternalLink,\n Icon,\n} from \"@wordpress/components\";\nimport { __ } from \"@wordpress/i18n\";\nimport { useMemo } from \"@wordpress/element\";\nimport { VList } from \"virtua\";\n\nimport { Tag } from \"../Tag/Tag.js\";\n\nexport const Card = ({ post, blockName }) => {\n const tags = useMemo(() => getTags(post, blockName), [post, blockName]);\n\n return (\n <WPCard size=\"small\" className=\"fmb-card\">\n <CardHeader isBorderless>\n <div>\n <span className=\"fmb-card-title\">{post.title}</span>\n <span className=\"fmb-card-meta\">\n <code>{post?.postType}</code>{\" \"}\n {post?.isThirdPartyTemplate && (\n <code>{post?.templateProvider}</code>\n )}{\" \"}\n </span>\n </div>\n <div>\n <Button\n target=\"_blank\"\n variant=\"tertiary\"\n href={post.post_url}\n size={\"small\"}\n >\n {__(\"Preview\", \"find-my-blocks\")}\n </Button>\n <Button\n target=\"_blank\"\n variant=\"tertiary\"\n href={post.edit_url}\n size={\"small\"}\n >\n {__(\"Edit\", \"find-my-blocks\")}\n </Button>\n </div>\n </CardHeader>\n {tags.length > 0 && (\n <>\n <CardDivider />\n <CardBody>\n {tags.map((tag) => (\n <Tag key={tag.label} {...tag} />\n ))}\n </CardBody>\n </>\n )}\n </WPCard>\n );\n\n function getTags(post) {\n const tags = [];\n\n if (post.hasConditionalBlocks) {\n tags.push({\n label: __(\"Conditional\", \"find-my-blocks\"),\n help: (\n <span>\n {__(\"via\", \"find-my-blocks\")}{\" \"}\n <ExternalLink target=\"_blank\" href=\"https://conditionalblocks.com/\">\n Conditional Blocks\n </ExternalLink>\n </span>\n ),\n icon: \"randomize\",\n variation: \"info\",\n });\n }\n\n if (post.isSyncedPattern) {\n tags.push({\n label: __(\"Synced Pattern\", \"find-my-blocks\"),\n icon: \"networking\",\n variation: \"warning\",\n });\n }\n\n if (post.count > 1) {\n tags.push({\n label: `${post.count}x ` + blockName,\n icon: \"list-view\",\n variation: \"info\",\n });\n }\n\n if (post.isNested) {\n tags.push({\n label: __(\"Nested in: \", \"find-my-blocks\") + post.nestedBlockType,\n icon: \"align-center\",\n variation: \"info\",\n });\n }\n\n return tags;\n }\n};\n\nconst MemoizedCard = React.memo(Card);\n\nexport function CardGrid({ posts, blockName = \"\" }) {\n if (!posts || posts.length < 1) {\n return (\n <div>\n <h2>{__(\"No locations found\", \"find-my-blocks\")}</h2>\n {__(\n \"Please select a block from the menu, or check the filters.\",\n \"find-my-blocks\"\n )}\n </div>\n );\n }\n\n if (posts.length >= 2000) {\n return (\n <div>\n <p>\n <Icon icon={\"warning\"} />{\" \"}\n {__(\n \"Performance virtualization applied to large list.\",\n \"find-my-blocks\"\n )}\n </p>\n <div className=\"fmb-cards-virtualized\">\n <VList\n style={{\n display: \"grid\", // Enable CSS grid layout\n height: \"740px\", // Set the height of the VList\n }}\n >\n {posts.map((post, index) => {\n return (\n <div className=\"fmb-card-virtualized\">\n <Card\n key={blockName + post?.id}\n post={post}\n blockName={blockName}\n />\n </div>\n );\n })}\n </VList>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"fmb-card-grid\">\n {posts.map((post, index) => {\n return (\n <MemoizedCard\n key={blockName + post?.id}\n post={post}\n blockName={blockName}\n />\n );\n })}\n </div>\n );\n}\n","import classes from \"./Tag.module.css\";\nimport { Icon } from \"@wordpress/components\";\n\nconst classNames = (...classes) => classes.filter(Boolean).join(\" \");\n\n/**\n * Tag\n * @param {string} variations - \"info\" | \"warning\" | \"error\" | \"default\";\n * @returns\n */\nexport const Tag = ({ variation = \"default\", icon, label, help }) => {\n const tagClass = classNames(classes.tag, classes[variation]);\n\n return (\n <div className={tagClass}>\n {icon && <Icon icon={icon} className={classes.Icon} />}\n <div className={classes.label}>{label}</div>\n {help && <div className={classes.help}> {help}</div>}\n </div>\n );\n};\n","import React, { createContext, useContext } from \"@wordpress/element\";\n\nimport { usePreferences } from \"../hooks/usePreferences.js\";\nimport { useFinder } from \"../hooks/useFinder.js\";\n\n// Create a context for the app state.\nconst FindMyBlocksContext = createContext();\n\n// Create a provider component.\nexport const FindMyBlocksProvider = ({ children }) => {\n const preferences = usePreferences();\n\n const searchArgs = {\n posts_per_page: preferences.postsPerRun,\n };\n\n const finder = useFinder({\n searchArgs,\n });\n\n const contextValue = {\n preferences: preferences,\n finder: finder,\n };\n\n return (\n <FindMyBlocksContext.Provider value={contextValue}>\n {children}\n </FindMyBlocksContext.Provider>\n );\n};\n\n// Create a custom hook to use the app state context.\nexport const useFindMyBlocks = () => {\n const context = useContext(FindMyBlocksContext);\n if (!context) {\n throw new Error(\n \"useFindMyBlocks must be used within an FindMyBlocksProvider\"\n );\n }\n return context;\n};\n","/**\n * Global fmbGlobal\n */\nimport { useState, useEffect, useRef } from \"@wordpress/element\";\nimport { __ } from \"@wordpress/i18n\";\nimport apiFetch from \"@wordpress/api-fetch\";\nimport useIndexedDB from \"./useIndexedDB.js\";\n\n/**\n * Fetch the blocks from the server.\n * The blocks contain the following fields.\n *\n * count, edit_url, id, isNested, isReusable, nestedBlockType, postType, post_url, status, title\n */\nexport const useFinder = ({ searchArgs = {} }) => {\n const [cachedFoundBlocks, setCacheFoundBlocks] = useIndexedDB(\n \"find_my_blocks\",\n \"caches\",\n \"found_blocks\"\n );\n\n const [cacheVersion, setCacheVersion] = useIndexedDB(\n \"find_my_blocks\",\n \"caches\",\n \"version\"\n );\n\n const filtersDefault = {\n name: false,\n blockProvider: false,\n hasConditionalBlocks: false,\n };\n\n const [foundBlocks, setFoundBlocks] = useState([]);\n const [filters, setFilters] = useState(filtersDefault);\n const [isLoading, setIsLoading] = useState(false);\n const [searchError, setSearchError] = useState(null);\n const [progress, setProgress] = useState({\n currentPage: 0,\n totalPages: 0,\n percentage: 0,\n totalPosts: 0,\n totalBlocks: 0,\n totalScannedPosts: 0,\n });\n\n const [sortOrder, setSortOrder] = useState(\"asc\"); // 'asc' for ascending, 'desc' for descending.\n\n const abortControllerRef = useRef(null);\n\n /**\n * Abort the search.\n */\n const abortSearch = () => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n console.log(\"Search aborted by user.\");\n setSearchError(__(\"Search aborted by user\", \"find-my-blocks\")); // Set an error state indicating the search was aborted\n }\n };\n\n /**\n * Get the posts with a specific block.\n * @param {string} blockName - The name of the block.\n * @returns {Array} The posts with the block.\n */\n const postsWithBlock = (blockName) => {\n const block = withFilters(foundBlocks).find(\n (block) => block.name === blockName\n );\n\n return block ? block.posts : [];\n };\n\n /**\n * Start the search.\n */\n const startSearch = async () => {\n reset();\n setIsLoading(true);\n // Create a new instance of AbortController for the entire batch search\n const controller = new AbortController();\n abortControllerRef.current = controller; // Keep a reference to the controller\n\n let currentPage = 1;\n let totalPages = 0;\n let totalPosts = 0;\n let totalScannedPosts = 0;\n let localBatchResults = []; // Local variable to keep track of batch results.\n let totalBlockInstances = 0; // Keep track of total block instances detected.\n let searchStatus = \"in_process\"; // Track the search status\n\n try {\n while (\n (currentPage <= totalPages || currentPage === 1) &&\n !abortControllerRef.current.signal.aborted &&\n searchStatus === \"in_process\" // Check if the search is still in process\n ) {\n const timeoutId = setTimeout(() => controller.abort(), 15000); // Abort the search after 15 seconds of inactivity.\n\n const queryString = new URLSearchParams({\n ...searchArgs,\n paged: currentPage,\n }).toString();\n\n try {\n const searchResponse = await apiFetch({\n path: `find-my-blocks/v1/search?${queryString}`,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n // Add a 1 second delay between requests to avoid server overload.\n await new Promise((resolve) => setTimeout(resolve, 1000));\n\n // Exit early if no data is returned.\n if (!searchResponse?.data) {\n throw new Error(\"No data returned from the server.\");\n }\n\n const { blocks, scanned_posts, total_posts, total_pages } =\n searchResponse.data;\n\n if (currentPage === 1) {\n totalPages = total_pages;\n totalPosts = total_posts;\n }\n\n totalBlockInstances += blocks.reduce(\n (sum, block) => sum + block.posts.length,\n 0\n );\n\n totalScannedPosts += scanned_posts;\n\n setProgress({\n currentPage,\n totalPages: totalPages,\n percentage: Math.round((currentPage / totalPages) * 100),\n totalBlocks: totalBlockInstances,\n totalPosts: totalPosts,\n totalScannedPosts: totalScannedPosts, // Some might have been skipped server side.\n });\n\n localBatchResults = localBatchResults.concat(blocks);\n\n currentPage++;\n\n if (currentPage > total_pages) {\n searchStatus = \"completed\"; // All pages of the WP_Query has been scanned.\n break;\n }\n } catch (error) {\n clearTimeout(timeoutId);\n\n if (error.name === \"AbortError\") {\n console.error(\n \"Search aborted or timeout reached - Please try lower the amount of posts to search per request.\",\n error\n );\n setSearchError(\n __(\n \"Abort/timeout error. Try choosing a lower amount of posts to search per request.\",\n \"find-my-blocks\"\n )\n );\n } else {\n const errorInfo =\n typeof error === \"object\"\n ? JSON.stringify(error)\n : error.toString();\n\n setSearchError(\n __(\n `Search Error, please submit on the support forum:`,\n \"find-my-blocks\"\n ) +\n \" \" +\n errorInfo\n );\n }\n\n searchStatus = \"failed\"; // Update the search status to failed\n break;\n }\n }\n } finally {\n abortControllerRef.current = null;\n\n if (searchStatus === \"completed\" && localBatchResults.length > 0) {\n const mergedBlocks = mergeBlocks(localBatchResults);\n const sortedBlocks = changeBlockSorting(sortOrder, mergedBlocks);\n\n setFoundBlocks(sortedBlocks);\n setCacheFoundBlocks(sortedBlocks);\n setCacheVersion(fmbGlobal.version);\n } else {\n const skipErrorRest = true;\n reset(skipErrorRest);\n }\n\n // Add a 1 second delay to view the finished search stats.\n await new Promise((resolve) => setTimeout(resolve, 1000));\n\n setIsLoading(false);\n }\n };\n\n /**\n * Reset the search state to its initial values.\n */\n const reset = (skipErrorRest = false) => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n setFoundBlocks([]);\n setFilters(filtersDefault);\n setCacheVersion(false);\n setCacheFoundBlocks([]);\n setIsLoading(false);\n if (!skipErrorRest) {\n setSearchError(null);\n }\n setProgress({\n currentPage: 0,\n totalPages: 0,\n percentage: 0,\n totalPosts: 0,\n totalBlocks: 0,\n totalScannedPosts: 0,\n });\n setSortOrder(\"asc\");\n };\n\n let firstLoad = true;\n\n // Set the found blocks from cache if available on initial load.\n useEffect(() => {\n if (\n firstLoad &&\n cachedFoundBlocks &&\n cachedFoundBlocks.length > 0 &&\n cacheVersion === fmbGlobal.version\n ) {\n firstLoad = false;\n setFoundBlocks(changeBlockSorting(sortOrder, cachedFoundBlocks));\n }\n }, [cachedFoundBlocks, cacheVersion]);\n\n const changeBlockSorting = (order, foundBlocks) => {\n // First, sort the blocks\n const sortedBlocks = [...foundBlocks].sort((a, b) => {\n if (order === \"asc\") {\n return a.name.localeCompare(b.name);\n } else {\n return b.name.localeCompare(a.name);\n }\n });\n\n // Then, sort the posts within each block\n sortedBlocks.forEach((block) => {\n if (block.posts && Array.isArray(block.posts)) {\n block.posts.sort((a, b) => {\n if (order === \"asc\") {\n return a.title.localeCompare(b.title);\n } else {\n return b.title.localeCompare(a.title);\n }\n });\n }\n });\n\n return sortedBlocks;\n };\n\n const withFilters = (blocks) => {\n const nameFilter = filters.name ? filters.name.toLowerCase() : \"\";\n const blockProviderFilter = filters.blockProvider\n ? filters.blockProvider.toLowerCase()\n : \"\";\n\n return blocks.reduce((filteredBlocks, block) => {\n // Check if block matches the name filter\n const matchesName = nameFilter\n ? block.name.toLowerCase().includes(nameFilter)\n : true;\n\n // Check if block matches the block provider filter\n const matchesBlockProvider = blockProviderFilter\n ? block.name.split(\"/\")[0].toLowerCase().includes(blockProviderFilter)\n : true;\n\n // If block doesn't match filters, skip it\n if (!matchesName || !matchesBlockProvider) {\n return filteredBlocks;\n }\n\n // Filter posts for conditional blocks if needed\n let posts = block.posts;\n if (filters.hasConditionalBlocks) {\n posts = posts.filter((post) => post.hasConditionalBlocks);\n }\n\n // If there are no posts left after filtering, skip the block\n if (filters.hasConditionalBlocks && posts.length === 0) {\n return filteredBlocks;\n }\n\n // Add the block with filtered posts to the result\n filteredBlocks.push({ ...block, posts });\n return filteredBlocks;\n }, []);\n };\n\n return {\n reset,\n foundBlocks,\n withFilters,\n filters,\n setFilters,\n isLoading,\n searchError,\n startSearch,\n abortSearch,\n progress,\n postsWithBlock,\n };\n};\n\n/**\n * Merge blocks from different requests.\n * @param {Array} blocks - The blocks to merge.\n * @returns {Array} The merged blocks.\n */\nconst mergeBlocks = (blocks) => {\n const blockMap = new Map();\n\n blocks.forEach((newBlock) => {\n if (blockMap.has(newBlock.name)) {\n // Merge posts if the block already exists\n const existingBlock = blockMap.get(newBlock.name);\n newBlock.posts.forEach((newPost) => {\n const existingPostIndex = existingBlock.posts.findIndex(\n (post) => post.id === newPost.id\n );\n if (existingPostIndex !== -1) {\n // Combine the count if the post already exists\n existingBlock.posts[existingPostIndex].count += newPost.count;\n } else {\n // Add the new post if it doesn't exist\n existingBlock.posts.push(newPost);\n }\n });\n } else {\n // Add the new block if it doesn't exist\n blockMap.set(newBlock.name, {\n ...newBlock,\n posts: [...newBlock.posts],\n });\n }\n });\n\n // Convert the map back to an array\n return Array.from(blockMap.values());\n};\n","import { useState, useEffect } from \"react\";\n\nfunction useIndexedDB(databaseName, storeName, key) {\n const [value, setValue] = useState(null);\n\n useEffect(() => {\n if (!window.indexedDB) {\n console.error(\"IndexedDB is not supported by this browser.\");\n return;\n }\n\n try {\n const request = window.indexedDB.open(databaseName);\n\n request.onerror = function (event) {\n console.error(\n \"Error opening IndexedDB database:\",\n event.target.errorCode\n );\n };\n\n request.onupgradeneeded = function (event) {\n const db = event.target.result;\n db.createObjectStore(storeName);\n };\n\n request.onsuccess = function (event) {\n const db = event.target.result;\n const transaction = db.transaction(storeName, \"readonly\");\n const objectStore = transaction.objectStore(storeName);\n const request = objectStore.get(key);\n request.onerror = function (event) {\n console.error(\n \"Error getting value from IndexedDB:\",\n event.target.errorCode\n );\n };\n request.onsuccess = function (event) {\n setValue(event.target.result);\n };\n };\n } catch (error) {\n console.error(\"An unexpected error occurred with IndexedDB:\", error);\n }\n }, [databaseName, storeName, key]);\n\n function setValueToIndexedDB(newValue) {\n if (!window.indexedDB) {\n console.error(\"IndexedDB is not supported by this browser.\");\n return;\n }\n\n try {\n const request = window.indexedDB.open(databaseName);\n request.onerror = function (event) {\n console.error(\n \"Error opening IndexedDB database:\",\n event.target.errorCode\n );\n };\n\n request.onsuccess = function (event) {\n const db = event.target.result;\n const transaction = db.transaction(storeName, \"readwrite\");\n const objectStore = transaction.objectStore(storeName);\n const request = objectStore.put(newValue, key);\n request.onerror = function (event) {\n console.error(\n \"Error saving value to IndexedDB:\",\n event.target.errorCode\n );\n };\n request.onsuccess = function (event) {\n setValue(newValue);\n };\n };\n } catch (error) {\n console.error(\"An unexpected error occurred with IndexedDB:\", error);\n }\n }\n\n return [value, setValueToIndexedDB];\n}\n\nexport default useIndexedDB;\n","import { useState, useEffect, useCallback } from \"@wordpress/element\";\n/**\n * Helper for setting local storage. useEffect to prevent hydration errors.\n * @param {*} key\n * @returns\n */\n// A simple pub-sub mechanism for preferences\nconst preferenceSubscribers = new Map();\n\nconst notifyPreferenceSubscribers = (key, value) => {\n const callbacks = preferenceSubscribers.get(key) || [];\n callbacks.forEach((callback) => callback(value));\n};\n\nconst subscribeToPreference = (key, callback) => {\n if (!preferenceSubscribers.has(key)) {\n preferenceSubscribers.set(key, []);\n }\n preferenceSubscribers.get(key).push(callback);\n};\n\nconst unsubscribeFromPreference = (key, callback) => {\n const callbacks = preferenceSubscribers.get(key) || [];\n const index = callbacks.indexOf(callback);\n if (index > -1) {\n callbacks.splice(index, 1);\n }\n};\n\n/**\n * Helper for setting local storage. useEffect to prevent hydration errors.\n * @param {*} key\n * @returns\n */\nexport const useLocalStorage = (key, defaultValue) => {\n const [data, setData] = useState(defaultValue);\n const [initialLoad, setInitialLoad] = useState(true);\n\n useEffect(() => {\n if (initialLoad) {\n setInitialLoad(false);\n const existingData = JSON.parse(localStorage.getItem(key));\n setData(existingData ?? defaultValue);\n }\n }, [initialLoad, key, defaultValue]);\n\n useEffect(() => {\n const handleDataChange = (newData) => {\n setData(newData);\n };\n\n subscribeToPreference(key, handleDataChange);\n\n return () => {\n unsubscribeFromPreference(key, handleDataChange);\n };\n }, [key]);\n\n const saveDataToLocalStorage = useCallback(\n (newData) => {\n localStorage.setItem(key, JSON.stringify(newData));\n notifyPreferenceSubscribers(key, newData);\n },\n [key]\n );\n\n return [data, saveDataToLocalStorage];\n};\n","/**\n * Global fmbGlobal\n */\nimport { useLocalStorage } from \"./useLocalStorage.js\";\n/**\n * Store preferences & settings in local storage.\n */\nexport const usePreferences = () => {\n const [selectedBlock, setSelectedBlock] = useLocalStorage(\n \"fmb_selected_block\",\n \"\"\n );\n const [postsPerRun, setPostsPerRun] = useLocalStorage(\n \"fmb_posts_per_run\",\n 10\n );\n\n const [selectedProvider, setSelectedProvider] = useLocalStorage(\n \"fmb_selected_provider\",\n false\n );\n const [conditionalBlocks, setConditionalBlocks] = useLocalStorage(\n \"fmb_conditional_blocks\",\n false\n );\n\n return {\n selectedBlock,\n setSelectedBlock,\n selectedProvider,\n setSelectedProvider,\n postsPerRun: parseInt(postsPerRun),\n setPostsPerRun,\n conditionalBlocks,\n setConditionalBlocks,\n };\n};\n","/**\n * global fmbGlobal\n */\nimport { Fragment, useState } from \"@wordpress/element\";\nimport { __ } from \"@wordpress/i18n\";\nimport { CardGrid } from \"../components/PostCards/PostCards.js\";\nimport BlockNavigation from \"../components/BlockNavigation/index.js\";\nimport { useFindMyBlocks } from \"../context/FindMyBlocksContext.js\";\nimport { getUniqueProviders } from \"../utils/functions.js\";\nimport {\n Button,\n ExternalLink,\n RadioControl,\n Notice,\n ComboboxControl,\n SearchControl,\n CheckboxControl,\n} from \"@wordpress/components\";\n\n/**\n * Overview Page.\n */\nfunction SearchPage() {\n const { finder, preferences } = useFindMyBlocks();\n\n const {\n foundBlocks,\n startSearch,\n abortSearch,\n progress,\n isLoading,\n searchError,\n postsWithBlock,\n } = finder;\n\n const { selectedBlock, postsPerRun, setPostsPerRun } = preferences;\n\n if (isLoading)\n return (\n <div className=\"fmb-bento-container\">\n <div className=\"fmb-bento-grid\">\n <div className=\"fmb-box fmb-box-full\">\n <h2>{__(\"Searching for your blocks...\", \"find-my-blocks\")}</h2>\n <p>\n {__(\"Progress:\", \"find-my-blocks\")} {progress.percentage}%\n </p>\n <p>\n {__(\"Scanning batch\", \"find-my-blocks\")} {progress.currentPage}{\" \"}\n {__(\"out of\", \"find-my-blocks\")} {progress.totalPages}\n </p>\n <p>\n {__(\"Total block instances detected:\", \"find-my-blocks\")}{\" \"}\n {progress.totalBlocks}\n {\" \" + __(\"in\", \"find-my-blocks\")} {progress.totalScannedPosts}\n {\" \" + __(\"locations.\", \"find-my-blocks\")}\n </p>\n <Button\n onClick={() => abortSearch()}\n isDestructive\n variant=\"primary\"\n disabled={!isLoading}\n >\n {__(\"Abort Search\", \"find-my-blocks\")}\n </Button>\n </div>\n </div>\n </div>\n );\n\n const posts = postsWithBlock(selectedBlock);\n\n if (!searchError && foundBlocks.length > 0) {\n return (\n <Fragment>\n <div className=\"fmb-container\">\n <div className=\"fmb-grid-results-page\">\n <div className=\"fmb-box\">\n <h2>{__(\"Filters\", \"find-my-blocks\")}</h2>\n <div className=\"fmb-search-filters\">\n <SearchFilter />\n <BlockProviderFilter />\n {fmbGlobal?.conditional_blocks_installed && (\n <ConditionalBlocksFilter />\n )}\n </div>\n <h2>{__(\"Found Blocks\", \"find-my-blocks\")}</h2>\n <p>\n {__(\n \"The below blocks have been detected during the scan.\",\n \"find-my-blocks\"\n )}\n </p>\n <nav className=\"fmb-side-navigation\">\n <BlockNavigation />\n </nav>\n </div>\n\n <div>\n {selectedBlock && (\n <Fragment>\n <h2>\n <span className=\"fmb-badge\">{selectedBlock}</span>\n </h2>\n {posts?.length > 0 && (\n <p>\n {__(\"Instances of the\", \"find-my-blocks\")}{\" \"}\n <b>{selectedBlock}</b>{\" \"}\n {__(\"block has been found in these\", \"find-my-blocks\")}{\" \"}\n {posts.length ?? 0} {__(\"locations.\", \"find-my-blocks\")}\n </p>\n )}\n </Fragment>\n )}\n <CardGrid blockName={selectedBlock} posts={posts}></CardGrid>\n </div>\n </div>\n </div>\n </Fragment>\n );\n }\n\n return (\n <Fragment>\n <ErrorNotice error={searchError} />\n <div className=\"fmb-bento-container\">\n <div className=\"fmb-bento-grid\">\n <div className=\"fmb-box fmb-box-full\">\n <h2>{__(\"Get Started\", \"find-my-blocks\")}</h2>\n <p>\n {__(\n \"Find My Blocks will search through all your templates, posts and pages to find the WordPress blocks.\",\n \"find-my-blocks\"\n )}\n </p>\n\n <RadioControl\n className=\"fmb-performance-control\"\n label=\"Performance\"\n help={__(\n \"Warning! Choose the performance level that matches your server. Fetching too may posts at once may temporarily crash your site.\",\n \"find-my-blocks\"\n )}\n onChange={(val) => {\n setPostsPerRun(val);\n }}\n options={[\n {\n label: __(\n \"Low (Recommended for most sites, 10 post per run)\",\n \"find-my-blocks\"\n ),\n value: 10,\n },\n {\n label: __(\"Standard (100 posts per run)\", \"find-my-blocks\"),\n value: 100,\n },\n {\n label: __(\"Ultra (500 posts per run)\", \"find-my-blocks\"),\n value: 500,\n },\n ]}\n selected={postsPerRun ?? 10}\n />\n\n <Button\n onClick={() => startSearch()}\n variant=\"primary\"\n disabled={isLoading}\n >\n {__(\"Start Search\", \"find-my-blocks\")}\n </Button>\n </div>\n <div className=\"fmb-box\">\n <h2>{__(\"Block Tools & Resources\", \"find-my-blocks\")}</h2>\n <p>\n {__(\n \"Create faster & better WordPress sites with block tutorials from experts.\",\n \"find-my-blocks\"\n )}\n </p>\n <ul>\n <li>\n <ExternalLink\n href=\"https://findmyblocks.com?utm_source=wordpress_site&utm_medium=start&utm_campaign=find_my_blocks_active_install\"\n target=\"_blank\"\n >\n findmyblocks.com\n </ExternalLink>\n </li>\n <li>\n <ExternalLink\n href=\"https://conditionalblocks.com/?utm_source=wordpress_site&utm_medium=start&utm_campaign=find_my_blocks_active_install\"\n target=\"_blank\"\n >\n Conditional Blocks plugin\n </ExternalLink>\n </li>\n <li>\n <ExternalLink\n href=\"https://morganhvidt.com/?utm_source=wordpress_site&utm_medium=start&utm_campaign=find_my_blocks_active_install\"\n target=\"_blank\"\n >\n @MorganHvidt\n </ExternalLink>\n {__(\"(Developer) \", \"find-my-blocks\")}\n </li>\n </ul>\n </div>\n <div className=\"fmb-box\">\n <h2>{__(\"Support Development\", \"find-my-blocks\")}</h2>\n <p>\n {__(\n \"I'm building Find My Blocks in my free time. If you find it useful, please consider donating, or contributing to the project.\",\n \"find-my-blocks\"\n )}{\" \"}\n <em>- Morgan Hvidt</em>\n </p>\n <div style={{ marginTop: \"30px\" }}>\n <Button\n isSecondary\n target=\"_blank\"\n href=\"https://github.com/morganhvidt/find-my-blocks/\"\n >\n {__(\"Contribute on Github\", \"find-my-blocks\")}\n </Button>{\" \"}\n <Button\n style={{ marginLeft: \"10px\" }}\n isSecondary\n target=\"_blank\"\n href=\"https://morganhvidt.com/donate/\"\n >\n {__(\"Donate to development\", \"find-my-blocks\")}\n </Button>\n </div>\n </div>\n </div>\n </div>\n </Fragment>\n );\n}\n\nconst ErrorNotice = ({ error }) => {\n if (error) {\n return (\n <Notice className=\"fmb-error-notice\" isDismissible={false} status=\"error\">\n {error}\n </Notice>\n );\n }\n\n return null;\n};\n\nfunction SearchFilter({ className }) {\n const { finder, preferences } = useFindMyBlocks();\n\n const [searchInput, setSearchInput] = useState(\"\");\n\n const handleSearch = (value) => {\n setSearchInput(value);\n finder.setFilters((prev) => ({\n ...prev,\n name: value.length ? value : false,\n }));\n };\n\n return <SearchControl value={searchInput} onChange={handleSearch} />;\n}\n\n/**\n * Component for filtering block providers.\n */\nfunction BlockProviderFilter() {\n const { finder, preferences } = useFindMyBlocks();\n\n const [blockProvider, setBlockProvider] = useState(\n preferences?.selectedProvider ?? false\n );\n\n const handleChange = (value) => {\n setBlockProvider(value);\n preferences?.setSelectedProvider(value);\n finder.setFilters((prev) => ({\n ...prev,\n blockProvider: value ?? false,\n }));\n };\n\n const providers = getUniqueProviders(finder.foundBlocks);\n\n return (\n <ComboboxControl\n allowReset\n label=\"Block Provider\"\n help=\"Core or third-party block providers\"\n value={blockProvider}\n onChange={handleChange}\n options={providers}\n onFilterValueChange={(inputValue) =>\n setBlockProvider(\n providers.filter((option) =>\n option.label.toLowerCase().startsWith(inputValue.toLowerCase())\n )\n )\n }\n />\n );\n}\n/**\n * Conditional Blocks Integration.\n */\nconst ConditionalBlocksFilter = () => {\n const { finder } = useFindMyBlocks();\n\n const handleChange = (value) => {\n finder.setFilters((prev) => ({\n ...prev,\n hasConditionalBlocks: value ? true : false,\n }));\n };\n\n return (\n <CheckboxControl\n label=\"Conditional Blocks\"\n help={__(\n \"Only blocks with visibility changed by the Conditional Blocks plugin\",\n \"find-my-blocks\"\n )}\n checked={finder?.filters?.hasConditionalBlocks}\n onChange={handleChange}\n />\n );\n};\n\nexport default SearchPage;\n","/**\n * Get unique providers from a list of blocks.\n * @param {Array} blocks - The list of blocks.\n * @returns {Array} The unique providers.\n */\nexport function getUniqueProviders(blocks) {\n return blocks.reduce((uniqueProviders, block) => {\n const provider = block.name.split(\"/\")[0] ?? false;\n if (!uniqueProviders.some((prov) => prov.value === provider)) {\n uniqueProviders.push({ value: provider, label: provider });\n }\n return uniqueProviders;\n }, []);\n}\n","\"use client\";\nimport{jsx as e}from\"react/jsx-runtime\";import{useLayoutEffect as t,useEffect as n,useRef as o,memo as r,useMemo as i,useReducer as s,forwardRef as l,useImperativeHandle as c}from\"react\";import{flushSync as u}from\"react-dom\";const a=Math.min,f=Math.max,d=Math.abs,h=Array.isArray,_=setTimeout,g=(e,t,n)=>a(n,f(t,e)),p=e=>null!=e,v=e=>[...e].sort(((e,t)=>e-t)),m=\"function\"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},w=e=>{let t,n;return(...o)=>(t||(t=!0,n=e(...o)),n)},S=-1,y=(e,t,n)=>{const o=n?\"unshift\":\"push\";for(let n=0;n<t;n++)e[o](S);return e},b=(e,t)=>{const n=e.t[t];return n===S?e.o:n},x=(e,t,n)=>{const o=e.t[t]===S;return e.t[t]=n,e.i=a(t,e.i),o},z=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let n=e.i,o=e.u[n];for(;n<t;)o+=b(e,n),e.u[++n]=o;return e.i=t,o},I=(e,t,n)=>{for(;n>=0&&n<e.l;){const o=z(e,n);if(o<=t){if(o+b(e,n)>t)break;n++}else n--}return g(n,0,e.l-1)},k=(e,t,n)=>{const o=t-e.l;return e.i=n?-1:a(t-1,e.i),e.l=t,o>0?(y(e.u,o),y(e.t,o,n),e.o*o):(e.u.splice(o),(n?e.t.splice(0,-o):e.t.splice(o)).reduce(((t,n)=>t-(n===S?e.o:n)),0))},R=\"undefined\"!=typeof window,C=()=>document.documentElement,M=e=>e.ownerDocument,T=e=>e.defaultView,H=/*#__PURE__*/w((()=>!!R&&\"rtl\"===getComputedStyle(C()).direction)),W=/*#__PURE__*/w((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),E=/*#__PURE__*/w((()=>\"scrollBehavior\"in C().style)),J=e=>f(e.h(),e._()),B=(e,t,n,o,r)=>(1!==o&&(e-=f(0,n)),2!==o&&(t+=f(0,n)),[f(e,0),a(t,r-1)]),O=(e,t=40,n=0,o,r=!1,i=0)=>{let s=!!n,l=[],c=0,u=0,h=0,_=0,g=0,p=0,m=0,w=0,R=s?[0,f(n-1,0)]:null,C=[0,0],M=0;const T=((e,t,n)=>({o:n?n[1]:t,t:n&&n[0]?y(n[0].slice(0,a(e,n[0].length)),f(0,e-n[0].length)):y([],e),l:e,i:-1,u:y([],e)}))(e,t,o),H=new Set,E=()=>u-i,J=e=>((e,t,n,o)=>{const r=I(e,t,a(n,e.l-1));return[r,I(e,t+o,r)]})(T,e,C[0],c),B=()=>(e=>e.l?z(e,e.l-1)+b(e,e.l-1):0)(T),O=e=>z(T,e)-g,L=e=>b(T,e),$=e=>{e&&(W()&&0!==m?g+=e:(_+=e,h++))};return{p:()=>l,v:()=>(e=>[[...e.t],e.o])(T),m:()=>p?C:(C=J(f(0,E()+g+_)),R?[a(C[0],R[0]),f(C[1],R[1])]:C),S:e=>T.t[e]===S,I:()=>!!R&&T.t.slice(f(0,R[0]-1),a(T.l-1,R[1]+1)+1).includes(S),k:O,R:L,C:()=>T.l,M:()=>u,T:()=>m,_:()=>c,H:()=>i,h:B,W:()=>h,J:()=>(p=_,_=0,[p,2===w]),B(e,t){const n=[e,t];return H.add(n),()=>{H.delete(n)}},O(e,t){let n,o,a=0;switch(e){case 1:{const e=p;p=0;const n=t-u,r=d(n);e&&r<d(e)+1||0!==w||(m=n<0?2:1),s&&(R=null,s=!1),u=t,a=4;const i=E();i>=-c&&i<=B()&&(a+=1,o=r>c);break}case 2:a=8,0!==m&&(n=!0,a+=1),m=0,w=0,R=null;break;case 3:{const e=t.filter((([e,t])=>T.t[e]!==t));if(!e.length)break;$(e.reduce(((e,[t,n])=>((2===w||(R?t<R[0]:O(t)+(0===m&&0===w?L(t):0)<E()))&&(e+=n-L(t)),e)),0));for(const[t,n]of e){const e=L(t),o=x(T,t,n);r&&(M+=n,o||(M-=e))}r&&c&&M>c&&($(((e,t)=>{let n=0;const o=e.t.filter(((e,o)=>{const r=e!==S;return r&&o<t&&n++,r})),r=e.o;return e.i=-1,((e.o=(e=>{const t=v(e),n=e.length/2|0;return t.length%2==0?(t[n-1]+t[n])/2:t[n]})(o))-r)*f(t-n,0)})(T,C[0])),r=!1),a=3,o=!0;break}case 4:c!==t&&(c=t,a=3);break;case 5:t[1]?($(k(T,t[0],!0)),w=2,a=1):k(T,t[0]);break;case 6:i=t;break;case 7:w=1;break;case 8:R=J(t),a=1}a&&(l=[],n&&g&&(_+=g,g=0,h++),H.forEach((([e,t])=>{a&e&&t(o)})))}}},L=R?t:n,$=(e,t)=>t&&H()?-e:e,A=(e,t,n,o,r,i)=>{const s=Date.now;let l=0,c=!1,u=!1,a=!1,f=!1;const d=(()=>{let t;const n=()=>{p(t)&&clearTimeout(t)},o=()=>{n(),t=_((()=>{t=null,(()=>{if(c||u)return c=!1,void d();a=!1,e.O(2)})()}),150)};return o.L=n,o})(),h=()=>{l=s(),a&&(f=!0),i&&e.O(6,i()),e.O(1,o()),d()},g=t=>{if(c||0===e.T()||t.ctrlKey)return;const o=s()-l;150>o&&50<o&&(n?t.deltaX:t.deltaY)&&(c=!0)},v=()=>{u=!0,a=f=!1},m=()=>{u=!1,W()&&(a=!0)};return t.addEventListener(\"scroll\",h),t.addEventListener(\"wheel\",g,{passive:!0}),t.addEventListener(\"touchstart\",v,{passive:!0}),t.addEventListener(\"touchend\",m,{passive:!0}),{$:()=>{t.removeEventListener(\"scroll\",h),t.removeEventListener(\"wheel\",g),t.removeEventListener(\"touchstart\",v),t.removeEventListener(\"touchend\",m),d.L()},A:()=>{const[t,i]=e.J();t&&(r($(t,n),i,f),f=!1,i&&e._()>e.h()&&e.O(1,o()))}}},D=(e,t)=>{let n,o,r;const i=t?\"scrollLeft\":\"scrollTop\",s=t?\"overflowX\":\"overflowY\",l=async(o,s)=>{if(!n)return void m((()=>l(o,s)));r&&r();const c=()=>{let t;return[new Promise(((e,n)=>{t=e,_(r=n,150)})),e.B(2,(()=>{t&&t()}))]};if(s&&E()){for(;e.O(8,o()),e.I();){const[e,t]=c();try{await e}catch(e){return}finally{t()}}n.scrollTo({[t?\"left\":\"top\"]:$(o(),t),behavior:\"smooth\"})}else for(;;){const[r,s]=c();try{n[i]=$(o(),t),e.O(7),await r}catch(e){return}finally{s()}}};return{D(l){n=l,o=A(e,l,t,(()=>$(l[i],t)),((t,n,o)=>{if(o){const e=l.style,t=e[s];e[s]=\"hidden\",_((()=>{e[s]=t}))}n?(l[i]=e.M()+t,r&&r()):l[i]+=t}))},$(){o&&o.$()},P(e){l((()=>e))},V(t){t+=e.M(),l((()=>t))},X(t,{align:n,smooth:o,offset:r=0}={}){if(t=g(t,0,e.C()-1),\"nearest\"===n){const o=e.k(t),r=e.M();if(o<r)n=\"start\";else{if(!(o+e.R(t)>r+e._()))return;n=\"end\"}}l((()=>r+e.H()+e.k(t)+(\"end\"===n?e.R(t)-e._():\"center\"===n?(e.R(t)-e._())/2:0)),o)},A:()=>{o&&o.A()}}},P=(e,t)=>{let n;return{D(o){const r=t?\"scrollX\":\"scrollY\",i=M(o),s=T(i),l=i.body,c=(e,t,n,o=0)=>{const r=n?\"offsetLeft\":\"offsetTop\",i=o+(n&&H()?s.innerWidth-e[r]-e.offsetWidth:e[r]),l=e.offsetParent;return e!==t&&l?c(l,t,n,i):i};n=A(e,s,t,(()=>$(s[r],t)),((n,o)=>{o?s.scroll({[t?\"left\":\"top\"]:e.M()+n}):s.scrollBy(t?n:0,t?0:n)}),(()=>c(o,l,t)))},$(){n&&n.$()},A:()=>{n&&n.A()}}},V=(e,t)=>{const n=D(e,!1),o=D(t,!0);return{D(e){n.D(e),o.D(e)},$(){n.$(),o.$()},P(e,t){n.P(t),o.P(e)},V(e,t){n.V(t),o.V(e)},X(e,t){n.X(t),o.X(e)},A(){n.A(),o.A()}}},X=\"current\",Y=(e,t)=>{if(h(e))for(const n of e)Y(n,t);else p(e)&&\"boolean\"!=typeof e&&t.push(e)},j=(e,t)=>{const n=e.key;return p(n)?n:\"_\"+t},q=e=>{const t=o();return t[X]||(t[X]=e())},U=e=>{const t=o(e);return L((()=>{t[X]=e}),[e]),t},F=e=>{let t;return{D(n){(t||(t=new(T(M(n)).ResizeObserver)(e))).observe(n)},Y(e){t.unobserve(e)},$(){t&&t.disconnect()}}},G=(e,t)=>{let n;const o=t?\"width\":\"height\",r=new WeakMap,i=F((t=>{const i=[];for(const{target:s,contentRect:l}of t)if(s.offsetParent)if(s===n)e.O(4,l[o]);else{const e=r.get(s);p(e)&&i.push([e,l[o]])}i.length&&e.O(3,i)}));return{j(e){i.D(n=e)},q:(e,t)=>(r.set(e,t),i.D(e),()=>{r.delete(e),i.Y(e)}),$:i.$}},K=(e,t)=>{const n=t?\"width\":\"height\",o=t?\"innerWidth\":\"innerHeight\",r=new WeakMap,i=F((t=>{const o=[];for(const{target:e,contentRect:i}of t){if(!e.offsetParent)continue;const t=r.get(e);p(t)&&o.push([t,i[n]])}o.length&&e.O(3,o)}));let s;return{j(t){const n=T(M(t)),r=()=>{e.O(4,n[o])};n.addEventListener(\"resize\",r),r(),s=()=>{n.removeEventListener(\"resize\",r)}},q:(e,t)=>(r.set(e,t),i.D(e),()=>{r.delete(e),i.Y(e)}),$(){s&&s(),i.$()}}},N=(e,t)=>{let n;const o=\"height\",r=\"width\",i=new WeakMap,s=new Set,l=new Set,c=new Map,u=(e,t)=>`${e}-${t}`,a=F((a=>{const d=new Set,h=new Set;for(const{target:s,contentRect:l}of a)if(s.offsetParent)if(s===n)e.O(4,l[o]),t.O(4,l[r]);else{const e=i.get(s);if(e){const[t,n]=e,i=u(t,n),s=c.get(i),a=[l[o],l[r]];let f,_;s?(s[0]!==a[0]&&(f=!0),s[1]!==a[1]&&(_=!0)):f=_=!0,f&&d.add(t),_&&h.add(n),(f||_)&&c.set(i,a)}}if(d.size){const t=[];d.forEach((e=>{let n=0;l.forEach((t=>{const o=c.get(u(e,t));o&&(n=f(n,o[0]))})),n&&t.push([e,n])})),e.O(3,t)}if(h.size){const e=[];h.forEach((t=>{let n=0;s.forEach((e=>{const o=c.get(u(e,t));o&&(n=f(n,o[1]))})),n&&e.push([t,n])})),t.O(3,e)}}));return{j(e){a.D(n=e)},q:(e,t,n)=>(i.set(e,[t,n]),s.add(t),l.add(n),a.D(e),()=>{i.delete(e),a.Y(e)}),$:a.$}},Q=/*#__PURE__*/r((({U:t,F:n,G:r,K:s,N:l,Z:c,ee:u,te:a})=>{const f=o(null);L((()=>n(f[X],r)),[r]);const d=i((()=>{const e={margin:0,padding:0,position:l&&a?void 0:\"absolute\",[u?\"height\":\"width\"]:\"100%\",[u?\"top\":\"left\"]:0,[u?H()?\"right\":\"left\":\"top\"]:s,visibility:!l||a?\"visible\":\"hidden\"};return u&&(e.display=\"flex\"),e}),[s,l,a]);return e(c,\"string\"==typeof c?{ref:f,style:d,children:t}:{ref:f,style:d,index:r,children:t})})),Z=e=>s(e.p,void 0,e.p)[1],ee=(e,t)=>i((()=>{if(\"function\"==typeof e)return[e,t||0];const n=(e=>{const t=[];return Y(e,t),t})(e);return[e=>n[e],n.length]}),[e,t]),te=/*#__PURE__*/l((({children:t,count:r,overscan:i=4,keepMounted:s,itemSize:l,shift:a,horizontal:f,cache:d,startMargin:h,ssrCount:_,as:g=\"div\",item:p=\"div\",scrollRef:w,onScroll:S,onScrollEnd:y,onRangeChange:b},x)=>{const[z,I]=ee(t,r),k=o(null),R=o(!!_),C=U(S),M=U(y),[T,H,W,E]=q((()=>{const e=!!f,t=O(I,l,_,d,!l,h);return[t,G(t,e),D(t,e),e]}));I!==T.C()&&T.O(5,[I,a]);const $=Z(T),[A,P]=T.m(),V=T.T(),Y=T.W(),F=T.h(),K=[],[N,te]=B(A,P,i,V,I),ne=t=>{const n=z(t);return e(Q,{F:H.q,G:t,K:T.k(t),N:T.S(t),Z:p,U:n,ee:E,te:R[X]},j(n,t))};L((()=>{R[X]=!1;const e=T.B(1,(e=>{e?u($):$()})),t=T.B(4,(()=>{C[X]&&C[X](T.M())})),n=T.B(8,(()=>{M[X]&&M[X]()})),o=e=>{H.j(e),W.D(e)};return w?m((()=>o(w[X]))):o(k[X].parentElement),()=>{e(),t(),n(),H.$(),W.$()}}),[]),L((()=>{W.A()}),[Y]),n((()=>{b&&b(A,P)}),[A,P]),c(x,(()=>({get cache(){return T.v()},get scrollOffset(){return T.M()},get scrollSize(){return J(T)},get viewportSize(){return T._()},getItemOffset:T.k,scrollToIndex:W.X,scrollTo:W.P,scrollBy:W.V})),[]);for(let e=N,t=te;e<=t;e++)K.push(ne(e));if(s){const e=[],t=[];v(s).forEach((n=>{n<N&&e.push(ne(n)),n>te&&t.push(ne(n))})),K.unshift(...e),K.push(...t)}return e(g,{ref:k,style:{overflowAnchor:\"none\",flex:\"none\",position:\"relative\",visibility:\"hidden\",width:E?F:\"100%\",height:E?\"100%\":F,pointerEvents:0!==V?\"none\":\"auto\"},children:K})})),ne=/*#__PURE__*/l((({children:t,count:n,overscan:r,keepMounted:i,itemSize:s,shift:l,horizontal:c,reverse:u,cache:a,ssrCount:f,item:d,onScroll:h,onScrollEnd:_,onRangeChange:g,style:p,...v},m)=>{const w=o(null),S=u&&!c;let y=e(te,{ref:m,scrollRef:S?w:void 0,count:n,overscan:r,keepMounted:i,itemSize:s,shift:l,horizontal:c,cache:a,ssrCount:f,item:d,onScroll:h,onScrollEnd:_,onRangeChange:g,children:t});return S&&(y=e(\"div\",{style:{visibility:\"hidden\",display:\"flex\",flexDirection:\"column\",justifyContent:\"flex-end\",minHeight:\"100%\"},children:y})),e(\"div\",{ref:w,...v,style:{display:c?\"inline-block\":\"block\",[c?\"overflowX\":\"overflowY\"]:\"auto\",contain:\"strict\",width:\"100%\",height:\"100%\",...p},children:y})})),oe=/*#__PURE__*/l((({children:t,count:r,overscan:i=4,itemSize:s,shift:l,horizontal:a,cache:f,ssrCount:d,as:h=\"div\",item:_=\"div\",onScrollEnd:g,onRangeChange:p},v)=>{const[m,w]=ee(t,r),S=o(null),y=U(g),b=o(!!d),[x,z,I,k]=q((()=>{const e=!!a,t=O(w,s,d,f,!s);return[t,K(t,e),P(t,e),e]}));w!==x.C()&&x.O(5,[w,l]);const R=Z(x),[C,M]=x.m(),T=x.T(),H=x.W(),W=x.h(),E=[];L((()=>{b[X]=!1;const e=x.B(1,(e=>{e?u(R):R()})),t=x.B(8,(()=>{y[X]&&y[X]()})),n=S[X];return z.j(n),I.D(n),()=>{e(),t(),z.$(),I.$()}}),[]),L((()=>{I.A()}),[H]),n((()=>{p&&p(C,M)}),[C,M]),c(v,(()=>({get cache(){return x.v()}})),[]);for(let[t,n]=B(C,M,i,T,w);t<=n;t++){const n=m(t);E.push(e(Q,{F:z.q,G:t,K:x.k(t),N:x.S(t),Z:_,U:n,ee:k,te:b[X]},j(n,t)))}return e(h,{ref:S,style:{flex:\"none\",position:\"relative\",visibility:\"hidden\",width:k?W:\"100%\",height:k?\"100%\":W,pointerEvents:0!==T?\"none\":\"auto\"},children:E})})),re=(e,t)=>`${e}-${t}`,ie=/*#__PURE__*/r((({U:t,F:n,ne:r,oe:s,re:l,ie:c,se:u,le:a,N:f,Z:d})=>{const h=o(null);return L((()=>n.q(h[X],r,s)),[s,r]),e(d,{ref:h,style:i((()=>({display:\"grid\",margin:0,padding:0,position:\"absolute\",top:l,[H()?\"right\":\"left\"]:c,visibility:f?\"hidden\":\"visible\",minHeight:u,minWidth:a})),[l,c,a,u,f]),children:t})})),se=/*#__PURE__*/l((({children:t,row:n,col:r,cellHeight:s=40,cellWidth:l=100,overscan:a=2,initialRowCount:f,initialColCount:d,item:h=\"div\",style:_,...g},p)=>{const[v,m,w,S]=q((()=>{const e=O(n,s,f),t=O(r,l,d);return[e,t,N(e,t),V(e,t)]}));n!==v.C()&&v.O(5,[n]),r!==m.C()&&m.O(5,[r]);const y=Z(v),b=Z(m),[x,z]=v.m(),[I,k]=m.m(),R=v.T(),C=m.T(),M=v.W(),T=m.W(),H=J(v),W=J(m),E=o(null);L((()=>{const e=E[X],t=v.B(1,(e=>{e?u(y):y()})),n=m.B(1,(e=>{e?u(b):b()}));return w.j(e),S.D(e),()=>{t(),n(),w.$(),S.$()}}),[]),L((()=>{S.A()}),[M,T]),c(p,(()=>({get scrollTop(){return v.M()},get scrollLeft(){return m.M()},get scrollHeight(){return J(v)},get scrollWidth(){return J(m)},get viewportHeight(){return v._()},get viewportWidth(){return m._()},scrollToIndex:S.X,scrollTo:S.P,scrollBy:S.V})),[]);const $=i((()=>{const e=new Map;return(n,o)=>{let r=e.get(re(n,o));return r||e.set(re(n,o),r=t({rowIndex:n,colIndex:o})),r}}),[t]),[A,D]=B(x,z,a,R,n),[P,Y]=B(I,k,a,C,r),j=[];for(let t=A;t<=D;t++)for(let n=P;n<=Y;n++)j.push(e(ie,{F:w,ne:t,oe:n,re:v.k(t),ie:m.k(n),se:v.R(t),le:m.R(n),N:v.S(t)||m.S(n),Z:h,U:$(t,n)},re(t,n)));return e(\"div\",{ref:E,...g,style:{overflow:\"auto\",contain:\"strict\",width:\"100%\",height:\"100%\",..._},children:e(\"div\",{style:{overflowAnchor:\"none\",flex:\"none\",position:\"relative\",visibility:\"hidden\",width:W,height:H,pointerEvents:0!==R||0!==C?\"none\":\"auto\"},children:j})})}));export{ne as VList,te as Virtualizer,oe as WindowVirtualizer,se as experimental_VGrid};\n//# sourceMappingURL=index.mjs.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/**\n * global fmbGlobal\n */\nimport { Fragment, render, createRoot } from \"@wordpress/element\";\nimport { __ } from \"@wordpress/i18n\";\nimport SearchPage from \"./pages/SearchPage.js\";\nimport { FindMyBlocksProvider } from \"./context/FindMyBlocksContext.js\";\nimport PageHeader from \"./components/PageHeader/PageHeader.js\";\n\n/**\n * Embed our App to the HTML.\n */\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n const target = document.getElementById(\"find-my-blocks-app\");\n\n if (target) {\n if (createRoot) {\n createRoot(target).render(<App />);\n } else {\n render(<App />, target);\n }\n }\n});\n\n/**\n * Render Our App.\n */\nexport function App() {\n return (\n <Fragment>\n <FindMyBlocksProvider>\n <PageHeader />\n <SearchPage />\n </FindMyBlocksProvider>\n </Fragment>\n );\n}\n"],"names":["f","k","Symbol","for","m","Object","prototype","hasOwnProperty","n","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","p","key","ref","__self","__source","exports","jsx","c","a","g","b","d","e","h","call","defaultProps","$$typeof","type","props","_owner","current","module","window","BlockNavigation","finder","preferences","useFindMyBlocks","setSelectedBlock","foundBlocks","withFilters","currentActive","setCurrentActive","useState","filteredBlocks","createElement","className","style","navigation","map","block","name","active","onClick","handleLinkClick","blockName","subtitle","__","posts","length","PageHeader","children","isLoading","reset","startSearch","wrapper","header","container","logo","src","Logo","alt","headerNavigation","ExternalLink","href","target","Button","icon","variant","disabled","DropdownMenu","label","onClose","Fragment","MenuGroup","MenuItem","fmbGlobal","admin_url","Card","post","tags","useMemo","hasConditionalBlocks","push","help","variation","isSyncedPattern","count","isNested","nestedBlockType","getTags","WPCard","size","CardHeader","isBorderless","title","postType","isThirdPartyTemplate","templateProvider","post_url","edit_url","CardDivider","CardBody","tag","Tag","MemoizedCard","React","memo","CardGrid","Icon","VList","display","height","index","id","tagClass","classNames","classes","filter","Boolean","join","FindMyBlocksContext","createContext","FindMyBlocksProvider","usePreferences","searchArgs","posts_per_page","postsPerRun","contextValue","useFinder","Provider","value","context","useContext","Error","cachedFoundBlocks","setCacheFoundBlocks","useIndexedDB","cacheVersion","setCacheVersion","filtersDefault","blockProvider","setFoundBlocks","filters","setFilters","setIsLoading","searchError","setSearchError","progress","setProgress","currentPage","totalPages","percentage","totalPosts","totalBlocks","totalScannedPosts","sortOrder","setSortOrder","abortControllerRef","useRef","skipErrorRest","abort","firstLoad","useEffect","version","changeBlockSorting","order","sortedBlocks","sort","localeCompare","forEach","Array","isArray","blocks","nameFilter","toLowerCase","blockProviderFilter","reduce","matchesName","includes","matchesBlockProvider","split","async","controller","AbortController","localBatchResults","totalBlockInstances","searchStatus","signal","aborted","timeoutId","setTimeout","queryString","URLSearchParams","paged","toString","searchResponse","apiFetch","path","clearTimeout","Promise","resolve","data","scanned_posts","total_posts","total_pages","sum","Math","round","concat","error","console","errorInfo","JSON","stringify","mergedBlocks","mergeBlocks","abortSearch","log","postsWithBlock","find","blockMap","Map","newBlock","has","existingBlock","get","newPost","existingPostIndex","findIndex","set","from","values","databaseName","storeName","setValue","indexedDB","request","open","onerror","event","errorCode","onupgradeneeded","result","createObjectStore","onsuccess","transaction","objectStore","newValue","put","preferenceSubscribers","useLocalStorage","defaultValue","setData","initialLoad","setInitialLoad","existingData","parse","localStorage","getItem","handleDataChange","newData","subscribeToPreference","callback","unsubscribeFromPreference","callbacks","indexOf","splice","useCallback","setItem","notifyPreferenceSubscribers","selectedBlock","setPostsPerRun","selectedProvider","setSelectedProvider","conditionalBlocks","setConditionalBlocks","parseInt","ErrorNotice","Notice","isDismissible","status","SearchFilter","searchInput","setSearchInput","SearchControl","onChange","prev","BlockProviderFilter","_preferences$selected","setBlockProvider","providers","getUniqueProviders","ComboboxControl","allowReset","options","onFilterValueChange","inputValue","option","startsWith","ConditionalBlocksFilter","CheckboxControl","checked","isDestructive","_posts$length","conditional_blocks_installed","RadioControl","val","selected","marginTop","isSecondary","marginLeft","uniqueProviders","_block$name$split$","provider","some","prov","min","max","abs","_","t","v","queueMicrotask","then","w","o","S","y","x","i","z","l","u","I","R","C","document","documentElement","H","getComputedStyle","direction","W","test","navigator","userAgent","E","J","B","r","O","s","M","T","slice","Set","L","$","add","delete","D","scrollTo","behavior","Date","now","ctrlKey","deltaX","deltaY","addEventListener","passive","removeEventListener","A","P","V","X","align","smooth","offset","Y","j","U","G","WeakMap","defaultView","ownerDocument","observe","unobserve","disconnect","F","contentRect","offsetParent","q","Q","K","N","Z","ee","te","margin","padding","position","visibility","overscan","keepMounted","itemSize","shift","horizontal","cache","startMargin","ssrCount","as","item","scrollRef","onScroll","onScrollEnd","onRangeChange","ne","parentElement","scrollOffset","scrollSize","viewportSize","getItemOffset","scrollToIndex","scrollBy","unshift","overflowAnchor","flex","width","pointerEvents","reverse","flexDirection","justifyContent","minHeight","contain","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","definition","defineProperty","enumerable","obj","prop","App","SearchPage","getElementById","createRoot","render"],"sourceRoot":""} -
find-my-blocks/trunk/find-my-blocks.php
r3078539 r3097668 4 4 * Plugin URI: https://findmyblocks.com/ 5 5 * Description: Locate instances of WordPress blocks across your entire site. 6 * Version: 4.0. 16 * Version: 4.0.2 7 7 * Requires at least: 5.0 8 8 * Requires PHP: 7.4 … … 22 22 23 23 if ( ! defined( 'FMB_VERSION' ) ) { 24 define( 'FMB_VERSION', '4.0. 1' );24 define( 'FMB_VERSION', '4.0.2' ); 25 25 } 26 26 -
find-my-blocks/trunk/inc/register-route.php
r3078392 r3097668 65 65 $duration = microtime( true ) - $time_start; 66 66 67 } catch ( Exception$e) {67 } catch (Throwable $e) { 68 68 // Return WP Error as REST Response. 69 $error_message = $e->getMessage(); 70 71 if ( $e instanceof Error || $e instanceof Exception ) { 72 $error_message = $e->getMessage(); 73 } else { 74 $error_message = get_class( $e ) . ': ' . $e->getMessage(); 75 } 69 76 return new WP_REST_Response( [ 70 'error' => $e ->getMessage(),77 'error' => $error_message, 71 78 ], 500 ); 72 79 }
Note: See TracChangeset
for help on using the changeset viewer.